香港科技大学新研究:为什么把多个AI“技能模块”合并总会变差?

这项由香港科技大学研究团队完成的研究以预印本形式发布于2026年4月,论文编号为arXiv:2604.16826,有兴趣深入了解的读者可通过该编号查询完整论文。

现在的AI大模型,就像一个拥有超强学习能力的学生。你可以专门训练它学数学、学编程、学金融或者学医学,每个方向都能训练出一个"专科高手"。但问题来了——如果你想要一个既懂数学、又懂编程、还通晓金融和医学的"全能选手",怎么办?

最笨的办法是把所有领域的数据混在一起,重新从头训练一遍。但这太费时费力了,而且你已经有了好几个训练好的"专科高手",直接把他们"合并"成一个人不好吗?这就是AI领域里一个叫做"模型合并"的技术方向——把多个分别训练好的AI模块拼在一起,期望得到一个集所有本领于一身的综合体。

然而现实总是很骨感。每次合并之后,效果往往比预期差很多,甚至还不如单独的专科模块。这就像你把几位厨师合并成一个人,结果他连一道菜都做不好。研究人员们为此绞尽脑汁:到底是哪个环节出了问题?

香港科技大学的研究团队决定追根溯源,找出模型合并失败的真正原因。他们的发现出乎意料——问题不是出在整体合并过程中,而是藏在AI模块内部一个叫做"B矩阵"的小零件里。更关键的是,他们由此开发出了一种叫做**Pico**的修复方法,用极低的成本让合并效果大幅提升,甚至超越了从头联合训练的效果。

一、先搞清楚AI的"技能模块"是怎么工作的

要理解这个研究,先得明白现代AI是怎么"学习新技能"的。

大型语言模型(可以理解为ChatGPT这类AI的底层结构)的参数量高达数十亿甚至数百亿。如果每次学习一个新领域都要调整所有参数,代价极为高昂。于是有人发明了一种叫做**LoRA**(低秩适配,Low-Rank Adaptation)的技巧。

可以把AI的整个知识体系比作一本厚厚的百科全书。LoRA的做法是:不去修改这本百科全书本身,而是在旁边放一张薄薄的便利贴,上面只写着"这个领域的补充知识"。这张便利贴极其精简,只占原书体积的极小一部分,却能让AI在某个特定领域表现得非常出色。

从数学角度讲,这张"便利贴"被写成两个矩阵的乘积,记作 ΔW = B × A。其中A矩阵负责把输入信息"压缩"进一个低维空间,B矩阵再把这个低维表示"展开"回输出空间。两个矩阵的乘积就是实际生效的"知识补丁"。

由于LoRA模块体积极小,如今网上有成千上万个针对不同领域、不同任务训练好的LoRA模块,就像一个巨大的"技能库"。把这些模块合并,理论上就能得到一个多面手。但合并之后效果变差这个问题,一直困扰着研究者。

二、抽丝剥茧:问题到底藏在哪里

研究团队做了一件很有意思的事情——他们不去笼统地研究"合并为什么失败",而是把问题拆解到更细的层面:ΔW = B × A这个便利贴里,是A出了问题,还是B出了问题,还是两个都有问题?

为此,他们专门训练了四个领域的LoRA模块:数学推理、代码编写、金融分析、医学问答,都基于同一个基础模型(Llama-3.1-8B)。然后,他们测量了这四个模块之间的"相似程度"——具体来说,就是看不同模块的A矩阵之间有多相似,B矩阵之间又有多相似。

这里有个关键概念叫做"子空间重叠度",可以用更通俗的方式理解:假设每个LoRA模块在一个多维空间里"占据"了一片领土。如果两个模块的领土大量重叠,说明它们在用几乎相同的方向存储知识;如果几乎不重叠,说明它们各自开辟了独立的知识空间。

测量结果令人惊讶。A矩阵的情况还好——数学、编程、金融、医学四个领域的A矩阵彼此之间重叠极小,就像四个人各自在城市不同角落圈了一块地,互不干扰。但B矩阵的情况完全不同——四个领域的B矩阵高度重叠,就好像这四个人不约而同地都挤进了城市中心的同一块黄金地段,大家都在用几乎相同的几个方向来表达自己的知识。

这种差异随着LoRA的"秩"(可以理解为便利贴的厚度,越厚能存的信息越多)增大而愈发明显。在秩为8时,B矩阵的平均重叠度已经是A矩阵的4到5倍;当秩增大到64时,查询投影模块中B矩阵的平均重叠度达到0.0839,而A矩阵只有0.0172。而且这个规律几乎没有任何例外——在研究者测量的所有层、所有模块配对中,B矩阵的重叠度几乎总是高于A矩阵。

