Vitis AI 是AMD 開發(fā)套件,用于在 AMD 硬件平臺上進行 AI 推斷。機器學習中的推斷是計算密集型流程,需要大量存儲器帶寬以滿足各種應用的低時延和高吞吐量要求。
Vitis AI Optimizer(優(yōu)化器)支持對神經(jīng)網(wǎng)絡模型進行最優(yōu)化。當前,Vitis AI 優(yōu)化器僅包含一項工具,稱為“pruner”(剪枝器)。Vitis AI 優(yōu)化器用于移除神經(jīng)網(wǎng)絡中的冗余內(nèi)核,從而減少推斷的總體計算成本。由 Vitis AI 剪枝器所生成的剪枝后的模型隨后由 Vitis AI 量化器進行量化,然后部署到 AMD FPGA、SoC 或 ACAP 器件。
VAI優(yōu)化器
本文檔涵蓋了以下設計進程:機器學習和數(shù)據(jù)研究——將機器學習模型從 PyTorch、TensorFlow 或其它熱門框架導入 Vitis AI,然后對其有效性進行最優(yōu)化和評估。本文檔中適用于此設計進程的主題包括:
?第 2 章:剪枝
?第 3 章:處理 Vitis AI 優(yōu)化器
由于版面有限,本文選取了剪枝章節(jié)中的部分內(nèi)容進行分享。如果您希望獲取完整版用戶指南,請至文末掃描二維碼下載完整版進行瀏覽。
剪枝
神經(jīng)網(wǎng)絡通常過度參數(shù)化,具有大量冗余。剪枝是消除冗余權重同時盡可能使準確度損失保持處于低位的進程。
低精度剪枝和高精度剪枝
行業(yè)研究帶來了多項有助于降低神經(jīng)網(wǎng)絡推斷成本的技術。這些技術包括:
點擊查看詳細內(nèi)容
迭代剪枝與單步剪枝的對比
下表中顯示了這兩種方法的對比。
迭代剪枝
剪枝器旨在減少模型參數(shù)數(shù)量,同時盡可能降低準確度損失。這是通過迭代方式來完成的,如下圖所示。剪枝導致準確度降低,重新訓練可恢復準確度。剪枝隨后重新訓練即構(gòu)成一次迭代。在剪枝的首次迭代中,輸入模型是基線模型,并且已經(jīng)過剪枝和精調(diào)。在后續(xù)迭代中,從先前迭代所獲取的精調(diào)后的模型會變?yōu)樾碌幕€。此進程通常會重復數(shù)次,直至獲取期望的稀疏模型。迭代方法是必需的,因為在單次傳遞中無法在維持準確度的同時進行模型剪枝。如果一次迭代移除的參數(shù)過多,那么準確度損失可能過于劇烈,可能無法恢復。
利用迭代剪枝的進程,可以達到更高的剪枝率,同時模型性能不會出現(xiàn)顯著損失。
迭代剪枝
以下描述了迭代剪枝的 4 個主要階段:
分析:對模型執(zhí)行敏感度分析,判定最優(yōu)剪枝策略。
剪枝:減少輸入模型中的計算次數(shù)。
精調(diào):重新訓練已剪枝的模型以恢復準確度。
變換:生成含更低權重的密集模型。
迭代剪枝工作流程
步驟1
分析原始基線模型。
步驟2
對模型進行剪枝。
步驟3
對剪枝后的模型進行精調(diào)。
步驟4
多次重復步驟 2 和 3,直至在準確度與稀疏度之間達成期望的平衡。
步驟5
將剪枝后的稀疏模型變換為最終密集加密的模型,以供在 Vitis AI 量化器中使用。
單步剪枝
單步剪枝會實現(xiàn)EagleEye1算法。它僅通過采用了一個簡單而又高效的評估組件,就得以在不同的已剪枝模型及其對應精調(diào)準確度之間引入強大的正關聯(lián),這個組件名為自適應批量歸一化。它使您無需實際進行模型精調(diào),即可獲取可能達成的準確度最高的子網(wǎng)絡。簡而言之,單步剪枝方法會搜索一群滿足所需模型大小的子網(wǎng)絡(即,生成的剪枝后模型),并選擇其中最有潛力的子網(wǎng)絡。隨后,通過對所選子網(wǎng)絡進行重新訓練來恢復準確度。
剪枝步驟如下所示: | |
1 | 搜索滿足所需剪枝率的子網(wǎng)絡。 |
2 | 從一群具有評估組件的子網(wǎng)絡中選擇潛在網(wǎng)絡。 |
3 | 對剪枝后的模型進行精調(diào)。 |
單步剪枝工作流程
注釋:
1.Bailin Li et al., EagleEye: Fast Sub-net Evaluation for Efficient Neural Network Pruning, arXiv:2007.02491
剪枝方法的選擇指南
Vitis AI 優(yōu)化器中為 PyTorch 提供了 3 種剪枝方法。請參閱以下決策樹以選擇適合您的網(wǎng)絡的方法。
在PyTorch中選擇剪枝方法的流程圖
審核編輯 :李倩
-
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4787瀏覽量
101357 -
模型
+關注
關注
1文章
3393瀏覽量
49367
原文標題:Vitis AI 優(yōu)化器用戶指南
文章出處:【微信號:賽靈思,微信公眾號:Xilinx賽靈思官微】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
使用AMD Vitis進行嵌入式設計開發(fā)用戶指南

TLV803EA29DPW-EVM 4針電壓監(jiān)控器用戶指南

TPS3840EVM電壓監(jiān)控器用戶指南

TPS659118 66AK2G02處理器用戶指南

雙向DC-DC轉(zhuǎn)換器用戶指南

UCC28019A EVM 350W PFC轉(zhuǎn)換器用戶指南

TMS320DM644x DMSoC ATA控制器用戶指南

TMS320C645x DSP 64位定時器用戶指南

TLV840EVM電壓監(jiān)控器用戶指南

TLV841EVM電壓監(jiān)控器用戶指南

TPS3704Q1EVM電壓監(jiān)控器用戶指南

評論