0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么?不用GPU也能加速你的YOLOv3深度學(xué)習模型

新機器視覺 ? 來源:量子位 ? 作者:量子位 ? 2021-06-10 15:33 ? 次閱讀

你還在為神經(jīng)網(wǎng)絡(luò)模型里的冗余信息煩惱嗎?

或者手上只有CPU,對一些只能用昂貴的GPU建立的深度學(xué)習模型“望眼欲穿”嗎?

最近,創(chuàng)業(yè)公司Neural Magic帶來了一種名叫新的稀疏化方法,可以幫你解決煩惱,讓你的深度學(xué)習模型效率“一節(jié)更比七節(jié)強”!

Neural Magic是專門研究深度學(xué)習的稀疏方法的公司,這次他們發(fā)布了教程:用recipe稀疏化YOLOv3。

聽起來有點意思啊,讓我們來看看是怎么實現(xiàn)的~

稀疏化的YOLOv3

稀疏化的YOLOv3使用剪枝(prune)和量化(quantize)等算法,可以刪除神經(jīng)網(wǎng)絡(luò)中的冗余信息。

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

它的推斷速度更快,文件更小。

但是因為過程太復(fù)雜,涉及的超參數(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)絡(luò)稀疏性與通信局部性相結(jié)合,實現(xiàn)效率提升。

教程概況

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

創(chuàng)建一個預(yù)訓(xùn)練的模型

應(yīng)用Recipe

導(dǎo)出推理教程的這些recipe可以幫助用戶在Ultralytics強大的訓(xùn)練平臺上,使用稀疏深度學(xué)習的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)絡(luò)來推理加速,或者對完全恢復(fù)的要求非常高,官方建議使用pruned或pruned short 的recipe。

如果用戶的硬件可以支持量化網(wǎng)絡(luò),如CPU 上的 VNNI 指令集,官方建議使用pruned quantized或pruned quantized short的recipe。

所以使用哪一種recipe,取決于用戶愿意花多長時間訓(xùn)練數(shù)據(jù),以及對完全恢復(fù)的要求。

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

ce8f673a-c9b7-11eb-9e57-12bb97331649.png

網(wǎng)友:這個框架會比傳統(tǒng)的機器學(xué)習框架pytorch好嗎?

既然給出了和pytorch的比較視頻,就有網(wǎng)友發(fā)問了:

Neural Magic也使用python嗎?為什么一個比另一個快10倍以上?我不相信像pytorch這樣傳統(tǒng)的機器學(xué)習框架不會得到優(yōu)化。兩種模型的實現(xiàn)是否相同?

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

我們擁有專利技術(shù),可以通過減少計算和內(nèi)存移動來使稀疏網(wǎng)絡(luò)在CPU上更高效的運行。

雖然傳統(tǒng)的ML框架也能很好地實現(xiàn)簡單而高效的訓(xùn)練過程。

但是,多加入一些優(yōu)化的推理,可以實現(xiàn)更多的性能,尤其是在CPU上更明顯。

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

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

希望教程能對大家有所幫助,歡迎在評論區(qū)分享交流訓(xùn)練模型經(jīng)驗~

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

Neural Magic是一家什么樣的公司?

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

創(chuàng)始人Nir Shavit和Alexander Matveev在MIT繪制大腦中的神經(jīng)連接圖時,一直覺得GPU有許多限制。

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

為什么深度學(xué)習需要GPU等專用硬件?

有什么更好的方法嗎?

畢竟,人腦可以通過廣泛使用稀疏性來減少神經(jīng)網(wǎng)絡(luò),而不是添加FLOPS來匹配神經(jīng)網(wǎng)絡(luò),從而滿足神經(jīng)網(wǎng)絡(luò)的計算需求。

基于這種觀察和多年的多核計算經(jīng)驗,他們采用了稀疏和量化深度學(xué)習網(wǎng)絡(luò)的技術(shù),并使其能夠以GPU的速度或更高的速度在商用CPU上運行。

這樣,數(shù)據(jù)科學(xué)家在模型設(shè)計和輸入大小上就不需要再做妥協(xié),也沒必要用稀缺且昂貴的GPU資源。

Brian Stevens

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

Nir Shavit

Neural Magic聯(lián)合創(chuàng)始人。

麻省理工學(xué)院教授,他目前的研究涉及為多處理器設(shè)計可伸縮軟件的技術(shù),尤其是多核計算機的并發(fā)數(shù)據(jù)結(jié)構(gòu)。

Alexander Matveev

Neural Magic首席技術(shù)官兼聯(lián)合創(chuàng)始人。

麻省理工學(xué)院前研究科學(xué)家,專門研究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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10772

    瀏覽量

    210438
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4632

    瀏覽量

    128442
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1197

    瀏覽量

    24592
  • voc
    voc
    +關(guān)注

    關(guān)注

    0

    文章

    98

    瀏覽量

    15644

