谢菲尔德大学发现极限压缩AI模型时,初始化才是真正的拦路虎
这项由英国谢菲尔德大学计算机科学系主导的研究,以预印本形式于2026年4月9日发布在arXiv上,编号为arXiv:2604.08118v1,目前正在同行评审中。感兴趣的读者可通过该编号检索完整论文。
你的手机里装着一个能对话、能写作、能回答问题的AI助手——但它消耗的存储空间可能超出你的想象。那些强大的大型语言模型,动辄几十个GB,根本塞不进普通手机或者平价笔记本电脑。为了让AI能住进这些"小房子"里,工程师们发展出了一种叫做"量化"的技术,本质上就是把AI的记忆压缩再压缩,就像把一张高清照片压缩成更小的文件一样。
问题是,压缩得越狠,AI就越容易变傻。4位精度的压缩几乎无感,但当压缩到2位精度——也就是每个参数只剩下4种可能取值——AI的表现可能会从流畅对话直接崩溃到胡言乱语。研究人员已经尝试了很多补救方案:更宽的搜索范围、更多的训练轮次、更大的校准数据集。但谢菲尔德大学的研究团队发现,这些努力都打错了靶子。
真正的问题出在更早的地方——出在"初始化"这个步骤上。就像盖房子时地基打歪了,后来再怎么精装修都无法让房子变正。这篇论文的核心发现正是:在极度压缩的情况下,最初如何设定模型的"记忆编码方式",几乎决定了最终模型能达到的上限,而不是后来的搜索和微调。
研究团队为此专门设计了一种新的初始化方法,叫做OA-EM(输出感知期望最大化),并在三种不同架构的模型上进行了系统测试,结果表明这个方法不仅能让压缩后的AI更聪明,还能让整个压缩过程更省时间。
一、压缩AI的基本逻辑:把记忆装进"码本"
要理解这项研究,先得理解AI的记忆是怎么被压缩的。大型语言模型的核心是一张巨大的数字表格,里面存着模型学到的所有"知识"——准确说是数以亿计的权重参数。每个参数原本用32位或16位浮点数表示,非常精细。压缩的目标就是用更少的位数来表示这些参数。
"加法量化"(Additive Quantization)是其中一种颇有创意的方案。它的思路是:与其直接把每个数字变粗糙,不如把一组数字(比如8个参数构成一组)表示成若干个"代表词"之和。这些代表词来自事先准备好的"码本",每本码本里有256个条目。当你要还原原始参数时,只需要查表做加法,速度极快,几乎不需要任何计算——就像查字典一样,找到编号对应的词条,直接读出来就行。
这种方式在手机CPU、嵌入式芯片这类没有专用AI加速器的设备上格外重要,因为查表操作比乘法运算要便宜得多。AQLM(大型语言模型加法量化)正是这类方案的代表性实现:2位精度下,每组8个权重用两本码本的两个编号来表示,每本码本256个条目,两个8位索引加起来刚好2比特/参数。
整个压缩过程分两步走:先用某种方法初始化码本,确定每个"代表词"长什么样;再通过搜索,找出每组参数最匹配哪两个代表词的组合。AQLM的传统做法是用"残差K均值"来初始化——先把所有权重分成若干簇,找出每簇的中心作为第一本码本的代表词;然后用每组参数减去最近的代表词,把剩余的"误差"再做一次聚类,得到第二本码本。这个过程是贪心的、顺序进行的,先定第一本再定第二本,没有回头路。
二、地基歪了,装修救不了:初始化为何决定命运
这里出现了一个微妙却致命的问题。当你贪心地先确定第一本码本,再去确定第二本时,你其实是在做一个错误的假设:第一本码本独立来看最好,整体就最好。但现实并非如此,最好的第一本码本取决于第二本能补偿什么,而第二本是在第一本已经定好之后才设计的——两本码本之间存在相互依赖,顺序贪心的方式忽视了这种耦合关系。
研究团队用一个数学命题(论文中的Proposition 1)把这个问题精确刻画出来,分解了贪心初始化的误差来源。误差由三部分组成:第一部分是第一本码本选错了代表词产生的直接误差;第二部分是这个"选错"对第二本码本补偿能力的干扰——如果第一步走偏了,第二步能不能拉回来取决于第二本码本里有没有合适的条目;第三部分是因为第二本码本是在错误的残差上训练的,所以它学到的也不是最理想的东西,这个"错配"导致的额外损失永远不会是负的,只会让问题更糟。
关键在于第二部分能否化解第一部分的错误。这取决于压缩率,也就是研究团队引入的一个核心概念——"表示比率"ρ(rho)。
表示比率的定义很直觉:用层内权重组的数量,除以码本能表示的组合总数。对于2位精度(M=2本码本,每本K=256个条目),码本组合总数是256?=65536。对于3位精度(M=3本),组合总数是256?约等于1680万。权重组的数量则取决于模型大小,以Llama 3.2 3B为例大约是120万组。
于是,3位精度下ρ约等于0.07,意思是码本能表示的组合数远多于实际需要处理的权重组,空间绰绰有余,初始化走偏了也有大量"备用组合"能兜底;2位精度下ρ约等于18,情况完全翻转,每个码本组合平均要"照顾"18组权重,竞争激烈,初始化一旦走偏,补救的余地极为有限。
这个256倍的容量骤降不是量变而是质变。3位精度下贪心初始化只会让困惑度(衡量AI语言流畅程度的指标,数值越低越好)差0.65分,而在2位精度下,贪心初始化会让Llama 3.2 3B的WikiText-2困惑度飙升到352.39——而正常的16位精度模型困惑度只有7.28。用人话说,就是模型基本不会说人话了。
三、加宽搜索范围救不了场:为何标准补救方案失灵
面对这种崩溃,AQLM的传统对策是加宽"束搜索"(Beam Search)的宽度。束搜索是一种在搜索时同时保持多个候选方案的策略,类似于下围棋时不只计算一条路线而是同时考虑几条最有希望的路线,最后选出最好的一条。搜索宽度越大,搜到的方案越接近最优,但计算时间也越长。
按照直觉,既然搜索宽度越大越好,那只要把宽度拉足够大,初始化差一点应该也能补救——毕竟搜索会找到最好的分配方案。然而实验数据告诉我们,这个直觉在2位精度下完全失效。
当使用贪心初始化时,将搜索宽度从4提升到8,WikiText-2困惑度从352.39降至60.61,看起来有明显改善;再从8提升到16,降至46.01。但无论搜索宽度怎么加,结果始终距离健康值(约7-8)相差甚远。更奇怪的是,C4数据集上的困惑度随搜索宽度加大反而从18.64略升至19.00,说明更宽的搜索在另一个维度上其实还变差了——这暗示着模型在过度适应校准数据。
反观OA-EM初始化后的结果,搜索宽度4就能达到16.82,宽度8是17.39,宽度16是16.53,基本维持在一个稳定的范围内。
这个对比揭示了束搜索的本质局限:它优化的是给定码本下的"分配方案",而不能改变码本本身的几何形状。如果码本的代表词本来就摆在错误的位置,束搜索再宽也只是在错误的框架里找最好的路,而无法重塑框架本身。就好比一场考试题目出错了,不管你怎么认真答题,对照错误答案还是得不了高分——关键在于题目,不在于你的作答策略。
研究团队还注意到一个有趣的"时间账":在Llama 3.2 3B上,把搜索宽度从4提升到16会让量化时间从6.1小时增加到16.9小时,多花了10.8小时;但这段额外时间换来的WikiText-2困惑度改善,从352.39到46.01,依然是灾难性的结果,而不是接近健康水平。
四、OA-EM:换一种视角来摆放"代表词"
既然问题出在码本的初始代表词摆错了位置,那解决方案就是在初始化阶段就把代表词摆对。OA-EM的核心思路可以用一个建筑比喻来理解:贪心初始化相当于按照"哪里人最多就在哪里盖楼"的策略,结果大量资源浪费在偏远地区的人口密集处,而城市核心区域的需求却没被充分满足;OA-EM则相当于先调查清楚哪些区域对整个城市的经济贡献最大,优先在那些地方配置资源。
技术上,OA-EM在标准K均值初始化的基础上引入了两个改变。第一个改变是把度量距离的方式从"欧氏距离"换成"海森矩阵加权的马氏距离"。欧氏距离就是普通的直线距离,不考虑每个方向的重要程度;马氏距离则会根据各个方向的重要性做拉伸或压缩。海森矩阵(来自模型在校准数据上的二阶导数信息)告诉我们,哪些权重方向的变化对模型输出影响最大——也就是哪些方向"最敏感"。用这个矩阵来加权距离,意味着OA-EM在分配代表词时会优先照顾对模型输出影响大的权重方向,而不是简单地追求空间上的均匀分布。
第二个改变是把"最小化权重空间里的重构误差"改为"最小化输出空间里的重构误差"。听起来像绕口令,但区别很重要:前者只关心每组权重被代表词近似得有多好;后者直接关心"用这套码本重建出来的权重,让模型产生的输出和原始权重的输出差多少"。后者才是真正影响模型质量的指标,这也是"输出感知"(Output-Aware)这个名字的由来。
OA-EM的工作流程是在K均值初始化的基础上迭代改进:固定当前每组权重的分配,更新代表词使得输出重构误差最小(M步,用Adam优化器跑100步,带余弦退火学习率);再固定代表词,把每组权重重新分配给马氏距离最近的代表词(E步)。这两步交替进行3轮,总共约300步Adam更新,作为一个预处理阶段,在正式的束搜索开始之前完成。
OA-EM并没有打破AQLM的顺序框架——第一本码本还是先于第二本确定。但它通过更好的几何定位,让第一本码本的代表词更精准地覆盖了对模型输出最重要的权重方向,从而给第二本码本留下了更规整、更易处理的残差,从根源上缩小了贪心误差中的"直接误差"和"残差错配"两项。
五、实验验证:数字背后的故事
研究团队在三个模型上进行了系统测试:Llama 3.2 3B、Llama 3.1 8B,以及来自不同架构家族的Qwen 2.5 3B。所有模型都在C4数据集的128条序列上进行校准,评估则覆盖了WikiText-2和C4两个困惑度基准,以及ARC-Easy、ARC-Challenge、HellaSwag、PIQA、WinoGrande、LAMBADA六个零样本推理任务。
在OA-EM初始化之后,量化还会经历两个阶段:束搜索(找到每组权重的最佳码本分配)和PV-tuning(端到端微调,同时更新码本和分配索引)。研究的核心问题是:OA-EM带来的初始化优势,在经过这两轮后续优化之后,还能保留下来吗?
结果是明确的。在Llama 3.2 3B上,经过PV-tuning之后,OA-EM在所有搜索宽度配置下的WikiText-2困惑度都优于贪心初始化:搜索宽度4下,OA-EM得到11.53而贪心初始化得到12.66;宽度8下分别是11.53对11.76;宽度16下是11.49对12.01。差距从PV-tuning前的几十分压缩到了0.23分,但始终存在,方向始终一致。
更能说明问题的是搜索宽度的影响方式不同。贪心初始化下,宽度从4增加到8是有帮助的(12.66→11.76),但再从8增加到16反而变差了(11.76→12.01),呈现出非单调的不稳定行为。而OA-EM初始化下,宽度增加带来的效果是稳定且单调的:4和8都是11.53,16微降至11.49。如果两种方案真的收敛到了相同的优化终点,那搜索宽度对两者的影响理应是一致的——恰恰相反的行为模式说明它们处于不同的优化盆地,PV-tuning只是在各自的盆地里爬坡,而没有跳到另一个盆地。
在效率上,OA-EM也展现出明显的帕累托优势。OA-EM在搜索宽度4下只需6.1小时量化,就能得到11.53的最终困惑度;而贪心初始化在搜索宽度8下需要9.9小时,最终只能得到11.76。前者不仅结果更好,时间还节省了38%。用最省力的OA-EM配置对比最费力的贪心配置——OA-EM宽度4(6.1小时,11.53)vs 贪心宽度16(16.9小时,12.01)——OA-EM节省了63%的时间,还得到了更好的结果。
在Llama 3.1 8B上,规律同样存在,只是幅度较小:PV-tuning后WikiText-2困惑度从9.39降至9.25,C4从12.02降至11.89。8B模型之所以对初始化不那么敏感,研究团队认为是因为它在更多数据(15万亿token,而3B模型只有3万亿)上训练,权重分布更平滑,极端的高量级权重组更少,贪心初始化的"浪费"问题相对较轻。这说明表示比率ρ是预测初始化瓶颈的必要条件,但不是充分条件——权重本身的分布形态也会影响脆弱程度。
Qwen 2.5 3B上的结果则揭示了一个更细腻的面向:OA-EM在困惑度上依然赢(WikiText-2从10.93降至10.73,C4从14.57降至14.49),但在下游任务平均准确率上贪心初始化微弱领先(0.606 vs 0.603)。研究团队指出,在3B规模下零样本任务的评估本身方差较大,且Qwen架构的权重统计特性比Llama系列更平滑,初始化瓶颈本就较弱;而困惑度作为更稳定、更直接的质量信号,始终指向OA-EM更优。
六、3位精度的情况:瓶颈缩小但不消失
研究团队还专门测试了3位精度(ρ≈0.07,过完备区间)的情况,以验证"表示比率预测初始化重要性"的框架。结果显示,3位精度下初始化的影响确实小得多:贪心初始化的WikiText-2困惑度是9.52,OA-EM是8.87,差距0.65分;PV-tuning后分别是8.66和8.54,差距压缩到0.12分,约5.4倍的压缩比。
相比之下,2位精度下贪心初始化差了约43分,PV-tuning后差距压缩到0.23分,约188倍的压缩比——数值上的压缩比更大,但绝对差距依然存在,方向依然一致,说明PV-tuning在两种情况下都是"在盆地内改善"而非"在盆地间跳跃"。
3位精度的下游任务表现同样支持OA-EM:在6个任务中赢了4个,ARC-Easy提升了3.5个百分点,LAMBADA准确率提升了1.6个百分点,平均准确率从0.647提升至0.654。这意味着即使在过完备区间,初始化的好坏依然能留下可见的痕迹,PV-tuning无法完全抹平。
七、领域偏移:初始化差的模型更脆弱
研究还观察到一个颇有洞察力的现象:贪心初始化的模型在PV-tuning前,其表现失灵程度与评估数据集和校准数据集(C4)的距离成正比。
在C4本身(域内数据)上,贪心初始化的困惑度是18.64,OA-EM是18.00,差距仅1.04倍;在LAMBADA(近域外数据)上,两者分别是12.28和8.85,差距扩大到1.39倍;在WikiText-2(远域外数据)上,两者是60.61和17.39,差距达到3.49倍。这个梯度说明贪心初始化的码本在容量受限时,会把有限的表示能力过度集中在校准数据最关心的权重组上,导致对其他场景的泛化能力急剧下降。OA-EM通过海森矩阵加权,把码本容量分配给对模型输出真正重要的权重方向,而不仅仅是校准数据频繁激活的方向,因而在跨域评估下展现出更好的鲁棒性。
这个发现的实际意义在于:如果你打算在一个领域校准模型,然后用到另一个领域,初始化质量的重要性会被进一步放大;而OA-EM恰恰在这种场景下提供了更稳健的保护。
归根结底,这篇论文讲了一个关于"起点决定终点"的故事。在AI模型压缩这件事上,工程师们长期习惯于在出问题之后加大修复力度,却没有意识到问题根源在更早的地方。就像一道数学题,如果你第一步就理解错了题目,后续的计算再仔细也是枉然;但如果第一步就把方向弄对,后续哪怕粗糙一点也能得到接近满分的答案。OA-EM做的事情,本质上就是花一点点额外的精力把第一步做对——让码本的代表词从一开始就站在它们应该站的位置。
这对普通用户的影响是相当直接的。如果你希望在手机、树莓派或者没有高端GPU的笔记本上运行一个还算聪明的语言模型,研究证明了2位精度的加法量化是可行路线,而不是"压缩太狠必然崩溃"的死路。OA-EM让这条路从充满坑洞变得更加平坦可行,而且不需要任何额外的推理代价——模型部署时依然是最快的查表操作,只是在量化阶段多做了一些更聪明的前期准备工作。
一个值得继续思考的问题是:这个"初始化决定盆地"的规律,究竟在多大程度上是加法量化特有的,还是在任何需要学习离散表示的系统中都会出现?未来的研究或许会把这个框架扩展到更广泛的压缩和表示学习场景中,让"聪明地开始"成为一个更普遍的原则。有兴趣深入探讨的读者,可以通过arXiv编号2604.08118检索完整论文,代码也已在GitHub上公开(kenno94-IK/aqlm-oaem)。
Q&A
Q1:2位量化为什么比3位量化崩溃得更厉害?
A:2位量化时,每组权重只能从65536种码本组合中选一个,而模型层内约有120万组权重,平均每个组合要"照顾"18组权重,竞争激烈。3位量化时可选组合超过1680万,远多于权重组数量,初始化走偏了还有大量备用组合兜底。这种容量差距是256倍,是质变而非量变,导致贪心初始化在2位精度下几乎必然陷入糟糕的优化盆地。
Q2:OA-EM会让量化过程变慢很多吗?
A:总体上不会,甚至往往更快。OA-EM只是在束搜索前额外做3轮约300步的Adam更新,新增时间有限。更重要的是,OA-EM改善了初始化质量,使得束搜索每层需要的迭代轮次更少,反而节省了整体时间。例如在3位精度测试中,OA-EM将量化总时间从13小时25分缩短至12小时39分,节省了约5.7%。在2位精度下,OA-EM在搜索宽度4的情况下就能达到贪心初始化搜索宽度16才能接近的质量,节省63%的量化时间。
Q3:OA-EM适用于所有类型的模型压缩方法吗?
A:不是所有类型都适用。OA-EM专门针对"自由形式加法量化"这一类方法,即通过学习非结构化码本来压缩权重的方案,代表性实现是AQLM。对于使用固定数学结构码本的方法(如QuIP#使用E8格码本,QTIP使用网格码),这类方法从根本上绕过了离散分配问题,本身不存在OA-EM所解决的初始化瓶颈。不过研究团队认为,"表示比率"这个分析框架和"盆地持久性"这个现象,对任何依赖贪心顺序初始化的学习码本方法都有参考价值。
