你還在為神經(jīng)網(wǎng)絡模型里的冗余信息煩惱嗎?
或者手上只有CPU,對一些只能用昂貴的GPU建立的深度學習模型“望眼欲穿”嗎?
最近,創(chuàng)業(yè)公司Neural Magic帶來了一種名叫新的稀疏化方法,可以幫你解決煩惱,讓你的深度學習模型效率“一節(jié)更比七節(jié)強”!
Neural Magic是專門研究深度學習的稀疏方法的公司,這次他們發(fā)布了教程:用recipe稀疏化YOLOv3。
聽起來有點意思啊,讓我們來看看是怎么實現(xiàn)的~
稀疏化的YOLOv3
稀疏化的YOLOv3使用剪枝(prune)和量化(quantize)等算法,可以刪除神經(jīng)網(wǎng)絡中的冗余信息。
這種稀疏化方法的好處可不少。
它的推斷速度更快,文件更小。
但是因為過程太復雜,涉及的超參數(shù)又太多,很多人都不太關(guān)心這種方法。
Neural Magic的ML團隊針對必要的超參數(shù)和指令,創(chuàng)建了可以自主編碼的recipe。
各種不同條件下的recipe構(gòu)成了一種可以滿足客戶各類需求的框架。
這樣就可以建立高度精確的pruned或pruned quantized的YOLOv3模型,從而簡化流程。
那這種稀疏化方法的靈感來源是什么呢?
其實,Neural Magic 的 Deep Sparse(深度稀疏)架構(gòu)的主要靈感,是在產(chǎn)品硬件上模仿大腦的計算方式。
它通過利用 CPU 的大型快速緩存和大型內(nèi)存,將神經(jīng)網(wǎng)絡稀疏性與通信局部性相結(jié)合,實現(xiàn)效率提升。
教程概況
本教程目錄主要包括三大模塊:
創(chuàng)建一個預訓練的模型
應用Recipe
導出推理教程的這些recipe可以幫助用戶在Ultralytics強大的訓練平臺上,使用稀疏深度學習的recipe驅(qū)動的方法插入數(shù)據(jù)。
教程中列出的示例均在VOC數(shù)據(jù)集上執(zhí)行,所有結(jié)果也可通過“權(quán)重和偏差”項目公開獲得(地址見參考鏈接4)。
調(diào)試結(jié)果展示
研究團隊給出了稀疏YOLOv3目標檢測模型在Deep Sparse引擎和PyTorch上的運行情況。
這段視頻以波士頓著名地標為特色,在Neural Magic的誕生地——MIT的校園取景。
同樣的條件下,在Deep Sparse引擎上比PyTorch上效率會更高。
遇到的常見問題
如果用戶的硬件不支持量化網(wǎng)絡來推理加速,或者對完全恢復的要求非常高,官方建議使用pruned或pruned short 的recipe。
如果用戶的硬件可以支持量化網(wǎng)絡,如CPU 上的 VNNI 指令集,官方建議使用pruned quantized或pruned quantized short的recipe。
所以使用哪一種recipe,取決于用戶愿意花多長時間訓練數(shù)據(jù),以及對完全恢復的要求。
具體要比較這幾種recipe的話,可以參考下表。
網(wǎng)友:這個框架會比傳統(tǒng)的機器學習框架pytorch好嗎?
既然給出了和pytorch的比較視頻,就有網(wǎng)友發(fā)問了:
Neural Magic也使用python嗎?為什么一個比另一個快10倍以上?我不相信像pytorch這樣傳統(tǒng)的機器學習框架不會得到優(yōu)化。兩種模型的實現(xiàn)是否相同?
公司官方人員也下場解釋了:
我們擁有專利技術(shù),可以通過減少計算和內(nèi)存移動來使稀疏網(wǎng)絡在CPU上更高效的運行。
雖然傳統(tǒng)的ML框架也能很好地實現(xiàn)簡單而高效的訓練過程。
但是,多加入一些優(yōu)化的推理,可以實現(xiàn)更多的性能,尤其是在CPU上更明顯。
看來,有了以上強大的YOLOv3 模型工具和教程,用戶就可以在CPU上,以最小化的占用空間和GPU的速度來運行深度學習模型。
這樣有用的教程,你還在等什么?
希望教程能對大家有所幫助,歡迎在評論區(qū)分享交流訓練模型經(jīng)驗~
最后介紹一下Neural Magic,有興趣的朋友可以去了解一下。
Neural Magic是一家什么樣的公司?
Neural Magic成立在馬薩諸塞州的劍橋。
創(chuàng)始人Nir Shavit和Alexander Matveev在MIT繪制大腦中的神經(jīng)連接圖時,一直覺得GPU有許多限制。
因此他們停下來問自己兩個簡單的問題:
為什么深度學習需要GPU等專用硬件?
有什么更好的方法嗎?
畢竟,人腦可以通過廣泛使用稀疏性來減少神經(jīng)網(wǎng)絡,而不是添加FLOPS來匹配神經(jīng)網(wǎng)絡,從而滿足神經(jīng)網(wǎng)絡的計算需求。
基于這種觀察和多年的多核計算經(jīng)驗,他們采用了稀疏和量化深度學習網(wǎng)絡的技術(shù),并使其能夠以GPU的速度或更高的速度在商用CPU上運行。
這樣,數(shù)據(jù)科學家在模型設(shè)計和輸入大小上就不需要再做妥協(xié),也沒必要用稀缺且昂貴的GPU資源。
Brian Stevens
Neural Magic的CEO,Red Hat和Google Cloud的前CTO。
Nir Shavit
Neural Magic聯(lián)合創(chuàng)始人。
麻省理工學院教授,他目前的研究涉及為多處理器設(shè)計可伸縮軟件的技術(shù),尤其是多核計算機的并發(fā)數(shù)據(jù)結(jié)構(gòu)。
Alexander Matveev
Neural Magic首席技術(shù)官兼聯(lián)合創(chuàng)始人。
麻省理工學院前研究科學家,專門研究AI多核算法和系統(tǒng)。
參考鏈接:
[1]https://github.com/neuralmagic/sparseml/blob/main/integrations/ultralytics-yolov3/t2.utorials/sparsifying_yolov3_using_recipes.md
[2]https://neuralmagic.com/blog/sparsifying-yolov3-using-recipes-tutorial/
[3]https://arxiv.org/pdf/1804.02767.pdf
[4]https://wandb.ai/neuralmagic/yolov3-spp-lrelu-voc
編輯:jq
-
cpu
+關(guān)注
關(guān)注
68文章
10854瀏覽量
211578 -
gpu
+關(guān)注
關(guān)注
28文章
4729瀏覽量
128890 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1208瀏覽量
24689 -
voc
+關(guān)注
關(guān)注
0文章
105瀏覽量
15682
原文標題:不用GPU,稀疏化也能加速你的YOLOv3深度學習模型
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論