新浪财经 股票

不同的秤盘,不该称同样的重量

市场资讯 10.20 20:59

(来源:科技行者)

你有没有想过,一个行李箱的打包问题,其实藏着人工智能领域一个挺重要的技术难题?

假设你要去出差一周,要带七套不同场合的衣服:健身服、正装、休闲装、雨具、泳衣,等等。行李箱空间有限,你会怎么分配?大部分人的直觉是平均分配,每类衣服都塞差不多的量。但一个精明的旅行者会告诉你,这样打包是最糟糕的策略。正装可能只需要两件衬衫就够撑场面,而健身服你可能需要五套轮换。空间应该按照实际需求来分配,而不是一刀切地平均。

这篇来自三星研究院美国分部的论文,讲的正是AI模型合并领域里同样的道理。研究者发现,当你想把多个针对不同任务训练好的AI模块合并成一个通用模块时,几乎所有现有方法都在犯"平均分配行李箱空间"这种错误。而修正这个错误之后,模型性能能提升超过两个百分点。这听起来可能不算多,但在模型合并这个已经被反复优化过的领域里,这是一个相当扎实的进步。

从"一人一把钥匙"到"一把钥匙开所有门"

先说说问题从哪来的。

现在训练一个AI大模型,成本高得吓人,所以业界普遍采用一种叫做LoRA的技术来做"轻量级微调"。

**LoRA(低秩适应)**:一种给大模型做微调的技术,不去改动模型本身庞大的参数,而是额外加一个很小的"补丁"模块,通过训练这个补丁来让模型适应新任务,训练成本大幅降低。

打个比方,一个大模型好比一台功能齐全的中央空调系统,重新设计整套系统去适应每个房间的温度需求太麻烦了。LoRA相当于给每个房间装一个小巧的温控贴片,贴片体积小、造价低,却能精准调节局部温度。

问题来了:如果你服务七个不同的任务,比如识别交通标志、识别卫星图像、识别手写数字,你就得准备七个贴片,每次切换任务就要换一次贴片。这在服务器端还好办,但如果是手机、智能手表这类设备,频繁地换装小模块会带来明显的延迟和资源开销。

所以研究者们一直在琢磨,能不能把这七个贴片直接融合成一个,让这一个融合后的贴片同时应付七个任务?这就是**模型合并(Model Merging)**要解决的问题:不需要来回切换任务专属的模块,用一个统一的模块服务所有任务。

听起来很美好,但实际做起来,合并后的模块性能通常会比各自独立的模块差一大截。这篇论文要解决的,就是怎么把这个性能损失降到最低。

被忽视的假设:容量真的应该平均分配吗

现有的模型合并方法,无论是简单粗暴的加权求和,还是更精细的信号筛选,几乎都默认了一个前提:模型每一层、每个任务分到的"容量预算"应该是均等的。

这个"容量"具体指的是什么?LoRA模块内部可以做**奇异值分解(SVD)**,把一个复杂的矩阵拆解成一堆更简单的"方向",每个方向承载着这个任务学到的一部分特征信息。

**奇异值分解(SVD)**:一种数学分解方法,能把一个矩阵拆成若干个"主要方向",每个方向都带着一个重要性分数(奇异值),分数越大说明这个方向对还原原始信息越关键。

**秩(Rank)**:衡量一个矩阵信息复杂度的指标,在这篇论文语境下,可以理解为"允许保留多少个方向",秩越高,保留的细节越多,但占用的空间和计算量也越大。

行业惯例是,无论哪一层、哪个任务,都分配同样数量的方向(也就是同样的秩)。论文作者做了个实验,用ViT-B/32模型在七个视觉任务上跑了一遍,结果发现,不同层对不同任务的依赖程度天差地别。有些层对某个任务几乎不重要,一个方向都不需要;有些层却极为关键,需要几十个方向才能撑住效果。论文里那张分层柱状图特别直观,你能看到不同任务在不同深度的层里,所占的方向数量此起彼伏,完全不是一条平直的线。

