講座筆記:模型量化-更小更快更強 Dance with Bit ———哈佛大學.董鑫PHD

Dance with Bit

record in 2019/11/21

Quantization

定長和變長
精度:兩個數字之間最小差別能有多小 32位單精度: 1.2*12^-38
量化:
浮點數->定點數:
在這裏插入圖片描述

壓縮網絡的方法 Quantization

  1. 矩陣的分解
    X= TP X是大矩陣100100 ,一共10000個, T是1002 P是2100 , 一共400 個參數
    只是內存優化,矩陣計算時優化較小(現在少用了)
  2. 剪枝
    結構化剪枝(直接去掉某個channel)
    加速比不成正比
  3. Auto ML
    搜索出小網絡
    在這裏插入圖片描述

量化:

不光壓縮,還加速計算,還硬件友好

可能遇到的問題:

  1. 前向時,連續值變離散了,(每個值可選擇的種類變少了)
    量化之後的每個值範圍quantization_range被限制。實際上參數的分佈還是很廣的
    使用均勻量化還是非均勻量化(非均勻自由度更高,準確率更高,但是非均勻在硬件上不夠好實現)
    在這裏插入圖片描述
  2. 反向時,激活值變成裏離散變量,求導變麻煩
    由於階梯函數導數大部分時候爲0,導數無法傳遞,因而我們只能定義梯度爲1,但是這種情況下階梯函數的這兩個變量在反向傳播時就被無視了。
    可以訓練了,但是loss會不穩定。

在這裏插入圖片描述

如何解決這些問題:
在這裏插入圖片描述
主要的三種操作
首先改變參數的分佈
然後Projection,分配新參數(這個步驟較多論文)
然後對新分配的參數進行後處理,比如統一 x 0.15調整

在這裏插入圖片描述
網絡表達的範圍被限制,(比如本來-6 ~ 6 現在 -1~1)

量化和剪枝的關係
剪枝是把那一支置零,量化是減少比特。
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章