1. 程式人生 > 其它 >神經網路壓縮方法:模型量化的概念簡介

神經網路壓縮方法:模型量化的概念簡介

在過去的十年中,深度學習在解決許多以前被認為無法解決的問題方面發揮了重要作用,並且在某些任務上的準確性也與人類水平相當甚至超過了人類水平。如下圖所示,更深的網路具有更高的準確度,這一點也被廣泛接受並且證明。

使用更深層次的網路模型追求人類級別的準確性會帶來一系列挑戰,例如:

  • 更長的推理時間
  • 更高的計算要求
  • 更長的訓練時間

高計算量的深度模型需要較長訓練時間,對於線下訓練還是可以接受的,因為訓練通常進行一次或以固定的時間間隔進行,但在高吞吐量生產環境中進行線上部署變得極其困難。在這種情況下模型壓縮技術變得至關重要,因為壓縮能夠在不影響準確性的情況下減少龐大模型的佔用空間。這篇介紹性文章將討論可用於優化重型深度神經網路模型的不同技術。

模型壓縮方法

目前用於現代深度學習的模型壓縮的主流方法有三個:

基於量化的方法:量化涉及使用較低精度的資料型別來儲存模型權重和執行計算(例如:8 位整數而不是 32 位浮點數)。

模型剪枝:模型修剪涉及清除對模型效能的貢獻較小的神經元或某些神經元之間的連線。剪枝之所以有效是因為深度神經網路本質上是稀疏的,正如 Frankle 等人在他們的論文 The Lottery Ticket Hypothesis:Finding Sparse, Trainable Neural Networks 中所描述的那樣。

知識蒸餾:這種方法訓練一個小模型來模擬更大、更準確的預訓練模型的軟標籤。

軟標籤允許學生模型很好地泛化,因為軟標籤代表了更高級別的抽象和對不同類別相似性的理解,而不是峰值的獨熱編碼表示。

在以下部分中,我們詳細介紹模型量化,這是最廣泛使用的模型壓縮形式。

什麼是量化?

根據定義,量化是將值從大集合對映到較小集合的過程,其目標是在轉換中具有最少的資訊損失。這個過程被廣泛應用於各個領域,包括訊號處理、資料壓縮、訊號轉換等等。

量化應用於連續模擬訊號,通過取樣和四捨五入到最接近的可表示量化值將它們轉換為離散數字訊號

完整文章

神經網路壓縮方法:模型量化的概念簡介