2bit量化后LLaMA-3-70B还能用?COLM 2026论文把GPTQ按在地上摩擦

700亿参数的大模型,用2bit精度跑,GPTQ直接崩溃到困惑度2600+(相当于随机乱猜),而KronQ还能保持在7.93——这件事发生在COLM 2026的论文里,发出来之后很多人反复确认了好几遍。今天帮你拆开看,这到底是怎么做到的。

大模型压缩的老问题:只管输入,不管输出

现在主流的量化方法,比如GPTQ,本质上是在问:压缩权重的时候,怎么让”压缩后的输出”和”原来的输出”尽量接近?这需要一把”尺子”来衡量”改变某个权重会多大程度影响最终误差”——这把尺子叫海森矩阵(Hessian matrix)。

计算完整的海森矩阵代价太高,没人真去算。GPTQ用的是一种近似:用”输入激活的协方差矩阵”来代替,数学上记作H_X。这个做法有个隐含假设——所有输出通道对误差的贡献是一样的。

但这个假设成立吗?南加州大学和耶鲁大学的研究者看了LLaMA-2-13B里注意力层Q、K、V、O四个投影矩阵的输出梯度,发现不同输出通道的敏感程度可以差好几个数量级。把它们一视同仁,相当于给体重差异悬殊的人制定完全相同的饮食方案,结果必然是有人撑死、有人饿死。

KronQ的解法:把”输出侧”也拉进来

KronQ的核心思路很直接:把”输出侧的梯度协方差矩阵”H_G也纳入量化决策。具体做了两件事。

第一件事叫”双向惰性化处理”(BiIP)。量化的难点之一是权重矩阵里数值大小差异极大——少数巨大的数值会霸占精度预算,让大量普通数值得不到足够精细的表示。解决办法是先对矩阵做”均匀化”,让所有数值大小更接近,再用旋转矩阵把异常值分散开。

QuIP、QuIP#这些方法已经做输入侧的均匀化(用H_X处理列方向),但输出侧(行方向)完全没管。KronQ发现,在LLaMA-2-7B里,H_G的惰性化程度高达0.99(满分1代表最不均匀),输出侧同样存在严重的方向集中。所以KronQ把均匀化同时作用于输入和输出两侧——列方向用H_X,行方向用H_G。

处理效果很直观:LLaMA-2-7B的Q投影层,原始状态下列方向变异系数0.76、行方向0.51;只做输入侧处理后,列方向降到0.29,行方向几乎没变(0.50);双向处理后,列方向0.36,行方向也降到0.34,两个方向同时改善。

第二件事叫”跨层混合精度分配”。不同层对压缩的敏感程度不同,敏感的层给更多位数,不敏感的给更少,在总位数不变的前提下效果更好。关键问题是怎么衡量”敏感度”——现有方法用H_X的迹(所有对角元素之和)来排名,但Q、K、V三个投影层共享完全相同的输入,所以H_X完全一样,根本分不出谁更重要。

KronQ的解法是用 H_G的迹 × H_X的迹 作为综合评分。Q、K、V虽然输入相同,但输出梯度的分布不同,所以H_G不同,这样就能有效区分三个层的重要性。

一个意外的数学性质:H_G在计算时”消失”了

这里有个有趣的细节:研究者证明,在KronQ的框架里,虽然完整的量化目标包含了H_G,但实际执行每一列权重更新时,H_G会从公式中代数化约消失——最终的权重补偿公式和GPTAQ完全一样,H_G不出现在需要重复计算的步骤里。

这意味着KronQ充分利用了H_G的信息(在预处理阶段改善了权重分布),但计算开销和GPTAQ没有区别。H_G就像一位在赛前帮运动员热身的教练,比赛开始后教练不上场,但运动员的状态已经因此改善了。

实验结果:差距在最极端的压缩场景里最显著

研究者在LLaMA-2(7B/13B/70B)和LLaMA-3(8B/70B)上做了系统评测,分W4(4位)、W3(3位)、W2(2位)三档,指标是WikiText-2困惑度和七个常识推理基准的零样本准确率。

W4精度下,KronQ相比GPTQ的提升已经可观但温和:LLaMA-2-7B上,GPTQ困惑度5.82,GPTAQ为5.69,KronQ达到5.56,优于SpinQuant(5.58)和OSTQuant(5.64)。

W3精度,优势开始扩大:LLaMA-2-13B上,GPTQ恶化到9.41,GPTAQ为6.52,KronQ保持在5.18。

W2精度才是真正拉开差距的地方:LLaMA-2-7B上,GPTQ为31.11,GPTAQ直接崩溃(NaN),KronQ达到8.15;LLaMA-3-70B上,GPTQ超过2600,GPTAQ同样崩溃,KronQ以7.93完成了有意义的2位量化——这意味着用平均每参数仅2bit精度,还原出了一个700亿参数模型的大部分能力。

为什么LLaMA-3-70B会让GPTQ/GPTAQ彻底失效?

这个模型的权重在某些输入维度上存在极端异常值,变异系数高达9.21——量化范围被少数超大数值撑开,大量普通数值精度严重受损。仅做输入侧均匀化可以把列方向变异系数压到0.39,但行方向仍有0.54;加上KronQ的双向处理,两个方向才分别降到0.29和0.24,彻底消除了异常值的破坏性影响。

落地价值:单卡跑70B模型成为可能

在显存占用方面,KronQ在W4精度下把推理峰值显存降低3.5~3.9倍,W2精度下达4.0~7.5倍。700亿参数模型在bf16下需要约138~141GB显存(两块80GB A100),用KronQ做W4量化后只需35~39GB,单块A100就能跑。推理速度在7B和13B模型上实测提升1.25~2.51倍。

下一步

这篇论文的相关代码已在GitHub上公开(arXiv:2607.07964)。如果你在部署大模型,对量化质量或显存优化有需求,KronQ值得重点关注——尤其是当你要跑70B以上的超大模型时,输入+输出双向视角的思路很可能成为标配。

评论区

0 条评论

登录后可评论。

AI 论文日报 1585 阅读