深度學習在模型及其數據集方面正以驚人的速度增長。在應用方面,深度學習市場以圖像識別為主,其次是光學字符識別,以及面部和物體識別。根據 Allied 市場研究,6 年全球深度學習市場價值為 85.2020 億美元,預計到 179 年將達到 96.2030 億美元,39 年至 2 年的復合年增長率為 2021.2030%。
在某個時間點,人們認為大型和復雜的模型表現更好,但現在它幾乎是一個神話。隨著邊緣AI的發展,越來越多的技術將大型復雜模型轉換為可以在邊緣上運行的簡單模型,所有這些技術結合起來執行模型壓縮。
什么是模型壓縮?
模型壓縮是在計算能力和內存較低的邊緣設備上部署SOTA(最先進的)深度學習模型的過程,而不會影響模型在準確性、精度、召回率等方面的性能。模型壓縮大致減少了模型中的兩件事,即大小和延遲。減小大小的重點是通過減少模型參數來簡化模型,從而降低執行中的 RAM 要求和內存中的存儲要求。延遲減少是指減少模型進行預測或推斷結果所花費的時間。模型大小和延遲通常同時存在,大多數技術都會減少兩者。
流行的模型壓縮技術
修剪:
修剪是最流行的模型壓縮技術,它通過刪除冗余和無關緊要的參數來工作。神經網絡中的這些參數可以是連接器、神經元、通道,甚至是層。它很受歡迎,因為它同時減小了模型的大小并改善了延遲。
修剪
修剪可以在訓練模型時或訓練后完成。有不同類型的修剪技術,即權重/連接修剪、神經元修剪、過濾器修剪和層修剪。
量化:
當我們刪除神經元、連接、過濾器、層等時。在修剪以減少加權參數的數量時,權重的大小在量化期間減小。在此過程中,大型集中的值將映射到較小集中的值。與輸入網絡相比,輸出網絡的值范圍較窄,但保留了大部分信息。有關此方法的更多詳細信息,您可以在此處閱讀我們關于模型量化的深入文章。
知識蒸餾:
在知識蒸餾過程中,在一個非常大的數據集上訓練一個復雜而龐大的模型。微調大型模型后,它可以很好地處理看不見的數據。一旦獲得,這些知識就會轉移到較小的神經網絡或模型中。同時使用教師網絡(較大的模型)和學生網絡(較小的模型)。這里存在兩個方面,知識蒸餾,我們不調整教師模型,而在遷移學習中,我們使用精確的模型和權重,在一定程度上改變模型,并根據相關任務進行調整。
知識蒸餾系統
知識、蒸餾算法和師生架構模型是典型知識蒸餾系統的三個主要部分,如上圖所示。
低矩陣分解:
矩陣構成了大多數深度神經結構的大部分。該技術旨在通過應用矩陣或張量分解并將它們制成更小的矩陣來識別冗余參數。這種技術應用于密集的DNN(深度神經網絡)時,降低了CNN(卷積神經網絡)層的存儲要求和分解,并縮短了推理時間。具有二維且秩為 r 的權重矩陣 A 可以分解為更小的矩陣,如下所示。
低矩陣分解
模型的準確性和性能在很大程度上取決于適當的分解和秩選擇。低秩分解過程中的主要挑戰是更難實現,并且是計算密集型的。總體而言,與全秩矩陣表示相比,密集層矩陣的因式分解可產生更小的模型和更快的性能。
由于邊緣人工智能,模型壓縮策略變得非常重要。這些方法是相互補充的,可以在整個 AI 管道的各個階段使用。像TensorFlow和Pytorch這樣的流行框架現在包括修剪和量化等技術。最終,該領域使用的技術數量將會增加。
審核編輯:郭婷
-
RAM
+關注
關注
8文章
1368瀏覽量
114651 -
人工智能
+關注
關注
1791文章
47208瀏覽量
238301 -
深度學習
+關注
關注
73文章
5500瀏覽量
121118
發布評論請先 登錄
相關推薦
評論