研究者把这个"平均分配"的假设打破,重新按需分配之后,同样的合并方法(Task Arithmetic,一种简单的任务向量加权合并法),准确率直接提升了3.4个百分点。这说明什么?说明问题根本不在合并的算法本身有多精妙,而在于"怎么分配预算"这个前提假设一开始就错了。

这就好比一个连锁餐厅在做菜单规划,总部规定每道菜的食材成本必须严格一致,结果发现有些招牌菜其实需要更贵的食材才能做出味道,而有些配菜用便宜料就足够。强行统一成本反而让招牌菜口感打折,配菜却浪费了本可以省下的预算。如果不打破这个"一刀切"的规则,无论后厨手艺多好,整体出餐质量都会被这套僵硬的分配制度拖累。

净效用:一把衡量"每个方向值不值得留"的尺子

打破均等分配容易,难的是怎么知道该给谁多分、给谁少分。这其实是一个**NP难问题**。

**NP难问题**:计算机科学里一类特别难求最优解的问题,穷举所有可能性的计算量会随着问题规模爆炸式增长,实际中通常只能靠巧妙的近似方法来逼近最优解,而不是精确求解。

论文提出的解决方案叫**净效用(Net Utility)**,这是全文的核心创新。

它的逻辑其实不复杂:把每个任务的LoRA模块做SVD分解,拆出一堆"方向",然后给每个方向打一个分数。这个分数由两部分组成,一部分是这个方向对它所属任务有多重要(自身收益),另一部分是这个方向会不会跟其他任务的方向"打架"(跨任务干扰)。两者相减,就是这个方向的净效用。

用大白话讲,一个方向如果对本任务贡献很大,同时又跟别的任务基本没有冲突,那它就是宝贵资源,应该优先保留。反过来,如果一个方向对本任务作用不大,还老是跟别的任务的方向"撞车",产生干扰,那还不如直接扔掉,腾出预算给更有价值的方向用。

**数据无关(Data-free)**:指整个评分过程完全不需要用到任何实际的训练数据或测试数据,只依赖模型权重本身的数学结构就能算出结果。

这一点其实挺关键。很多同类方法需要拿验证集去反复试探最优参数,既费时间又依赖数据可得性。净效用完全绕开了这个环节,只看权重矩阵之间的几何关系就能打分,这意味着它可以直接部署,不需要额外的调优周期。

算出所有方向的分数之后,接下来这一步是全文最巧妙的设计:把所有任务、所有层的方向分数汇总到一个全局池子里,按分数从高到低排序,在总预算限制下选出得分最高的那一批。

这就好比一所大学要给各个院系分配有限的科研经费,不是按院系数量平均切蛋糕,而是把全校所有的科研项目提案摊开来,按照"预期产出减去和其他项目的资源冲突"这个综合分数统一打分排队,分数最高的项目优先拿钱,不管它是哪个院系提的。如果按院系平均分配,某个明星项目可能因为经费不够做不出成果,而某个平庸项目却占着用不完的预算晾在那儿。全局排队的做法,本质上是把"谁更值得投入"这件事从行政边界里解放出来,让真正有价值的东西浮出水面。

论文里有个特别有意思的发现,净效用允许某些方向被彻底扔掉,即便预算还没花完。研究者做了个对照实验,在预算给到112(相当于给满预算)的情况下,算法实际只用了平均61.5个方向,只花了45%的预算,剩下的方向净效用是负数,多留一个反而拖累整体表现。放弃这部分预算之后,准确率反而比把预算全部用满高出3.19个百分点。这跟传统的"预算不用白不用"的直觉完全相反,恰恰证明了净效用不是简单的排序工具,而是真的在识别"哪些方向是净负担"。

三种合并空间,五种合并方法,统统适用

