量化:BF16 / FP8 / Q8 / Q4 在部署上的意义
同一模型四种精度,显存差 4 倍,质量差异从「几乎无损」到「明显退化」。
每参数字节数
| 精度 | bytes/param | 32B 模型权重 | 质量 |
|---|---|---|---|
| BF16 | 2 | 64 GB | 官方精度 |
| FP8 | 1 | 32 GB | 近无损(H100 原生加速) |
| Q8_0 | ≈ 1.06 | 34 GB | 近无损 |
| Q6_K | ≈ 0.8 | 26 GB | 轻微 |
| Q5_K_M | ≈ 0.69 | 22 GB | 轻微 |
| Q4_K_M | ≈ 0.58 | 19.8 GB | 可感知但通常可接受 |
| MXFP4 / INT4 QAT | ≈ 0.53 | — | 训练时感知,损失小 |
几个关键区分
- 训练后量化(PTQ) vs 量化感知训练(QAT):Gemma 3 的 QAT 版、gpt-oss 的 MXFP4、Kimi K2 Thinking 的 INT4 都是训练阶段就考虑了低精度,比社区 GGUF 的 PTQ 质量更好。
- 权重量化 ≠ KV 量化:Q4 只压权重,KV Cache 仍是 BF16,除非单独开 KV 量化。
- MoE 的量化:专家矩阵多、单个小,对 4-bit 相对友好;但路由与注意力层通常保留高精度(GGUF 的 K-quant 混合精度就是这么做的)。
- 小模型更怕量化:8B 以下 Q4 退化比 70B Q4 明显。
本站的规则
- 显存表优先写官方 / 社区实际文件大小;没有的按上表系数估算并标「估」。
- 「单卡可跑」= 开源 + Q4 权重 × 1.1 ≤ 24 GB。这是能加载的门槛,不是舒适线。