AIIntermediate
推理量化:容量、速度与质量的取舍
理解权重量化、激活量化与 KV 量化的不同对象,计算理想空间收益,并用质量与硬件实测约束选择。
学习目标
- 区分 W4A16、W8A8 与 KV Cache 量化。
- 解释 scale、zero point 和分组元数据带来的额外开销。
- 设计量化前后的质量与性能对照。
学习前需要掌握
背景与问题
把 BF16 权重变为 4-bit 看起来能缩小四倍,但真实文件不会总是恰好四分之一,速度也不一定提高四倍。后端需要支持对应格式,推理时还可能发生反量化和额外访存。
概念定义
量化使用低位宽数值和尺度等元数据近似表示张量。权重量化改变参数表示,激活量化改变计算中间值,KV 量化改变历史注意力缓存。W4A16 通常表示 4-bit 权重与 16-bit 激活;具体计算与累加精度仍须查看实现。
直观理解
恰好 7B 参数的理想 BF16 权重为 14 GB,4-bit 为 3.5 GB。若每 128 个参数保存一个 2-byte scale,且参数个数恰好可整除,则 scale 另需 109375000 byte,即约 0.109 GB;还没有算 zero point、打包对齐和保持高精度的层。
核心原理
仿射量化常使用以下近似, 为尺度、 为零点, 为受位宽限制的整数:
推荐学习资料
官方文档A 级
vLLM 量化格式与硬件支持
核对量化算法、硬件架构与后端支持,避免仅凭位宽推断容量和速度。
vLLM · vLLM Docs