更值得关注的是第二个发现:B矩阵不仅重叠度高,而且它实际使用的方向数量极少。用专业术语说就是B矩阵的"有效秩"很低。在秩为64的情况下,B矩阵的平均有效秩只有约2.9,而A矩阵的有效秩高达6.5。这意味着什么?意味着即使便利贴理论上有64层,B矩阵实际上只在用其中大约3层来存储信息。而这仅仅3层,恰好是所有领域共用的那几层。

研究团队还进一步分析了这些共享方向的"贡献度分布"。以第16层查询投影矩阵为例,把四个领域的B矩阵叠加在一起做分析后发现,排名第一的共享方向就占据了总能量的相当大比例,前3个共享方向合计占53.7%的能量,前5个就达到了68.8%。换句话说,将近七成的"共享知识"都挤在了最前面的5个方向里。

而且这些共享方向并不是平等地来自各个领域——金融、数学、医学对这些主导方向的贡献明显多于编程领域。这就意味着在合并时,那些对共享方向贡献少的领域(比如编程),其特有知识更容易被淹没。

三、为什么合并会失败:一个简单的数学道理

理解了上面的发现之后,合并失败的原因就很清楚了。

回到便利贴的比喻。假设数学模块的B矩阵有一个方向特别突出,叫做"方向X",其强度为3分。金融模块的B矩阵也有"方向X",强度也是3分。医学和编程也类似。当你把四个模块直接平均合并时,"方向X"在合并结果里的强度就变成了4×3÷4=3分(完整保留),但每个模块各自独有的特异方向,在合并时被稀释为原来的四分之一,只剩0.75分。

原本"共享方向"和"专属方向"的比例是3:3,合并后变成了3:0.75,也就是4:1。共享的知识被放大了,专属的知识被压缩了。任务数越多,这种失衡就越严重——任务数为T时,这个比例就会扩大T倍。这就是为什么合并后的AI在每个具体领域都变差了:各领域的独特知识被稀释成了零头,而那些所有领域通用的、反复被累加的方向却主导了整个合并结果。

更糟糕的是,这个问题主要集中在B矩阵里,而现有的合并方法几乎没有人专门针对B矩阵做处理——大家都是把ΔW=B×A当作一个整体来操作,完全没有区分A和B各自扮演的不同角色。

四、Pico:一针见血的修复方案

既然问题主要出在B矩阵的少数几个方向被过度共享,修复思路也就顺理成章了:在合并之前,先把B矩阵里那些被共享过头的方向适当"降调",让它们不要那么强势,给各领域的专属方向留出更多空间。

Pico(Pre-merge Interference Calibration in Output-space,合并前输出空间干扰校准)的工作流程可以分成四个环节,就像一个调音师在乐队合奏前先检查每件乐器的音量是否合理。

第一步,识别共享方向。对于模型的每一层,Pico把所有领域的B矩阵横向拼接在一起,然后对这个拼接后的大矩阵做奇异值分解(SVD)。通过这个分解,就能得到一组"共同基向量",以及每个基向量被使用的强度(奇异值)。这就像把乐队所有乐器的声音录下来,分析哪些频率出现得最频繁、最响亮。

第二步,计算校准系数。对于每个共享方向,Pico计算一个"共享程度分数"——这个方向在整体能量中占多大比例。占比越高,说明它越是被各领域共同依赖的"公共方向"。然后根据这个分数,计算一个缩放系数:完全不共享的方向(分数接近0)保持不变,缩放系数接近1;而占据主导地位的共享方向则被压缩,缩放系数向1/T靠近(T是要合并的模块数量)。这就像调音师把过于响亮的频率适当调低,让各种声音更加均衡。

第三步,应用校准并合并。用这些缩放系数构建一个校准算子,直接作用在每个领域的B矩阵上,产生"校准后的B矩阵",再重新组合成校准后的更新量。然后再用常规的合并方法(比如任务算术、TIES或TSV-M)对这些校准后的更新量进行合并。关键在于,A矩阵完全不动——因为A矩阵各领域之间本来就差异足够大,不需要校准。

第四步,重新调整幅度。校准过程会压缩一些方向,导致合并后的更新量整体"变轻"了——就像调低了所有乐器的音量。为了保证合并后的AI仍然有足够的"力度",Pico最后会把合并结果乘以一个缩放因子,使其幅度恢复到原始各领域模块的平均水平。