原文標題:不用GPU,稀疏化也能加速你的YOLOv3深度學(xué)習模型

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    AI大模型深度學(xué)習的關(guān)系

    AI大模型深度學(xué)習之間存在著密不可分的關(guān)系,它們互為促進,相輔相成。以下是對兩者關(guān)系的介紹: 一、深度學(xué)習是AI大
    的頭像 發(fā)表于 10-23 15:25 ?82次閱讀

    深度學(xué)習GPU加速效果如何

    圖形處理器(GPU)憑借其強大的并行計算能力,成為加速深度學(xué)習任務(wù)的理想選擇。
    的頭像 發(fā)表于 10-17 10:07 ?76次閱讀

    FPGA做深度學(xué)習走多遠?

    ,共同進步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:FPGA做深度學(xué)習走多遠?現(xiàn)在用FPGA做深度學(xué)習
    發(fā)表于 09-27 20:53

    深度學(xué)習模型量化方法

    深度學(xué)習模型量化是一種重要的模型輕量化技術(shù),旨在通過減少網(wǎng)絡(luò)參數(shù)的比特寬度來減小模型大小和加速
    的頭像 發(fā)表于 07-15 11:01 ?412次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習</b><b class='flag-5'>模型</b>量化方法

    深度學(xué)習中的模型權(quán)重

    深度學(xué)習這一充滿無限可能性的領(lǐng)域中,模型權(quán)重(Weights)作為其核心組成部分,扮演著至關(guān)重要的角色。它們不僅是模型學(xué)習的基石,更是
    的頭像 發(fā)表于 07-04 11:49 ?608次閱讀

    深度學(xué)習模型訓(xùn)練過程詳解

    深度學(xué)習模型訓(xùn)練是一個復(fù)雜且關(guān)鍵的過程,它涉及大量的數(shù)據(jù)、計算資源和精心設(shè)計的算法。訓(xùn)練一個深度學(xué)習模型
    的頭像 發(fā)表于 07-01 16:13 ?773次閱讀

    新手小白怎么學(xué)GPU云服務(wù)器跑深度學(xué)習?

    新手小白想用GPU云服務(wù)器跑深度學(xué)習應(yīng)該怎么做? 用個人主機通常pytorch可以跑但是LexNet,AlexNet可能就直接就跑不動,如何實現(xiàn)更經(jīng)濟便捷的實現(xiàn)GPU云服務(wù)器
    發(fā)表于 06-11 17:09

    模型時代,國產(chǎn)GPU面臨哪些挑戰(zhàn)

    ,國產(chǎn)GPU在不斷成長的過程中存在諸多挑戰(zhàn)。 ? 在大模型訓(xùn)練上存在差距 ? 大語言模型是基于深度學(xué)習
    的頭像 發(fā)表于 04-03 01:08 ?4506次閱讀
    大<b class='flag-5'>模型</b>時代,國產(chǎn)<b class='flag-5'>GPU</b>面臨哪些挑戰(zhàn)

    FPGA在深度學(xué)習應(yīng)用中或?qū)⑷〈?b class='flag-5'>GPU

    現(xiàn)場可編程門陣列 (FPGA) 解決了 GPU 在運行深度學(xué)習模型時面臨的許多問題 在過去的十年里,人工智能的再一次興起使顯卡行業(yè)受益匪淺。英偉達 (Nvidia) 和 AMD 等公
    發(fā)表于 03-21 15:19

    深入淺出Yolov3Yolov4

    Yolov3是目標檢測Yolo系列非常非常經(jīng)典的算法,不過很多同學(xué)拿到Yolov3或者Yolov4的cfg文件時,并不知道如何直觀的可視化查看網(wǎng)絡(luò)結(jié)構(gòu)。
    的頭像 發(fā)表于 01-11 10:42 ?678次閱讀
    深入淺出<b class='flag-5'>Yolov3</b>和<b class='flag-5'>Yolov</b>4

    全志V853 NPU開發(fā)之Demo使用說明

    可以看到這里選擇了 yolov3 會出現(xiàn) yolov3-model 這個選項,這個選項是提供一個測試使用的模型到系統(tǒng)中,文件較大,如果編譯打包出現(xiàn)錯誤請參閱【FAQ 常見問題 - V853】查看或
    發(fā)表于 01-08 10:04

    如何基于深度學(xué)習模型訓(xùn)練實現(xiàn)工件切割點位置預(yù)測

    Hello大家好,今天給大家分享一下如何基于深度學(xué)習模型訓(xùn)練實現(xiàn)工件切割點位置預(yù)測,主要是通過對YOLOv8姿態(tài)評估模型在自定義的數(shù)據(jù)集上訓(xùn)
    的頭像 發(fā)表于 12-22 11:07 ?682次閱讀
    如何基于<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習</b><b class='flag-5'>模型</b>訓(xùn)練實現(xiàn)工件切割點位置預(yù)測

    如何基于深度學(xué)習模型訓(xùn)練實現(xiàn)圓檢測與圓心位置預(yù)測

    Hello大家好,今天給大家分享一下如何基于深度學(xué)習模型訓(xùn)練實現(xiàn)圓檢測與圓心位置預(yù)測,主要是通過對YOLOv8姿態(tài)評估模型在自定義的數(shù)據(jù)集上
    的頭像 發(fā)表于 12-21 10:50 ?1572次閱讀
    如何基于<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習</b><b class='flag-5'>模型</b>訓(xùn)練實現(xiàn)圓檢測與圓心位置預(yù)測

    GPU深度學(xué)習中的應(yīng)用與優(yōu)勢

    學(xué)習中究竟擔當了什么樣的角色?又有哪些優(yōu)勢呢?一、GPU加速深度學(xué)習訓(xùn)練并行處理GPU的核心理念
    的頭像 發(fā)表于 12-06 08:27 ?1153次閱讀
    <b class='flag-5'>GPU</b>在<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習</b>中的應(yīng)用與優(yōu)勢

    【愛芯派 Pro 開發(fā)板試用體驗】使用yolov5s模型(官方)

    【愛芯派 Pro 開發(fā)板試用體驗】+使用yolov5s模型(官方) 配置好基本環(huán)境 如果沒有連接上網(wǎng)絡(luò)的,可以看博主寫的上一篇怎么連接網(wǎng)絡(luò) apt update apt install
    發(fā)表于 11-13 11:04