一句话定义
量化是把模型参数从高精度浮点数(如 FP16)转换成更低精度的表示(如 INT8、FP8、INT4),用更少的比特存储和计算。
为什么有效
大模型推理的主要成本之一是显存带宽和容量。权重从 16 bit 降到 8 bit,模型体积直接减半;降到 4 bit 还能进一步压缩。数据搬运量减少后,很多场景的吞吐会明显提升。推理通常受显存带宽限制,权重读取是大头;量化直接减少了这部分流量。
常见形式
- 权重量化:只压缩权重,激活仍用较高精度,部署简单。
- 权重 + 激活量化:连中间激活一起量化,需要硬件和算子支持。
- KV Cache 量化:对 KV Cache 做低精度存储,缓解长上下文显存压力。
- PTQ:训练后量化,用少量校准数据确定缩放范围。
- QAT:量化感知训练,在训练中模拟量化误差,精度通常更好但成本更高。
关键取舍
- 精度越低,误差越大;4 bit 往往需要更精细的分组和校准。
- 对称量化实现简单,非对称量化对偏态分布更友好。
- 逐张量、逐通道、逐分组的粒度越细,精度越好,元数据开销也越大。
- 量化不必然更快:如果没有对应的低精度算子,反量化开销可能抵消收益。
- 实际收益取决于硬件是否有低比特算子;没有算力支持时,可能只省显存。
用在哪里
- 显存/带宽受限的推理部署,尤其是权重体积大、batch 较小的场景。
- 边缘设备、单卡服务和 QLoRA 微调;对精度极敏感的任务要先评测再上。
常见误区
- 「4 bit 无损」通常只在特定模型和评测上成立,不是普遍结论。
- 量化主要影响数值精度,不会增加模型知识。
- 量化后的模型仍然需要相同的 tokenizer 和结构。