现有多种量化方法可缩减大语言模型(LLMs)的体积,但多数仅适用于 4 位量化。当量化至 3 位或 2 位时,通常会导致精度大幅下降,致使 LLMs 无法胜任大多数语言生成任务。
近期出现了更优的低位量化方案。例如,我测试评估过的 AQLM 技术就能在 2 位量化下保持模型绝大部分精度。
AQLM 的主要缺点在于对大模型进行量化需要耗费数天时间。HQQ 是另一种优秀的低比特量化方案,但需要进一步微调以保持精度。
英特尔在优化量化算法研究领域同样表现活跃。他们提出了采用符号梯度下降(SignSD)的新型量化方法 AutoRound。该方案在低比特量化中尤其精准,且量化速度远超多数同类方法。
本文将对 AutoRound 进行技术解析。我们将了解其工作原理,以及如何以最小精度损失对 LLMs(如 Llama 3)实施量化。经实测发现,AutoRound 是 GPTQ 和 HQQ 的优质替代方案,能生成精度更高的模型。
AutoRound:用于高精度低比特量化的优化符号舍入方法
要对 LLMs 进行量化,我们主要有两类方法:
- 量化感知训练(QAT)
- 训练后量化(PTQ)
QAT 通过在训练过程中模拟低精度表示,使模型能够学习并适应量化带来的影响。与 PTQ 相比,这种方法通常能获得更高的准确率。但 QAT 也存在缺点,包括增加训练复杂度、延长训练