詳細解釋
經過權重量化壓縮的機器學習模型,將原本 FP32(32位浮點)的權重轉換為 INT8、INT4 甚至更低精度,大幅減少模型大小和推理成本。
量化類型:
- 訓練後量化(PTQ):模型訓練完成後轉換,簡單快速但可能損失精度
- 量化感知訓練(QAT):訓練時模擬低精度,精度更高但需要重新訓練
- GPTQ:針對生成模型的高效量化,4-bit 可保持 99%+ 精度
- AWQ:激活感知的權重量化,保護重要權重
常見格式:
- GGUF(llama.cpp):支持 CPU 推理,從 Q2 到 Q8 多種精度
- Safetensors:Hugging Face 的安全格式,可包含量化元數據
- ONNX Runtime:支持 INT8 量化,跨平台部署
- TensorRT:NVIDIA GPU 專用量化,8-bit 和 4-bit
精度與性能權衡:
- FP32:100% 精度,4x 內存佔用
- INT8:通常 99%+ 精度,4x 壓縮,2x 速度提升
- INT4:90-98% 精度(取決於模型),8x 壓縮,適合邊緣設備
應用場景:
- 移動端:手機上運行 7B 模型需要 4-bit 量化
- 雲端成本:降低推理服務器 GPU 需求
- 邊緣 IoT:微控制器上運行 TinyML
局限性:量化主要對推理有效,訓練通常仍需 FP16/BF16。某些任務(如需要高精度的數學計算)量化後性能下降明顯。