趋近智
尽管训练后量化 (PTQ) 提供了无需昂贵再训练即可对模型进行量化的显著优势,但将传统PTQ技术直接应用于大型语言模型 (LLMs) 通常会导致不可接受的精度下降。LLMs具有独特的规模和架构特性,使它们对量化固有的精度降低特别敏感。标准PTQ方法通常根据权重或激活的简单范围(最小值/最大值)来确定量化参数(缩放因子 和零点 ),但它们难以保持LLM庞大参数空间中编码的信息,特别是在目标是INT4等激进的低位格式时。
这一局限性促使了专为LLMs设计的更精密的PTQ算法的发展。这些方法不仅限于简单的范围估计,还纳入了关于模型结构和数据流的见解,以更智能的方式减少量化误差。两个获得广泛关注的典型例子是GPTQ和AWQ。
GPTQ (Generative Pre-trained Transformer Quantizer) 通过采用一种更精细的逐层量化策略并结合误差补偿来应对精度挑战。与基于全局统计信息同时量化层中所有权重不同,GPTQ按顺序处理权重,通常以小块或列的形式进行。
核心思想是最小化层输出的重建误差。当一个权重(或权重块)被量化时,会引入误差。GPTQ试图通过对同一层中剩余的、尚未量化的权重进行小幅调整来修正这个误差。这种补偿机制旨在局部抵消量化引起的扰动。
从数学角度看,对于给定的层权重矩阵 和输入 ,我们希望找到一个量化权重矩阵 ,使得输出 尽可能接近原始输出 。GPTQ通过为每一层解决一个优化问题来实现这一点:
限制条件是 的元素属于目标低位表示。GPTQ采用迭代的贪心方法。它逐个(或逐列)量化权重,并使用从逆Hessian矩阵 (或其近似值)获得的信息更新剩余权重,以最小化平方误差。这使得剩余权重能够适应并补偿由之前权重量化引入的误差。
一个比较,显示了GPTQ在量化过程中如何迭代更新权重,这与一次性量化所有权重的朴素方法不同。
由于它在过程中主动补偿量化误差,GPTQ通常比简单方法能更好地保持精度,尤其在4位精度下,尽管代价是量化过程计算量更大。
激活感知权重量化 (AWQ) 采取了不同的方法,其动机是观察到LLM中并非所有权重都同等重要。AWQ假设与具有较大激活幅度的激活相关的权重对模型性能更具影响。标准量化方法平等对待所有权重,这可能不成比例地损害这些重要权重。
AWQ提出了一种简单而有效的解决方案:通过缩放来保护重要权重。它不直接修改量化过程本身,但在量化之前为权重引入了逐通道的缩放因子。
过程如下:
激活感知权重量化 (AWQ) 过程的流程,重点说明了激活分析和权重缩放步骤。
AWQ的主要优势在于其相对于GPTQ的简洁性和速度,因为它避免了复杂的迭代更新。它依赖于一个有力的启发式方法,即激活幅度与权重重要性高度相关。尽管在所有情况下可能无法达到GPTQ的绝对最高精度,但AWQ在量化速度、易于实现性和最终模型精度之间提供了令人满意的平衡,使其成为LLM中PTQ的另一个受欢迎的选项。
GPTQ和AWQ相较于朴素PTQ,对于LLMs而言都有显著进步。
两者之间的选择可能取决于具体模型、目标位宽、量化步骤可用的计算资源以及所需的精度保持水平。
“这些先进的PTQ算法是高效部署LLM的重要工具。通过实现在可接受精度损失下对低位宽的有效量化,它们显著降低了推理的计算和内存需求。在下一章中,我们将查看可用于将GPTQ和AWQ等算法应用于LLM的实用工具包和库。”
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造