趋近智
基本训练后量化 (quantization) (PTQ) 方法,例如MinMax校准,在确定量化参数 (parameter)时,对层内所有权重 (weight)的处理大致相同。然而,这种统一的做法有时会产生问题,尤其是在目标精度非常低(如4比特整数 (INT4))时。原因何在?因为并非所有权重对模型的输出贡献相同。有些权重与持续高幅度的激活值相乘,因此其精确表示对于维持层整体功能的影响更大。反之,量化与小激活值相关的权重,其影响可能较小。
激活感知权重量化 (AWQ) 直接解决了这一观察。这是一种高级PTQ技术,通过分析推理 (inference)过程中遇到的典型激活值大小,旨在保护最重要的权重。
AWQ 的中心原则是:量化 (quantization)误差对于与大激活值相乘的权重危害更大。考虑线性层中的简单矩阵乘法:,其中 是权重矩阵, 是输入激活向量 (vector)。如果特定权重 经常与较大的激活值 相乘,那么量化 时引入的任何误差都将被放大,从而对输出 产生显著影响。
AWQ 建议我们应优先保持这些“显著”权重的精度。它识别这些权重,不是通过查看权重本身,而是通过检查它们所作用的激活值。AWQ 使用少量校准数据集,观察每个输入通道到权重矩阵的激活值大小分布。持续显示大激活值的通道表示相应的权重更重要。
AWQ 根据激活尺度来评估每个权重通道的重要性。它通过模型处理校准数据,记录每个输入特征通道进入线性层时的激活统计数据(通常是最大绝对值或高百分位数)。持续表现出最大激活值的一小部分通道(例如,1% 甚至 0.1%)被认为是最重要的。与这些激活通道相连的权重,正是 AWQ 在量化 (quantization)过程中旨在保护的对象。
AWQ 不采用复杂的非均匀量化 (quantization)方案,而是使用一种巧妙的预处理步骤:每通道权重 (weight)缩放。目的是在应用标准量化之前,减小显著权重组的动态范围。
设想一个权重矩阵 。AWQ 为每个输入通道 计算一个缩放因子 。此因子主要由相应激活通道 观察到的大小决定。一种常见方法是设置缩放因子 ,使得缩放后的权重 的范围减小,特别是对于激活值 较大的通道 。
为保持层计算的数学等效性,此缩放必须进行补偿。原始运算 可重写为:
是一个包含缩放因子 的对角矩阵。权重 通过 进行缩放(对每个列 进行 的元素级除法),从而得到 。然后将量化(通常是每通道对称 INT4)应用于此缩放后的权重矩阵 。相应的激活值 在乘法前通过 进行向上缩放。
此缩放操作有效地将部分量化难度从权重转移到激活值。AWQ 的前提是:激活值通常更容易精确表示,或者缩放有时可以并入或合并到前面的操作(如层归一化 (normalization))中,且开销极小。
通道 的缩放因子 通常根据激活值和权重范围计算,以平衡缩放,例如:
此处, 是在校准数据集中观察到的激活通道 的最大绝对值, 是相应权重通道(列)的最大绝对值, 是一个超参数 (parameter) (hyperparameter)(通常在 0.5 到 1 之间),它控制基于激活值大小的缩放强度。 较高的 赋予激活尺度更大的重要性。
AWQ 的流程。原始权重矩阵 根据激活统计数据进行每通道缩放,得到 。此 被量化。激活值 在乘法前进行反向缩放,得到 ,以保持输出。
AWQ 具备多项优点:
然而,也存在一些考量:
AWQ 已被证明能有效将各种大型语言模型 (LLMs) 量化 (quantization)到 4 比特精度,且精度损失极小。库和框架通常提供实现,处理推理 (inference)过程中的校准、缩放计算和应用。使用 AWQ 时,通常需要提供预训练 (pre-training)模型和少量校准数据集。该过程输出量化后的权重 (weight)和必要的缩放因子,可供部署。
与同样处理激活异常值的 SmoothQuant 相比,AWQ 的方法有所不同。SmoothQuant 通过静态缩放将量化难度从激活值转移到权重。AWQ 根据激活值的重要性选择性地缩放权重,旨在使重要权重的量化变得更容易。这两种技术都旨在提高低比特量化精度,但使用不同的机制。与 GPTQ 相比,AWQ 避免了 GPTQ 层级优化中使用的计算量更大的 Hessian 矩阵近似。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•