整个Pico流程完全不需要任何额外的训练数据,只需要原有的各领域LoRA模块本身,计算代价也很低——每层只需要做一次SVD分解,以及对每个模块的B矩阵做一次矩阵乘法。它不是一个全新的合并方法,而是一个可以"插件式"地接在任何现有合并方法前面的预处理步骤。

五、实验结果:数字背后的故事

研究团队在四个领域(数学、编程、金融、医学)共八个基准测试上进行了全面评估。数学领域用的是GSM8K和MATH两个测试集,编程用HumanEval和MBPP,金融用FinanceBench和ConvFinQA,医学用PubMedQA和MedQA-USMLE。训练数据方面,每个领域从各自的专业数据集中抽取了5万条样本进行训练,保证各领域条件的公平可比。

在对比的现有方法中,除了"不做任何校准直接合并"的基线,还包括了几种当前最先进的合并优化技术:DARE(通过稀疏化减少冲突)、DELLA(基于参数幅度的采样策略)、KnOTS(在共享奇异向量基础上对齐再合并)、Core Space(在共享子空间中进行低秩合并)。

在三种主流合并框架(任务算术、TIES、TSV-M)上,Pico的提升效果都非常显著。以"任务算术"为基础合并框架时,不加校准的基线整体平均分是0.4093,加上Pico后提升到0.4430,绝对提升3.4个百分点,远超DARE(0.4186)、DELLA(0.4089)、KnOTS(0.4088)和Core Space(0.4065)。

"TIES"框架的基线更低,只有0.3859,加上Pico后跃升至0.4328,绝对提升4.7个百分点,其中医学领域的平均分更是从0.5241大幅提高到0.6116。"TSV-M"框架的基线最低,仅有0.3473,加上Pico后达到0.4305,绝对提升8.3个百分点——这个框架原本因为在低秩奇异向量空间中操作,与B矩阵的共享方向问题高度耦合,所以受益最大。在编程领域,TSV-M的基线只有可怜的0.1570,Pico加持后直接翻近一倍达到0.2942。

另一个颇具说服力的对比是与"联合多任务训练"的比较。如果把四个领域的数据全部混在一起,训练一个统一的LoRA模块,整体平均分是0.3688。而Pico加任务算术的合并结果达到了0.4430,比联合训练高出7.4个百分点。这说明在这个实验设置下,精心校准过的合并方法不仅节省了重新训练的成本,实际效果还超过了从零开始的联合训练。

各个单领域专家模块的数据也很有意思:数学LoRA在数学领域平均0.2830,但编程只有0.1090,医学只有0.3665;编程LoRA在编程领域最强(0.3598),但在其他领域都比较一般。这种"各自为政、互不兼容"的格局,正是模型合并的价值所在。而Pico合并后的模型在每个领域都能拿到相当不错的分数,真正实现了多面均衡。

六、细节追究:每个设计选择都有理由

研究团队还通过消融实验(也就是逐步去掉某个设计组件,看效果如何变化)验证了Pico各个环节的必要性。

在校准空间的选择上,他们对比了四种方案:只校准A矩阵、只校准B矩阵、同时校准整个ΔW=B×A、以及Pico的做法(只校准B)。结果清楚地显示,只校准B矩阵的效果最好(整体均分0.4430),而校准A矩阵反而让效果变差(0.3916),同时校准整个更新量的效果更差(0.3743)。这与理论分析完全一致——A矩阵各领域本来就差异显著,贸然压缩共享方向会破坏有用的领域特异性;而B矩阵才是真正堆积了过多共享信息的地方。

关于最后的幅度恢复步骤,有没有必要?实验给出了明确答案。去掉幅度恢复后,整体均分从0.4430下降到0.3908,尽管方向已经校准好了。有趣的是,去掉幅度恢复后金融领域的分数反而从0.5431微升至0.5646,但编程和医学领域却大幅下降。原因在于方向校准压缩了共享信号,使得整体更新量"太轻",在某些领域尚可接受,但在另一些依赖足够强信号的领域就会明显掉分。幅度恢复确保了校准后的合并结果不会因为整体信号太弱而失效。

在不同LoRA秩(8、16、32、64)的鲁棒性测试中,Pico在所有设置下都保持了最强的表现。特别值得关注的是TSV-M框架:在没有校准的情况下,随着秩从16增大到32再到64,TSV-M的整体均分从0.3473一路下滑至0.3206,再跌到0.2926——秩越大,B矩阵的共享问题越严重,TSV-M受到的冲击也越大。而Pico加持下的TSV-M则稳定保持在0.43以上,完全抵抗了这种随秩增大的性能衰减。

团队还在不同的基础模型上验证了Pico的迁移性。在Qwen3-4B-Base上重复了同样的四领域对比实验,结果与主实验高度一致:不加校准的基线是0.4881,Pico提升至0.5557,提升幅度约6.8个百分点,同样是所有对比方法中最好的。

