讀CCF神經網路壓縮及加速的相關思考

2021-10-22 07:03:57 字數 1121 閱讀 7687

指標數量級上的認識,cpu 10~100gflop/s的峰值效能, gpu為10tflop/s,功耗下限(嵌入式gpu) 10w, 而物聯網極低功耗要求為1mw ~ 1w。

基於fpga和asic的加速器設計可以分為兩類,一類是將神經網路按層/模組對應硬化,主要在fpga上實現,借助hls等輔助程式設計;另一類是設計xpu,含指令集和編譯器設計。

精巧的記憶體架構設計可為計算單元提供足夠的資料,從而確保計算模型的流水線不會因為缺少資料而出現停頓或氣泡,這是實現高效率的關鍵。為此,我們需要同時考慮片上和片外儲存以設計合理的層次化儲存架構

儲存層次化設計真的不過時,各種方法預取資料、掩蓋latency。

專用的神經網路加速器設計,如果想通用的加速不同的神經網路模型,是否自身就矛盾。亦或者說,這種針對邊邊角角的縫補,加速deep learning可以,換乙個deeper or deepest learning的應用場景也可以,換成no learning也可以。如此看來,xpu是一種專用硬體的「通用」化。

迴圈展開不能全展,否則會出現利用率不足的問題,這一點讓我模擬想象到了coalesce以更高利用儲存頻寬,可能模擬不合理。

像迴圈展開這種在nn之前便有的體系機構優化技術,nn誕生之後特有的優化技術有哪些?

roofline模型細節不了解,是像benchmark一類的代表性負載?還是特意針對訪存和計算比率設計的沒有實際應用意義的模型?

神經網路加速器設計相比其他體系結構設計來說,workload好找,優化空間更大,實驗更易設計實現,屬實相對容易發*****。

1 tops/w的斜虛線是fpga和asic兩種硬體平台的能效比的分水嶺。因此,設計前期通常在fpga平台上實現快速的功能驗證和效能評估。為了實現更高的能效比,最終還是需要以asic的形式實現定製化的ai晶元。此外,我們還發現目前學術界在逐漸突破1000 tops/w的能效比上界,而工業界主流產品的能效比還處於10~100 tops/w之間。這10~100倍的能效比差距給超高能效ai晶元的實際落地帶來了不少挑戰。我們相信諸如混合精度、動態和結構化稀疏以及存內計算等技術將是下一代神經網路高效部署的關鍵性技術,而虛擬化[40]將是未來ai雲計算的重要趨勢。

ref.

針對神經網路高效部署的軟硬體協同優化

深度神經網路加速與壓縮總結

low rank pruning 深度網路加速和壓縮的第二種方法是pruning,簡單來說就是把神經網路中的連線剪掉,剪掉以後整個網路複雜度特別是網路模型大小要減小很多。最早在iclr2016上史丹福大學提出了一種稱為deep compression的隨機剪枝方法。由於隨機剪枝方法對硬體非常不友好,...

《卷積神經網路的壓縮與加速》概述

有四種常用方法 網路剪枝,模型量化,低秩估計,模型蒸餾。網路剪枝主要有下列幾種方法 filter level剪枝 通過刪除filter來減少通道數量 group level剪枝即kernel size縮小 如將33變成32,或者3 3變成固定形狀包含若干個0的新核 稀疏卷積的方法 fine grai...

優化神經網路的方法,加速訓練

1.bgd法。batch gradient descent批梯度下降 2.sgd法。stochastic gradient descent隨機梯度下降,也稱mbgd minibatch gradient descent 3.momentum法。模擬動量 4.nesterov momentum法,對3...