核心要点

  • 讲清量化本质:用 scale/zero-point 把浮点映射到低比特整数,反量化还原

  • 区分 PTQ(训练后)与 QAT(量化感知训练),以及 GPTQ/AWQ 等代表算法

  • 说清收益(显存、带宽、吞吐)与代价(精度、离群值、硬件支持)的权衡

标准回答

一、原理

量化把高精度权重(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 推理优化 与 量化。

面试里可以补一句:大模型量化INT8/INT4是如何压缩模型的 在大模型场景下通常要同时权衡效果、延迟、成本和安全边界。回答时最好带一个例子,比如上下文过长、幻觉、缓存命中或工具调用失败时,系统应该如何降级和观测。

常见误区

⚠️ 常见踩坑

误区一:容易答偏的地方:量化不是“直接砍掉位数”——核心是 scale/zero-point 的标定与误差补偿;也不是越低比特越好,INT4 在小模型或敏感层上可能显著掉点,需混合精度保护关键层。

追问

追问 1GPTQ 和 AWQ 的核心区别是什么?

GPTQ 逐层贪心量化并用 Hessian 信息补偿已量化误差,偏“误差最小化”;AWQ 基于激活分布找出少量显著权重通道并缩放保护,不依赖反向传播,量化更快。两者都常用于 INT4,AWQ 在部署友好性上常更优。

追问 2只量化权重和权重+激活都量化有何不同?

仅权重量化(W4A16)省显存、实现简单、精度损失小,适合显存受限;权重+激活量化(如 W8A8)能用整数矩阵乘进一步提升算力吞吐,但激活离群值导致标定更难、更易掉点,常配合 SmoothQuant 等技术。

追问 3为什么离群值(outlier)对量化影响大?如何缓解?

少数极大激活/权重会拉大量化范围 scale,使大量正常值挤进很少的量化格、分辨率骤降。缓解手段包括按通道/分组量化、SmoothQuant 把激活难度迁移到权重、或对离群通道保留高精度(混合精度)。

🔗 相似问题

同一考点的不同问法,换着练更稳

没找到想看的面试题?把你想看的告诉我们 →

延伸学习

按主题分类的相关资源,便于系统复习