詳細解釋
模型量化的兩種策略:QAT(Quantization-Aware Training,量化感知訓練)和 PTQ(Post-Training Quantization,訓練後量化)。
PTQ(訓練後量化):
- 流程:模型訓練完成後,將權重從 FP32 轉換為 INT8/INT4
- 優點:簡單快速,無需重新訓練,適合快速部署
- 缺點:精度損失較大,特別對激活敏感的層
- 代表方法:動態范圍量化、整數僅量化、GPTQ、AWQ
QAT(量化感知訓練):
- 流程:訓練時模擬量化效果(前向傳播用低精度,反向傳播用高精度梯度)
- 優點:精度損失小,模型「學會」適應量化
- 缺點:需要重新訓練,計算成本高
- 代表方法:TensorFlow Lite QAT、PyTorch Quantization Aware Training
選擇指南:
- 快速原型/部署:PTQ(特別是 GPTQ 4-bit,效果出奇好)
- 極致精度要求高:QAT(醫療、自動駕駛)
- 資源受限:PTQ(邊緣設備)
- 生產環境:先 PTQ 試水,不夠再考慮 QAT
技術細節:
- 對稱量化:zero-point 為 0,簡單但可能浪費范圍
- 非對稱量化:學習 zero-point,更靈活
- 逐通道量化:每個輸出通道獨立縮放,精度更高
實踐趨勢:
- 2024 年 PTQ 佔主導,因為 LLM 重新訓練成本太高
- GPTQ、AWQ 等 PTQ 方法精度接近 QAT
- 硬件支持:NVIDIA TensorRT、 Qualcomm SNPE 對 PTQ 優化更好
這是模型部署的核心權衡—— 速度和精度之間的藝術。