净效用这套打分机制不是孤立存在的,论文把它套用在了五种主流的模型合并方法上,包括简单的任务向量加权(Task Arithmetic)、基于符号一致性裁剪的TIES、随机丢弃参数的DARE、正交化奇异向量的TSV,以及压平奇异值谱的Iso-C。同时还测试了三种不同的"合并空间",也就是在哪个数学表示层面上做合并操作:直接在原始权重空间合并、在一种叫Core Space的对齐基底空间合并,以及在KnOTS方法用的共享奇异基空间合并。

之所以要做这么多组合测试,是因为研究者想验证一件事:净效用是不是一个"万金油"式的通用改进,不管你用哪种合并算法、在哪个空间操作,套上净效用分配之后都能变好。

结果表格给出的答案相当一致。在视觉任务这边,用ViT-B/32模型跑DTD、EuroSAT、GTSRB、MNIST、RESISC45、SUN397、SVHN这七个数据集,无论在哪种空间、哪种合并方法下,净效用分配都稳定跑赢均匀分配。最大的提升出现在完整权重空间下的DARE方法,预算为64时提升了3.8个百分点。TSV方法的提升相对较小,只有0.3到0.8个百分点,研究者解释这是因为TSV本身已经对奇异谱做了重新排序和白化处理,均匀分配对它来说已经算是个相当强的起点了。

语言任务这边换成了Qwen3-4B模型,测试SNLI、MNLI、SICK、QNLI、RTE、SCITAIL这六个自然语言推理数据集。这次风向变了,TSV反而成了受益最大的方法,提升幅度稳定在3.1到3.5个百分点之间,而DARE在部分空间下反而略微下降了0.1到0.4个百分点。这个反差挺耐人寻味的,研究者用了一个叫"对数方差"的指标去衡量任务之间的异质性,发现视觉任务的异质性(数值1.83)远高于语言任务(数值0.63)。也就是说,七个视觉任务彼此之间差异巨大,交通标志识别和卫星图像分类几乎是两个世界的事;而六个语言推理任务本质上都是判断两句话之间的逻辑关系,相似度更高。这种底层数据结构的差异,直接影响了哪种合并策略更吃香。

下面这张表格摘取了论文里几个代表性的实验结果,可以直观感受一下提升幅度:

| 任务类型 | 合并空间 | 方法 | 均匀分配 | 净效用分配 | 提升 |

| 视觉(预算64) | 完整空间 | DARE | 63.5 | **67.3** | +3.8 |

| 视觉(预算64) | 完整空间 | TA | 63.5 | **66.9** | +3.4 |

| 语言(预算16) | 完整空间 | TSV | 76.8 | **80.3** | +3.5 |

| 语言(预算16) | 完整空间 | TIES | 70.2 | **73.5** | +3.4 |

有个规律值得一提,预算越紧张,净效用带来的提升往往越大。比如语言任务里TIES方法在完整空间下,预算64时提升1.7个百分点,预算16时提升飙到3.4个百分点。这符合直觉,预算宽裕的时候,随便怎么分配都能凑合过得去;但预算被压得很紧的时候,每一分预算花在刀刃上还是浪费在无关紧要的地方,差距就被放大了。这就好比一个创业公司刚拿到大笔融资时,就算花钱大手大脚也不太容易伤筋动骨;但等到资金紧张、只剩最后一笔预算时,这笔钱到底投给哪个项目,直接决定公司能不能活下去。

净效用背后,藏着一个关于"任务难度"的意外发现

论文里还做了一个挺有意思的分析实验,试图搞清楚净效用这个分数到底在衡量什么。

研究者用了Hendrycks MATH这个数学题库,把它拆成七个子领域,代数、计数与概率、几何、中级代数、数论、初等代数、微积分预备,分别给每个子领域单独训练一个LoRA模块。然后计算每个模块相对于基础模型的"相对准确率提升",提升越高说明这个领域对模型来说越容易掌握。