渐进式合并实验则考察了一个更贴近实际应用的场景:如果你有一个编程模块,然后陆续往里加入金融、医学、数学、法律……每次加入一个新模块后,原有的编程能力会保留多少?实验结果显示,不加校准的方法随着合并数量增加变得越来越不稳定——有时候加进一个新模块反而会让编程分数提升(因为新模块的某些知识对编程有帮助),但总体上波动很大。Pico则在合并数量从2增加到6的全过程中始终保持最高的编程平均分,而且相对稳定,表现出更强的鲁棒性。

七、为什么现有方法不够用,Pico的位置在哪里

在相关工作的梳理中,研究团队仔细区分了Pico与现有方法的本质不同。

现有大多数合并优化方法,无论是DARE的参数稀疏化、DELLA的幅度采样、TIES的符号冲突解决,还是KnOTS和Core Space的共享空间对齐,都是在把ΔW=B×A当作一个整体来处理。它们要么在整个参数矩阵上做筛选,要么在完整的更新量上做对齐,从来没有追问:这个更新量内部,是A的问题还是B的问题?

Pico的独特之处恰恰在于它把问题的根源追溯到了LoRA分解内部。它不是改变合并策略,而是在合并之前先修正B矩阵——去掉那些会在合并时被反复累加的共享方向,让每个领域的B矩阵更专注于自己真正独特的信息。正因为Pico是一个预处理步骤而不是一个新的合并算法,它才能无缝地插接在任何现有合并方法前面,而不需要改变任何下游逻辑。

与另一个相关工作SVC(Li et al., 2026)相比,后者也关注了合并后奇异方向被过度累积的问题,但其做法是在合并之后对结果进行光谱校正。Pico则是在合并之前就处理,且明确针对的是B矩阵这个特定来源。两者的出发点不同,作用阶段也不同。

归根结底,这项研究揭示了一个此前被集体忽视的事实:LoRA模块里的A和B并不是对等的,它们在训练过程中扮演着非常不同的角色,因此在合并时也应该被区别对待。把它们当成一个整体来处理,就像你要合并两支乐队,却只关注总体音量,忽略了各个乐器的特性——结果必然是一团混响。

Pico的做法就是在合并前先认真审视B矩阵的"频谱",把那些被所有乐队共同过度使用的频率适当压制,然后再让各乐队合并演奏。最终,乐队融合后的声音既保留了每支乐队的特色,又有了令人满意的整体效果。

这项研究给整个模型合并领域带来的最大启示,或许不仅仅是Pico这个具体方法,而是一种新的思考方式:当一个复杂系统出现问题时,不要只在表面层面修补,要敢于深入到内部结构,找到真正的不对称性,然后有针对性地处理。换句话说,对症下药总比全身用药更有效。

对于关心AI技术发展的普通读者来说,这项研究的意义在于:它让"把多个专业AI模块合并成一个多面手"这件事变得更加可行和高效。未来,当我们想要一个既能帮你写代码、又能回答医学问题、还能做财务分析的AI助手时,也许只需要把几个分别训练好的小模块合并一下,加上Pico这样的校准步骤,就能得到一个真正称职的全能助手——而不需要耗费巨大资源重新训练一个从零开始的大模型。

---

Q&A

Q1:LoRA模型合并为什么总会导致性能下降?

A:LoRA合并失败的核心原因在于B矩阵(输出侧矩阵)中存在大量被各任务共享的方向。当多个模块直接合并时,这些共享方向被反复累加,在最终合并结果中占据主导地位,而每个任务各自独特的专属知识则被大幅稀释,导致合并后的模型在每个具体领域都表现下降。

Q2:Pico方法需要额外的训练数据吗?

A:不需要。Pico是一种完全数据无关的预处理方法,只需要原有的各领域LoRA模块本身,通过对B矩阵做奇异值分解(SVD)来识别并校准过度共享的方向,不依赖任何额外的训练数据,计算代价也很低。

Q3:Pico合并的效果能超过把所有数据混在一起重新训练的联合模型吗?

A:在该研究的实验设置下,Pico加任务算术的合并结果(整体均分0.4430)比联合多任务训练的结果(0.3688)高出约7.4个百分点。也就是说,经过校准的合并方法不仅节省了重新训练的成本,实际效果还超过了从零开始的联合训练。

作者声明:作品含AI生成内容
举报/反馈
分享到: 微博 QQ 空间
对本文内容有合作意向?
我们将在 1 个工作日内与您联系
留言咨询