首頁 > 科技

不用GPU,稀疏化也能加速你的YOLOv3深度學習模型

2021-06-02 16:57:40

水木番 發自 凹非寺量子位 報道 | 公眾號 QbitAI

你還在為神經網路模型裡的冗餘資訊煩惱嗎?

或者手上只有CPU,對一些只能用昂貴的GPU建立的深度學習模型「望眼欲穿」嗎?

最近,創業公司Neural Magic帶來了一種名叫新的稀疏化方法,可以幫你解決煩惱,讓你的深度學習模型效率「一節更比七節強」!

Neural Magic是專門研究深度學習的稀疏方法的公司,這次他們釋出了教程:用recipe稀疏化YOLOv3

聽起來有點意思啊,讓我們來看看是怎麼實現的~

稀疏化的YOLOv3

稀疏化的YOLOv3使用剪枝(prune)量化(quantize)等演算法,可以刪除神經網路中的冗餘資訊。

這種稀疏化方法的好處可不少。

它的推斷速度更快,檔案更小。

但是因為過程太複雜,涉及的超參數又太多,很多人都不太關心這種方法。

Neural Magic的ML團隊針對必要的超參數和指令,創建了可以自主編碼的recipe。

各種不同條件下的recipe構成了一種可以滿足客戶各類需求的框架。

這樣就可以建立高度精確的pruned或pruned quantized的YOLOv3模型,從而簡化流程。

那這種稀疏化方法的靈感來源是什麼呢?

其實,Neural Magic 的Deep Sparse(深度稀疏)架構的主要靈感,是在產品硬體上模仿大腦的計算方式。

它通過利用 CPU 的大型快速快取和大型記憶體,將神經網路稀疏性與通訊局部性相結合,實現效率提升。

教程概況

本教程目錄主要包括三大模組:

創建一個預訓練的模型應用Recipe匯出推理教程的這些recipe可以幫助使用者在Ultralytics強大的訓練平臺上,使用稀疏深度學習的recipe驅動的方法插入資料。

教程中列出的示例均在VOC資料集上執行,所有結果也可通過「權重和偏差」項目公開獲得(地址見參考連結4)。

偵錯結果展示

研究團隊給出了稀疏YOLOv3目標檢測模型在Deep Sparse引擎和PyTorch上的運行情況。

這段視訊以波士頓著名地標為特色,在Neural Magic的誕生地——MIT的校園取景。

同樣的條件下,在Deep Sparse引擎上比PyTorch上效率會更高。

遇到的常見問題

如果使用者的硬體不支援量化網路來推理加速,或者對完全恢復的要求非常高,官方建議使用pruned或pruned short 的recipe。

如果使用者的硬體可以支援量化網路,如CPU 上的 VNNI 指令集,官方建議使用pruned quantized或pruned quantized short的recipe。

所以使用哪一種recipe,取決於使用者願意花多長時間訓練資料,以及對完全恢復的要求。

具體要比較這幾種recipe的話,可以參考下表。

網友:這個框架會比傳統的機器學習框架pytorch好嗎?

既然給出了和pytorch的比較視訊,就有網友發問了:

Neural Magic也使用python嗎?為什麼一個比另一個快10倍以上?我不相信像pytorch這樣傳統的機器學習框架不會得到優化。兩種模型的實現是否相同?

公司官方人員也下場解釋了:

我們擁有專利技術,可以通過減少計算和記憶體移動來使稀疏網路在CPU上更高效的運行。

雖然傳統的ML框架也能很好地實現簡單而高效的訓練過程。

但是,多加入一些優化的推理,可以實現更多的效能,尤其是在CPU上更明顯。

看來,有了以上強大的YOLOv3 模型工具和教程,使用者就可以在CPU上,以最小化的佔用空間和GPU的速度來運行深度學習模型。

這樣有用的教程,你還在等什麼?

希望教程能對大家有所幫助,歡迎在評論區分享交流訓練模型經驗~

最後介紹一下Neural Magic,有興趣的朋友可以去了解一下。

Neural Magic是一傢什麼樣的公司?

Neural Magic成立在馬薩諸塞州的劍橋。

創始人Nir Shavit和Alexander Matveev在MIT繪製大腦中的神經連線圖時,一直覺得GPU有許多限制。

因此他們停下來問自己兩個簡單的問題:

為什麼深度學習需要GPU等專用硬體?有什麼更好的方法嗎?

畢竟,人腦可以通過廣泛使用稀疏性來減少神經網路,而不是新增FLOPS來匹配神經網路,從而滿足神經網路的計算需求。

基於這種觀察和多年的多核計算經驗,他們採用了稀疏和量化深度學習網路的技術,並使其能夠以GPU的速度或更高的速度在商用CPU上運行。

這樣,資料科學家在模型設計和輸入大小上就不需要再做妥協,也沒必要用稀缺且昂貴的GPU資源。

Brian Stevens

Neural Magic的CEO,Red Hat和Google Cloud的前CTO。

Nir Shavit

Neural Magic聯合創始人。

麻省理工學院教授,他目前的研究涉及為多處理器設計可伸縮軟體的技術,尤其是多核計算機的併發資料結構。

Alexander Matveev

Neural Magic首席技術官兼聯合創始人。

麻省理工學院前研究科學家,專門研究AI多核演算法和系統。


IT145.com E-mail:sddin#qq.com