这项由南加州大学与耶鲁大学联合完成的研究发表于2026年的COLM(Conference on Language Modeling)学术会议,论文编号为arXiv:2607.07964,有兴趣深入了解的读者可以通过该编号查询完整论文。
**一、为什么要给AI"减肥",以及减肥有多难**
当你用手机上的AI助手聊天、让它帮你写邮件或者搜索信息时,你可能没意识到,背后运行的大语言模型(可以理解为AI的"大脑")体积有多么庞大。以目前主流的模型为例,参数规模动辄达到几百亿甚至上千亿,这些参数就像大脑里密密麻麻的神经连接,存储着模型"学到的一切知识"。如此庞大的体积意味着什么?意味着运行它们需要消耗大量的显存(可以理解为AI专用的"工作内存"),还需要极其昂贵的专业计算硬件,普通电脑根本跑不动,甚至连主流的商业服务器也需要同时使用多块顶级显卡才能勉强撑起。
这就给AI的普及带来了严重障碍——不是每家公司都买得起那么多昂贵的硬件,更别提把AI部署到手机、平板这类边缘设备上了。于是,研究人员们开始思考一个问题:能不能在不重新训练模型的前提下,把模型"压缩"得更小,同时尽量保留它的聪明程度?
这种思路在技术上叫做"训练后量化"(Post-Training Quantization,简称PTQ)。如果把一个大语言模型比作一幅精细的油画,那么量化就是把它转换成像素更粗的版本——原来每个细节用32位精度描述,现在改用4位、3位甚至2位来描述。精度降低了,图像自然会失真,但如果失真控制得好,远看仍然跟原画差不多。这是一场在"压缩率"和"质量损失"之间寻找最佳平衡点的博弈。
现有的主流方法,比如广为使用的GPTQ,本质上是用一套数学工具来决定"怎么压缩损失最小"。但这套工具有一个根本性的局限:它只盯着神经网络每一层的"输入信号"来做判断,完全忽视了"输出信号"的重要性。这就好比一位厨师在调整食谱时,只考虑了食材的质量,却完全没想过食客的口味偏好——结果做出来的菜可能对大多数人来说还行,但对某些特定需求的食客来说,效果就差多了。
南加州大学与耶鲁大学的研究团队注意到了这个盲点,并提出了一套名为KronQ的新框架,核心思路是:在压缩决策中同时考虑"输入侧"和"输出侧"的信息,形成真正的"双向视角"。
**二、现有方法忽视了什么,以及这个疏漏有多严重**
为了理解KronQ的创新点,需要先弄清楚现有方法到底在做什么、又遗漏了什么。
在神经网络中,每一层都可以看作一个"信息处理站":信息从左边流入(输入),经过这一层的"权重矩阵"(可以理解为这个处理站的加工规则)变换后,从右边流出(输出)。量化的目标就是把权重矩阵里的数字精度降低,同时保证输出结果不要偏差太大。
衡量"偏差有多大"需要一把尺子。数学上,这把尺子叫做"海森矩阵"(Hessian matrix),它描述了改变某个权重值对最终误差的影响有多敏感。直觉上,某个权重越敏感,压缩时就越需要小心对待。
计算完整的海森矩阵代价极高,在实际操作中几乎不可行,所以研究人员通常用"近似海森矩阵"来代替。最常见的近似方式是用输入激活的协方差矩阵(记为H_X)来充当代理,这正是GPTQ等方法的做法。
然而,根据一个叫做"克罗内克分解"(Kronecker factorization)的数学工具,完整的权重海森矩阵实际上可以近似分解成两个部分的"克罗内克积":一部分来自输入侧(就是H_X),另一部分来自输出侧(记为H_G,由输出梯度的协方差构成)。现有方法只用了H_X,相当于默认另一部分H_G等于单位矩阵——也就是假设所有输出通道对误差的敏感程度完全一样。
这个假设成立吗?研究团队的实验结果给出了明确否定的答案。他们观察了LLaMA-2-13B模型(一个130亿参数的大型语言模型)中注意力机制各个投影层(Q、K、V、O四个模块)的H_G对角线元素值,发现不同输出通道之间的敏感程度差异高达好几个数量级——有的通道对误差极度敏感,有的则几乎无所谓。把它们一视同仁,就像给一群体重差异悬殊的人制定完全相同的饮食方案,结果自然是有人营养过剩、有人严重不足。
**三、KronQ的核心思路:双向"视角校正"**
KronQ的应对策略可以用"双向校正"来概括,具体体现在两个互补的层面上。
第一个层面是"双向惰性化处理"(BiIP,Bidirectional Incoherence Processing)。这里的"惰性化"是一个专业概念,背后的直觉是这样的:如果权重矩阵的某些列或某些行的数值大小差异极大(有的极大,有的极小),量化时就会非常头疼——精度预算被少数"巨无霸"数值占据,大量普通数值反而得不到足够精细的表示。解决办法是在量化之前,先对权重矩阵做一个"均匀化"处理,让所有数值的大小变得更加均匀,再量化,误差自然就小得多。
在KronQ之前,QuIP、QuIP#等方法已经从输入侧做了这种均匀化处理,具体手段是给权重矩阵左乘和右乘一些特殊的正交变换矩阵(可以理解为"旋转操作")。但这些方法只考虑了输入侧的H_X,对输出侧的H_G则完全不管。研究团队发现,H_G同样高度"不均匀"——在LLaMA-2-7B中,H_G的惰性化程度高达0.99(满分1代表最不均匀),表明输出侧同样存在严重的方向集中现象。因此,KronQ把这种均匀化处理同时应用于输入侧和输出侧,通过H_X处理列方向,通过H_G处理行方向,实现真正的双向均匀化。
处理后的效果非常直观:以Q投影层的权重矩阵为例,原始状态下列方向的变异系数(衡量不均匀程度的指标)为0.76,行方向为0.51;仅做输入侧处理后,列方向降到0.29,但行方向几乎没变(0.50);双向处理之后,列方向降到0.36,行方向也同步降到0.34,两个方向都得到了有效的均匀化。
第二个层面是"跨层混合精度分配"。既然不同层对压缩的敏感程度不同,一个自然的想法就是给敏感的层分配更高的精度(更多位数),给不敏感的层分配更低的精度(更少位数),这样在整体平均位数不变的前提下,可以获得更好的效果。
关键问题是:怎么衡量一层的敏感程度?现有方法通常用H_X的迹(所有对角元素之和,可以理解为矩阵的"总体规模")来排名。但这里有一个严重的盲点:在Transformer架构的注意力模块中,Q、K、V三个投影层共享完全相同的输入,因此它们的H_X完全相同,用H_X的迹根本无法区分这三个层的重要性,只能给它们分配相同的精度预算。
KronQ的解决方案是把输出侧信息也纳入敏感度评估:用H_G的迹乘以H_X的迹作为综合敏感度评分。虽然Q、K、V的输入相同(H_X一样),但它们的输出梯度不同(H_G不一样),因为下游使用这三个输出的方式不同。这样,KronQ就能有效区分Q、K、V的重要程度,实现更精细的位数分配。
**四、一个令人称奇的数学性质:H_G悄悄消失了**
在阐述方法的过程中,研究团队证明了一个出人意料的数学结论:在KronQ框架中,虽然完整的量化目标包含H_G,但在实际执行每一列权重的更新时,H_G会从公式中代数化约消失——也就是说,最终的权重补偿公式和原来的GPTAQ方法完全相同,H_G不出现在任何需要重复计算的步骤里。
这个性质极其关键,因为它意味着KronQ在量化效果上充分利用了H_G的信息(通过双向惰性化处理改善了权重分布),但在计算开销上没有额外的负担——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和GPTAQ的提升已经可观但仍属温和,例如在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,与浮点精度(5.47)的差距相当有限。在LLaMA-3-70B这个最具挑战性的场景下,GPTQ的困惑度超过2600,GPTAQ同样崩溃,而KronQ以7.93的困惑度完成了有意义的2位量化——这是一个几乎令人难以置信的结果,因为它意味着用平均每个参数仅2位精度就还原出了一个700亿参数模型的大部分能力。
研究团队还专门分析了LLaMA-3-70B为何会让其他方法彻底失效:这个模型的权重在某些输入维度上存在极端异常值(变异系数高达9.21),这会让量化范围被极少数巨大数值撑开,导致大量普通数值的精度严重损失。仅做输入侧均匀化可以把输入方向的变异系数压到0.39,但输出方向的变异系数仍有0.54;加上KronQ的双向处理,两个方向都降到0.29和0.24,彻底消除了异常值的破坏性影响。
在分组量化(g=128,一种更精细的量化策略,通常效果更好)的W2设置下,KronQ同样遥遥领先:LLaMA-2-7B上,GPTQ困惑度高达274,而KronQ达到7.61;LLaMA-2-13B上,KronQ的6.51优于OmniQuant的8.26和GPTAQ的7.17。
权重加激活联合量化(W2A4,即权重2位、激活4位)的结果同样令人注目。在LLaMA-2-7B上,GPTQ的困惑度为36.74,GPTAQ降至10.91,KronQ进一步降至9.38,同时在七个常识推理基准上的平均准确率也从GPTAQ的46.1%提升到48.6%。
研究团队还把评测范围扩展到了更新的2025年模型家族,包括Gemma-3-12B、DeepSeek-R1-Distill-Llama-8B和Phi-4-mini-instruct,结果在所有八个配置下KronQ均取得最低困惑度,W2精度下的优势尤为突出。更重要的是,在更硬核的评测基准上——GPQA-Diamond(研究生级别的科学问答)、MMLU(大规模多任务语言理解)、AIME-2024(美国数学邀请赛题目)、LiveCodeBench(代码生成能力测试)——KronQ在W4精度下也全面超越对比方法,尤其是在LiveCodeBench上,KronQ的得分几乎是GPTAQ的两倍,说明在实际推理和代码生成等高难度任务上,输出侧信息的重要性更加突出。
**六、混合精度分配的精细效果**
为了验证KronQ敏感度评分(tr(H_G)·tr(H_X))的有效性,研究团队做了一个控制实验:在LLaMA-2-7B上,从W2基线出发,每次将"最敏感"的一类子层从2位升级到3位,对比KronQ联合评分和传统纯输入侧评分(tr(H_X))的排名差异及效果。
用传统方法,第一名是gate_proj,升级它之后困惑度从8.15降到7.45;用KronQ联合评分,第一名是down_proj,升级它之后困惑度从8.15降到7.22,在相同平均位数(2.17位)下效果明显更好。更重要的是,传统方法给Q、K、V三个注意力层分配了完全相同的分数(因为它们共享输入),根本无法区分哪个更重要,而KronQ通过引入H_G,使得这三个层的排名有了实质性区别。
与已有的混合精度方法相比,KronQ在LLaMA-2-7B上以约2.6位的平均精度就达到了W3基线(整体3位)方法难以企及的困惑度水平,证明精准的跨层精度分配确实能把有限的"位数预算"用在刀刃上。
**七、实用性:内存节省和推理加速**
除了量化质量,研究团队还测量了KronQ在实际部署中的效率提升。在显存占用方面,KronQ在W4精度下能把推理所需的峰值显存降低3.5到3.9倍,在W2精度下甚至达到4.0到7.5倍,相比bf16(现在主流的16位浮点格式)基线大幅缩减。最直接的部署意义是:一个700亿参数的模型在bf16下需要两块80GB的A100显卡(约138-141GB显存),而用KronQ做W4量化后只需35-39GB,可以轻松放进单块A100。
在推理速度方面,由于权重数据量大幅减少,数据从显存传输到计算单元的时间缩短,实际解码速度(衡量生成每个词的时间)在7B和13B模型上提升了1.25到2.51倍。
在校准开销方面,KronQ相比GPTAQ每层多出约8到11秒的额外时间,主要来自双向哈达玛变换(一种高效的正交变换实现方式)的计算。内存方面,在BiIP预处理阶段需要额外存储H_G矩阵(一个dout×dout的矩阵),但一旦预处理完成,H_G就被释放,后续量化循环的内存开销与GPTAQ完全一致。
**八、逐项拆解每个组件的贡献**
研究团队还进行了系统的消融实验(即逐一去掉某个组件,观察效果变化),以验证每个设计选择是否真的有效。
基础量化器的贡献:如果把KronQ的底层量化器从GPTAQ替换成更简单的GPTQ,三个模型的困惑度分别从8.15/6.99/11.92恶化到9.81/7.95/14.52,说明GPTAQ的输入漂移校正机制与BiIP是相互补充的。
对角缩放的贡献:KronQ在做旋转变换之前,先对权重矩阵做了基于H_X和H_G对角元素的缩放(分别对应SX和SG两个缩放矩阵),这个操作看似简单,但去掉它(只保留旋转变换)会导致所有模型上的困惑度上升,说明对角缩放是正交变换的必要前置步骤。
旋转方向的贡献:只做输入侧旋转(H_X only)可以带来明显改善;只做输出侧旋转(H_G only)在LLaMA-2-7B/13B上严重退化(困惑度高达180/81),因为输入侧的异常值没有被处理,反而被放大了;双向结合(BiIP)才能稳定地获得最佳效果,说明两个方向的信息确实互补,缺一不可。
**九、说到底,这项研究意味着什么**
归根结底,KronQ解决的是一个"视角偏颇"的问题。此前的量化方法好比一位只盯着食材质量的厨师,忽略了食客的口味差异;KronQ则同时考虑了两端,做出的菜因而更合适更多食客的口味。
这个改进在日常场景中的意义非常具体:它让更大、更聪明的AI模型有机会在更便宜、更普及的硬件上运行。一个原本需要两块顶级显卡才能跑的700亿参数模型,经过KronQ压缩后可以在一块普通显卡上工作,质量损失却小得令人满意。这对于想要本地部署AI、保护隐私、降低云服务成本的企业和研究者来说,是相当实际的收益。
从更宏观的视角看,这项研究提醒了整个领域:在神经网络的信息流中,"输入端"和"输出端"本来就是不对称的,过去只盯着输入端的习惯是一种历史遗留的偏见,而非理论必然。KronQ提供了一个系统化的框架来纠正这种偏见,未来很可能在其他需要估算网络敏感性的场景(如剪枝、知识蒸馏)中也找到用武之地。
一个值得思考的问题是:随着模型规模继续增长,输出侧信息的重要性会如何变化?KronQ在LLaMA-3-70B这样的超大规模模型上展现出最显著的效果,某种程度上暗示答案是"越大越重要"。
对这项研究感兴趣的读者可以通过arXiv编号2607.07964查阅完整论文,相关代码也已在GitHub上公开。
---
Q&A
Q1:KronQ与GPTQ相比,最核心的区别是什么?
A:GPTQ在压缩神经网络权重时,只考虑了"输入侧"的敏感度信息,默认所有输出通道同等重要。KronQ则同时引入"输出侧"的梯度协方差矩阵H_G,通过双向均匀化处理和更精准的层间精度分配,让压缩决策更全面,在2位和3位等极低精度下优势尤为明显。
Q2:KronQ的双向惰性化处理会不会显著增加推理时的计算开销?
A:不会显著增加。KronQ在推理阶段需要对每层执行两次哈达玛变换(分别对应输入侧和输出侧的旋转),计算复杂度与QuIP#相同,均为每层O(d·log d)量级,远小于权重矩阵乘法的O(d?),实际测量中对推理延迟的影响可以忽略不计。
Q3:KronQ在2位量化下为什么能在LLaMA-3-70B上成功,而GPTQ和GPTAQ会崩溃?
A:LLaMA-3-70B的权重存在极端列方向异常值,变异系数高达9.21,这会导致GPTQ/GPTAQ的量化范围被少数超大数值撑开,普通数值精度严重受损。KronQ的双向均匀化处理同时压制了列方向(通过H_X)和行方向(通过H_G)的异常值,将两个方向的变异系数分别降至0.29和0.24,从根本上消除了崩溃的诱因。