要解决的问题

大模型的权重和激活通常以 16 位浮点数存储。把它们换成更低比特(8 位、4 位甚至更低),可以减少显存占用和带宽需求,从而降低推理成本、提高速度,同时要尽量不损失模型质量。

核心方法

主要路线:

  • 仅量化权重(weight-only):权重存成低比特,计算时再反量化,适合带宽受限的解码阶段。
  • 权重与激活都量化:例如 W8A8,可以直接使用低精度矩阵运算单元。难点是激活中存在数值异常大的离群值(outlier)。
  • 低精度浮点:FP8、FP4 等格式,依赖新一代硬件支持。
  • KV 缓存量化:把 KV 缓存存成低比特。

多数大模型量化采用训练后量化(Post-Training Quantization,PTQ),只需少量校准数据,不需要重新训练。

代表工作

  • GPTQ(2022):基于近似二阶信息逐层量化权重,可以把大模型压到 3–4 比特。
  • SmoothQuant(2022):把激活中的离群值通过数学等价变换「迁移」到权重上,实现 W8A8 量化。
  • AWQ(2023):根据激活幅度找出少量重要的权重通道加以保护,实现高质量的 4 比特权重量化。

选型经验

  • 质量敏感的任务先建立 BF16/FP16 基线,再评估可接受的量化损失;4 比特的 GPTQ/AWQ 是内存与带宽受限时的候选方案,不是天然的质量最优选择。
  • FP8、INT8、4 比特的收益都依赖目标硬件、内核和批次,不能直接视为跨平台的通用方案。
  • 在实际任务上比较准确率、峰值显存、首 token 延迟和吞吐,并核对推理引擎支持的格式。

挑战

  • 模型不同的层对低比特的敏感程度不同。
  • 量化内核高度依赖硬件和推理引擎,同一种格式换个平台可能没有加速。

参考资料

相关专题