跳转到内容

量化:权重、激活与 KV cache

推理的两大瓶颈都是"字节":带宽(每 token 读一遍权重,见 Roofline)与显存(权重 + KV cache)。量化把字节砍半再砍半——FP16→INT8:带宽显存减半、算力翻倍;INT8→INT4:再减半。但每砍一刀都在重新定价精度风险。本章讲清楚量化的几条路线、各自的取舍、以及选型方法。

以 70B 模型、H100 为例,不同精度的三笔账:

精度权重单请求解码上限(3.35 TB/s)显存(权重+KV 20GB)
FP16140 GB24 tokens/s160 GB
FP8/INT870 GB48 tokens/s90 GB
INT435 GB96 tokens/s55 GB

每一刀同时改善三样:带宽省一半(解码快一倍)、显存省一半(并发上限翻倍)、算力翻倍(FP8 Tensor Core)。这就是量化在推理侧如此重要的原因。

一、训练后量化(PTQ):量化已有的模型

Section titled “一、训练后量化(PTQ):量化已有的模型”

不重新训练,直接对训练好的模型量化。按粒度与校准方式分:

方法代表精度损失适用
简单 PTQ(per-tensor/per-channel)直接 int8小到中对延迟敏感、可接受小幅损失
校准 PTQGPTQ、AWQ、SmoothQuant小主流选择:AWQ/GPTQ 的 4bit
极限 PTQAWQ/GPTQ 的 3bit、2bit明显显存极限场景
  • GPTQ:基于 Hessian 的逐层量化误差最小化,GPU 推理友好
  • AWQ:保护"重要权重"(按激活分布加权),4bit 精度损失小,当前 4bit 的默认选择
  • SmoothQuant:把激活的离群值"平滑"到权重上,解决激活量化的离群值难题(W8A8)

二、量化感知训练(QAT):训练时就量

Section titled “二、量化感知训练(QAT):训练时就量”

训练过程中模拟量化(前向量化、反向用直通估计器),精度损失最小,但要重新训练——成本高,适合对精度极致要求的场景(端侧、多模态)。工程上 PTQ(AWQ/GPTQ)已覆盖 90% 的需求。

INT8 是"纯整数"路线(反量化后算 FP16);FP8 是硬件原生路线(Tensor Core 直接算 FP8,见混合精度与 FP8):

  • 优点:不用反量化(Tensor Core 原生 FP8 矩阵乘)、动态范围像浮点(对离群值友好)、H100/B200 算力翻倍
  • 缺点:需要较新的硬件(Hopper 起);权重量化仍需缩放
  • FP8 是"新的 INT8",硬件支持决定路线——Hopper 之前 INT8/INT4,Hopper 之后 FP8/FP4
对象收益方法风险
权重带宽显存双省(最大头)AWQ/GPTQ 4bit小(已被充分研究)
激活算力(FP8 原生)SmoothQuant、FP8 动态缩放离群值是坑(W8A8 难)
KV cache并发上限翻倍(见 KV)FP8/INT8 KV长程注意力退化,要抽测

权重量化是最安全的第一步(收益最大、风险最小);激活与 KV 量化收益真实但风险更高,按需上。

场景推荐
A100 级硬件,延迟敏感INT8(SmoothQuant)或 FP16
H100+,延迟敏感FP8 权重+激活(原生算力翻倍)
显存极限(塞大模型)AWQ/GPTQ 4bit
高并发服务权重 4bit/8bit + KV FP8(并发上限翻倍)
精度极致FP16/BF16 不量化

验证永远是必经之路:量化后用真实下游任务(不是 perplexity 一个数)评测——perplexity 涨 1% 的量化,在代码生成/数学任务上可能跌 10%。多任务评测是量化的验收标准。

  • 校准数据:PTQ 的校准集要贴近真实分布(用你自己的数据,几百条就够)——通用校准集在你领域外的分布上误差更大
  • 工具链:vLLM/SGLang 直接支持 AWQ/GPTQ/FP8 checkpoint(见服务框架);TensorRT-LLM 的量化路径与 NVIDIA 硬件绑定更深
  • 在线 vs 离线:权重量化离线做(一次性);KV/激活量化在线做(每步动态缩放,开销小但要监控)
  • 混合精度兜底:敏感层(第一层/最后一层、LM head)保持 FP16 的混合量化是常见工程技巧
  • 量化同时改善带宽、显存、算力三笔账:FP16→INT8 解码快一倍,INT4 再快一倍。
  • 三路线:PTQ(AWQ/GPTQ,主流)、QAT(精度极致)、FP8(硬件原生,Hopper+)。
  • 权重量化最安全收益最大;激活的离群值与 KV 的长程退化是两个真实风险点。
  • 选型看硬件与瓶颈:H100+ 延迟敏感用 FP8,显存极限用 4bit,高并发加 KV 量化。
  • 验收用真实下游任务多维度评测,perplexity 一个数不够。