结果发现,相对准确率和净效用之间存在明显的负相关,相关系数达到-0.78。翻译过来就是:越难的科目,净效用分数反而越高。

这个发现乍一看有点反直觉,但仔细想想又挺合理。容易的科目,比如初等代数,模型学到的解题方向可能和其他科目高度重叠,反正都是些基础运算技巧,谁都会用到。而像微积分预备这种偏难的领域,模型必须学一些别的科目根本用不上的独特方法,这些方向天然就跟别的任务冲突小、独特性强,净效用自然就高。

这就好比一群厨师同台竞技做菜,煎蛋这种基础技法几乎每个厨师都掌握,评委给煎蛋这道菜的差异化加分不会太高,因为大家都会。但分子料理这种冷门技法,只有专攻这个方向的厨师才玩得转,一旦展示出来,评委会给出更高的独特性评分,因为这项技能稀缺、不可替代。净效用衡量的正是这种"稀缺又有用"的价值,而不是单纯的"用得多"。

这个发现的意义不止是有趣,它其实暗示净效用这套指标可能有更广泛的用途,不只是用来分配合并预算,说不定还能反过来帮我们判断一个任务对模型来说难不难学,甚至用来做任务筛选或者课程设计的参考。这算是论文一个意外之喜,作者自己在正文里也坦言这只是初步观察。

写在后面

读完这篇论文,最触动我的其实不是那两个百分点的提升数字,而是"预算不必花完"这个发现。

我们太习惯于"资源就该用满"的思维了,无论是行李箱空间、公司预算还是模型参数量,默认逻辑总是不浪费才是最优解。但这篇论文用实打实的实验数据告诉你,在112的满预算下,故意留白55%,让接近一半的方向直接被剔除掉,反而比塞满预算多出3.19个百分点的准确率。这是一种挺反常识的启发:有时候"做减法"本身就是价值的来源,多出来的部分不是浪费的机会成本,而是实实在在的负资产。

另一个让我一直在琢磨的细节是,论文发现被选中的最优方向集合"不是一个前缀"。传统方法默认按奇异值从大到小排序,取前面若干个就行,这几乎是整个SVD相关合并研究领域默认的操作范式。但论文用数据证明,视觉任务里88%的最优选择根本不是这种简单的"前几名通吃",反而是那些奇异值不那么显眼、但跟别的任务没有冲突的方向,更值得保留。这提醒我,很多领域里被视为理所当然的排序规则,可能只是因为没人认真质疑过它,而不是因为它真的最优。

这篇论文没有解决的问题也挺明显:它的推导建立在线性合并的假设上,对于像DARE这种带随机丢弃、TIES这种带符号裁剪的非线性操作,净效用的理论保证其实是打了折扣的,论文自己也承认这只是"经验性的扩展"。至于那个平衡自身收益和跨任务干扰的权重参数λ,目前是用一个数据无关的启发式方法直接算出来的,如果有验证集可用,专门调一调这个参数,说不定还能再挤出一截性能。这些留白,或许就是接下来的研究者们该接着琢磨的地方。

Q&A

Q1:净效用(Net Utility)是什么?

A:净效用是这篇论文提出的一种数据无关评分指标,用来衡量LoRA模块中每个奇异方向对自身任务的贡献减去对其他任务的干扰,分数越高说明这个方向越值得在合并时保留。

Q2:为什么均匀分配秩预算会导致模型合并效果变差?

A:因为不同层、不同任务对参数容量的实际需求差异很大,强行让每层每个任务分到相同数量的方向,会导致关键层预算不够、次要层预算浪费,实验显示改成按需分配后准确率能提升超过3个百分点。

Q3:净效用方法需要额外的训练数据或调参吗?

A:不需要,净效用完全基于LoRA模块自身的权重矩阵计算得出,不依赖任何任务数据或验证集,可以直接应用在多种现有合并方法上。

加载中...