詳細解釋
INT4(4位整數量化)是極端模型壓縮技術,將權重量化到4位(16個可能值),實現8倍壓縮,適合極端資源受限環境。
量化原理:
- 範圍:-8 到 +7(16個值)
- 縮放:FP32權重映射到16個量化級別
- 分組量化:通常每64或128個權重一組獨立縮放
- 雙量化:對量化常數進一步量化
與其他精度的對比:
- FP32:32位,基準精度
- INT8:8位,4倍壓縮,常用於推理
- INT4:4位,8倍壓縮,極端壓縮
- 二值(1位):1位,32倍壓縮,精度損失大
精度影響:
- 必然損失:16個級別無法精確表示原始分布
- 分組量化:減少範圍內誤差
- 混合精度:重要層保留INT8/FP16
- 微調:量化後微調恢復部分精度
應用場景:
- 移動端:手機上運行大模型
- 邊緣設備:IoT、嵌入式系統
- 推理加速:批次處理提高吞吐
- 模型分發:減少下載大小
實現方法:
- GPTQ (訓練後四比特權重量化):一-shot 量化,無需微調
- AWQ (激活感知權重量化):激活感知權重量化
- GGML (llama.cpp 張量庫)/Llama.cpp:INT4推理引擎
- QLoRA:4位量化+LoRA微調
工具支援:
- AutoGPTQ:GPTQ的易用封裝
- Transformers:Hugging Face整合
- llama.cpp:邊緣推理的標準
- vLLM:INT4服務優化
性能特點:
- 精度:通常略降,但可接受
- 速度:CPU上因記憶體減少而更快
- GPU:需要專用內核優化
- 記憶體:顯著減少,支持更大模型
局限:
- 精度損失:某些任務下降明顯
- 訓練不可用:僅推理
- 硬體支援:需要專用優化內核
- 不適合所有模型:某些架構難以量化
INT4是極端資源受限環境的模型壓縮方案。