Skip to content

量化对象 ​

量化对象回答“哪些张量或运行时状态使用低精度表示”。大模型推理中主要包括 Weight、Activation 和 KV Cache;它们的生命周期和性能瓶颈不同,应分别配置。

对象特征主要收益主要约束
Weight模型加载后保持不变减少 checkpoint、显存占用和 Weight 读取带宽需要匹配打包格式、scale 布局与 Kernel
Activation随输入和层动态变化进入低精度 GEMM,降低计算与传输成本需要额外的统计和量化过程
KV CacheDecode 时逐 token 增长降低长上下文和高并发下的缓存容量与带宽依赖 Attention Kernel 对低精度 Cache 的支持

Weight ​

Weight 最适合预先量化。Weight-Only 方案只降低 Weight 精度,Activation 保持 FP16/BF16,典型配置是 W8A16 和 W4A16;主要收益来自更小的模型容量和更低的 Decode 读取带宽。

Activation ​

Activation 由当前输入产生,分布会随 token、层和请求变化。W8A8、W4A8 或 W4A4 需要在 GEMM 前准备低精度 Activation,因此要同时考虑量化开销、粒度和 Kernel 是否支持对应路径。

KV Cache ​

KV Cache 是 Attention 的运行时状态,不属于线性层 WxAy 中的 W 或 A。模型可以使用 W4A16,同时独立选择 BF16、FP8 或 FP4 KV Cache;实际收益取决于缓存长度、并发量和 Attention Kernel。

WxAy 只概括线性层 Weight 与 Activation 的位宽。完整方案还要分别说明三类对象的量化粒度、数值类型和数值映射。

参考 ​

  1. Hugging Face Transformers:Quantization Concepts
  2. vLLM:Quantized KV Cache