← 返回题目列表

AWQ 的原理是什么?它和 GPTQ 有什么区别?

高频 困难 第 12 / 25 题 更新于 2026/09/18
模型压缩AWQ权重量化PTQ推理部署

简化版

AWQ 是 Activation-aware Weight Quantization,它发现少量对激活特别重要的权重通道对模型质量影响很大,于是通过缩放保护这些通道,再做低比特权重量化。相比 GPTQ 的二阶误差补偿,AWQ 更强调激活感知和部署效率。

详细版

  • AWQ 认为不是所有权重同等重要,关键通道需要被保护。
  • 它用校准激活寻找对输出敏感的权重通道。
  • 通过 scale 调整权重和激活分布,让重要权重量化误差更小。
  • AWQ 通常适合 4bit 权重量化和高效推理 kernel。
  • 和 GPTQ 一样属于训练后量化,但优化目标和实现路径不同。

完整版教学

这道题考察候选人是否能比较主流 LLM 低比特量化方案,而不是只背名词。

一、这题真正考什么

这道题考察候选人是否能比较主流 LLM 低比特量化方案,而不是只背名词。

比较 AWQ 与 GPTQ 时要先区分“重要性来自哪里”:AWQ 用校准激活近似通道对输出的敏感度,GPTQ 则利用近似 Hessian 在逐列量化时补偿重构误差。二者都属于 PTQ,却不是同一个目标函数换了文件后缀。

二、核心机制怎么工作

AWQ 的核心观察是:保护少数显著通道,往往比平均照顾所有权重更有效。它基于校准数据统计激活大小,找到更影响输出的通道,然后用缩放因子把权重量化误差转移到模型更能承受的位置。

缩放并没有改变浮点线性层的函数,因为 Y=XW=(XS)(S^-1W);变化发生在随后对 S^-1W 舍入到低比特网格时。合适的 S 能让高激活通道对应的关键权重少受舍入影响,但过强缩放会把动态范围压力转移到其他通道。

三、带数字的拆解

在一个线性层中,若 1% 的通道承担了主要激活贡献,把这些通道直接粗暴量化可能造成输出明显偏移。AWQ 会先调整 scale,使这些通道在 4bit 网格中保留更多有效信息。

线性层输出:Y = XW
缩放后等价形式:Y = (XS) (S^-1 W)
选择 S 的目标是在保持输出近似的同时降低重要权重量化误差

四、流程图和工程落点

可以把它拆成下面这条链路来讲:

校准样本前向
   |
统计激活通道重要性
   |
搜索缩放因子
   |
保护关键权重通道
   |
执行低比特量化
   |
使用匹配 kernel 推理

五、和相近方案怎么区分

维度AWQGPTQ
核心思想保护激活重要通道二阶误差补偿
校准数据需要需要
部署侧常强调高效 kernel格式生态较多
调参重点scale 搜索和 groupgroup、act-order、damp

六、上线或训练时最容易踩的坑

  • AWQ 的质量优势依赖校准样本能代表真实激活分布。

  • 只下载 AWQ 权重不代表一定快,推理框架和 kernel 支持同样关键。

  • 校准集中缺少代码、长文本或目标语言时,激活重要性排序会偏向错误的通道。

  • 必须在目标推理框架上确认 group size、zero point 与 kernel 匹配,否则权重虽小却发生反量化回退。

七、常见误区与追问

  • 误区:AWQ 和 GPTQ 只是文件格式不同。 AWQ 依据激活幅值保护显著通道;GPTQ 用二阶近似逐块补偿量化误差,优化依据和转换过程都不同。
  • 误区:保护少数通道会让其他通道完全不重要。 AWQ 仍会量化全部目标权重,只是通过缩放降低敏感通道的误差;普通通道的累计误差仍需评测。
  • 误区:AWQ 不需要校准数据。 它必须用代表性输入统计激活,校准分布偏离线上请求时,所谓“重要通道”也会选偏。
  • 追问:AWQ 为什么叫 activation-aware? 权重重要性不是只看权重绝对值,而是结合输入激活估计该权重误差会怎样传到层输出。
  • 追问:AWQ 适合和 LoRA 合并后的模型一起用吗? 可以先把 LoRA 合并到浮点基座再重新校准和量化;若运行时动态切换 Adapter,则需确认量化基座与 Adapter kernel 的兼容性。
  • 追问:如何在 AWQ 和 FP16 之间做质量验收? 除困惑度外,要对代码、长上下文、结构化输出和业务集做逐项回归,并在目标卡型测真实吞吐、显存和尾延迟。

八、加强记忆

记住“AWQ 先找关键通道,再保护它们量化”。GPTQ 像算误差账,AWQ 像给重要通道加保护垫。

记忆时抓住“激活找重要性、等价缩放改量化难度、kernel 决定真实收益”三点。AWQ 的价值不是把所有误差平均压小,而是优先保护最影响输出的少数通道。