c07 - 量化 Quantization 与端侧部署
7. 量化(Quantization)与端侧部署的产品判断
量化是在”模型精度”与”部署成本”之间做显式权衡的工程决策,直接影响产品的部署形态、成本结构和质量上限。PM 需要能读懂这些 trade-off,而不只是知道”量化会让模型变差”。
7.1 量化的物理本质
神经网络权重原生是 FP16(16 位浮点数)。量化将其映射到更低精度的整数格式(INT8、INT4),显存占用按精度比例缩减,推理速度通常也同步提升。
精度损失的根源——离群值问题(Outlier Weights):权重分布中存在少数数值极大的”离群权重”。粗暴的统一量化会严重失真这些关键权重,导致模型质量大幅下降。高质量量化方案的核心工作就是专门处理这些离群值。
7.2 量化方案光谱
PTQ(Post-Training Quantization,训练后量化)vs QAT(Quantization-Aware Training,量化感知训练):
- PTQ:训练完成后对权重直接量化,速度快、成本低,质量有损失
- QAT:在训练过程中模拟量化效果,最终质量更好,但训练成本高 30–50%
- 实际产品中 PTQ 是绝大多数场景的选择
主流方案:
- GPTQ:基于 Hessian 矩阵逐层校准量化误差,早期 4-bit 主流方案,质量较好
- AWQ(Activation-Aware Quantization):通过激活值分布识别并保护离群权重,不做这些权重的激进量化。当前 4-bit 量化黄金标准,大幅降低质量损失
- GGUF(llama.cpp 格式):跨平台量化封装格式,支持 CPU 推理,是 Mac/Windows 本地运行大模型的标准方案
质量损失的实际幅度(参考值):
- INT8 → 质量损失通常 < 1%,几乎无感知
- INT4(AWQ)→ 质量损失约 2–5%,多数场景可接受
- INT4(粗暴 PTQ)→ 可能 10%+ 退化,不推荐
7.3 对产品架构的影响
端侧部署可行性门槛:
| 参数规模 | FP16 显存 | INT4 显存 | 可用设备 |
|---|---|---|---|
| 7B | ~14 GB | ~3.5 GB | M2 MacBook Pro、高端 Android 旗舰 |
| 13B | ~26 GB | ~6.5 GB | M3 Pro MacBook Pro |
| 70B | ~140 GB | ~35 GB | 多卡服务器 / Mac Studio Ultra |
| 671B(MoE 激活 37B) | 高 | 中 | 专用推理集群 |
KV Cache 量化(独立于权重量化):KV Cache 从 FP16 降至 FP8/INT8,同等显存下并发上限近似翻倍。这是降本增效的重要手段,且对输出质量影响极小(因为 KV Cache 是中间计算结果,不是最终决策权重)。
QLoRA:将 4-bit 量化与 LoRA 微调结合。单张 24GB 消费级 GPU 即可微调 70B 模型,将垂直领域定制的硬件门槛从数十万降至数千元。这对中小团队做行业大模型意义重大。
7.4 产品决策框架
| 场景需求 | 推荐方案 |
|---|---|
| 隐私优先 / 离线部署 / 移动端 | AWQ 或 GGUF INT4,端侧运行 |
| 云端高并发、成本敏感 | AWQ INT4 + KV Cache FP8 量化 |
| 质量优先、成本次要 | FP16 或 INT8 |
| 垂直领域微调、GPU 资源有限 | QLoRA(4-bit + LoRA) |
| 本地开发调试 | GGUF(llama.cpp,CPU 可跑) |
PM 追问工程师的核心问题:
- 当前用的是哪种量化方案?INT8 还是 INT4?
- 在我们的核心任务上做过量化前后的质量对比吗?损失幅度是多少?
- KV Cache 有没有单独量化?并发上限是否有改善空间?
相关概念卡:量化、PEFT / LoRA、KV Cache 模块二延伸:m209 §2.6.6 成本估算 — 量化方案对 API 成本的影响量化(私有化部署时 INT4 可降本 50–70%)| m208 §2.5.4 — llama.cpp/Ollama 端侧部署选型 上一章:c06 架构演进 下一章:c08 解码策略