标准回答
原理:量化把高精度权重(FP16/BF16)映射到低比特整数。对一组数取 (scale=(max-min)/(2^b-1)),用 (q=\mathrm{round}(x/scale)+zp) 编码,推理时反量化近似还原。INT8 约省一半显存、INT4 约省四分之三,且更小的数据搬运直接提升带宽受限场景的吞吐。
主要路线:
- PTQ(训练后量化):无需重训,用少量校准数据定标,成本低,是大模型主流;
- QAT(量化感知训练):训练中模拟量化误差,精度更高但成本大;
- GPTQ:逐层基于二阶信息(Hessian)补偿量化误差,擅长 INT4;
- AWQ:识别并保护“显著权重”通道,按激活分布缩放,INT4 下精度优。
代价:精度下降(尤其 INT4、小模型更敏感);激活/权重离群值难量化;需要对应硬件与 kernel 支持(如 vLLM/TensorRT-LLM 的 INT8/INT4 内核)。
详见 LLM 推理优化 与 量化。
常见误区
⚠️ 常见踩坑
量化不是“直接砍掉位数”——核心是 scale/zero-point 的标定与误差补偿;也不是越低比特越好,INT4 在小模型或敏感层上可能显著掉点,需混合精度保护关键层。
追问
追问 1:GPTQ 和 AWQ 的核心区别是什么?
GPTQ 逐层贪心量化并用 Hessian 信息补偿已量化误差,偏“误差最小化”;AWQ 基于激活分布找出少量显著权重通道并缩放保护,不依赖反向传播,量化更快。两者都常用于 INT4,AWQ 在部署友好性上常更优。
追问 2:只量化权重和权重+激活都量化有何不同?
仅权重量化(W4A16)省显存、实现简单、精度损失小,适合显存受限;权重+激活量化(如 W8A8)能用整数矩阵乘进一步提升算力吞吐,但激活离群值导致标定更难、更易掉点,常配合 SmoothQuant 等技术。
追问 3:为什么离群值(outlier)对量化影响大?如何缓解?
少数极大激活/权重会拉大量化范围 scale,使大量正常值挤进很少的量化格、分辨率骤降。缓解手段包括按通道/分组量化、SmoothQuant 把激活难度迁移到权重、或对离群通道保留高精度(混合精度)。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
🛠️ AI 工具
- vLLM
高吞吐 LLM 推理引擎,77,418+ stars。采用 PagedAttention 显存优化技术,吞吐量比 HuggingFace Transformers 高 24 倍,是生产环境部署大模型推理的首选方案,支持 OpenAI 兼容 API