訓練後量化

PTQ

Post-Training Quantization

詳細解釋

訓練後量化(Post-Training Quantization, PTQ)是將已訓練的FP32模型轉換為低精度(如INT8)表示的技術,無需重新訓練,快速部署。

與QAT的對比:

  • 量化感知訓練:訓練中模擬量化,精度更高,但需要訓練資源
  • PTQ:訓練完成後量化,簡單快速,可能精度稍降
  • 選擇:先嘗試PTQ,若精度不夠再用QAT

量化步驟:

  1. 收集校準數據:數百到數千代表性樣本
  2. 確定縮放因子:統計激活分布,確定量化範圍
  3. 權重量化:將FP32權重映射到INT8(線性映射)
  4. 激活量化:運行校準數據,統計激活範圍
  5. 偏差校正:調整量化後的偏差項

量化類型:

  • 對稱量化:零點為0,範圍對稱
  • 非對稱量化:零點可調,適合非對稱分布
  • 逐層量化:每層獨立縮放
  • 逐通道量化:卷積每通道獨立縮放(精度更高)

校準策略:

  • 最小-最大:用觀測到的最小最大值
  • KL散度:最小化原始和量化分布的KL散度
  • 百分位數:排除極端異常值(如99.99%)
  • 均方誤差:最小化量化誤差

動態量化:

  • 運行時統計:每批次動態計算縮放因子
  • 更適應輸入變化
  • 但有額外計算開銷

優勢:

  • 簡單快速:幾分鐘即可完成
  • 無需訓練數據:只需校準數據(無標籤)
  • 即插即用:現成模型快速部署
  • 工具成熟:主流框架都支持

局限:

  • 精度損失:敏感模型可能效果差
  • 敏感層:某些層(如LayerNorm)需要保留FP32
  • 極端量化:INT4及以下通常需要QAT

PTQ是模型部署的首選起點。

探索更多AI詞彙

查看所有分類,繼續學習AI知識