跳到正文
AI 知识地图 0.18 · 2026-07-30
关于与纠错文字目录 / Search
理解原理

模型合并:在共享坐标系里组合权重增量

从检查点平均、模型汤和任务向量,到置换对齐、符号冲突、TIES/DARE、系数搜索与安全回归。

核心命题 模型合并通过权重运算组合多个检查点,无需再次联合训练;但坐标相加只有在架构、tokenizer、参数语义和基座对齐时才可能有意义。核心风险是置换不对齐、增量符号冲突与非线性能力干扰,成功是经验结果而非线性代数保证。
读完你应该能:区分权重平均与任务向量;解释置换和盆地兼容性;手算冲突增量;设计配方搜索与回归评测。
  1. 验证共同基座与参数语义
  2. 计算权重/任务增量
  3. 诊断置换、尺度与符号冲突
  4. 搜索合并方法和系数
  5. 源任务/交叉/基础/安全联合回归
  6. 保存配方与新模型发布/回滚

1权重平均为何偶尔有效、偶尔彻底崩坏直觉

模型合并的原始动机非常朴素:既然手上有两个各自都能正常工作的模型,把它们的参数逐位取个平均,得到的新模型难道不也应该能用吗?直觉上,均值点位于两个好点的连线上,理应继承双方的能力。但实践中这个直觉经常落空——两个能力都强的模型,取平均之后可能得到能力明显退化甚至完全不能用的中间模型。理解这个反差,是理解模型合并全部后续方法的起点。

先明确模型合并的对象和流程。合并操作直接对两个或多个模型检查点的参数做数值运算,产生一个新的检查点,全程不再用联合数据训练。也就是说,整个过程没有梯度下降、没有额外的训练数据,只有参数层面的算术。它的输入是源模型权重和一份合并配方(例如各模型的权重系数、截断阈值、稀疏化比例等),输出是一个新模型。关键点在于,这个新模型必须重新评测才能确认其能力——不能因为两个源模型都通过了评测,就默认合并结果也自动合格。

合并有时有效、有时彻底崩坏的根源,在于神经网络函数对参数是非线性的。模型的能力不是各参数贡献的线性叠加:把每个参数都减半,绝不等于把每个功能各保留一半。一个语言模型记住的事实、学会的句式、掌握的推理路径,散布在大量参数构成的复杂交互里;对这些参数做线性插值,映射回功能空间时会发生什么,没有先验保证。因此“源模型好”和“均值点好”之间不存在传递关系。

什么时候平均恰好能落在好区域里?可以用“低损失连通区域”来刻画。设想参数空间中存在这样一个区域:两个参数点之间存在一条路径,沿途所有模型的损失都保持在较低水平。如果源检查点都来自同一个初始化的附近——例如同一次预训练跑出的两个相邻检查点,或者微调自同一个基座且改动很小——那么这两个点之间的区域很可能就属于这种低损失连通区,平均点落在其中,于是合并既保留了功能,还顺带平滑了两边各自的噪声,结果甚至可能比任一方更稳。反之,两个模型若从相差很远的初始化独立训练而来,它们之间往往隔着一片高损失区域,直接平均就相当于在参数空间的“峡谷”之外取了一个悬空点,输出自然崩坏。

更深一层的原因在于,独立训练会改变隐藏单元的排列和表示基底。神经网络对隐藏单元的重排具有近似对称性:把某一层两个神经元的权重交换位置,网络函数完全不变。因此同一个网络功能可以对应大量参数写法,两个独立训练的模型即使功能相似,其内部单元的顺序、符号和基底也可能完全不同。在这种坐标不对齐的状态下,第 137 号维度在模型 A 里表示一种特征,在模型 B 里可能表示另一种毫不相关的特征;逐位相加时,同一坐标承载的不同语义彼此抵消,平均结果就退化成一堆被抹平的参数。

于是合并的前提条件就清晰了:在讨论任何加权公式之前,必须先证明两个模型的参数处于可比较的坐标系中。这意味着要先确认共同基座、网络架构、词表、tokenizer、位置编码方案、归一化方式和参数命名完全一致。形状相同只表示两个数组可以做加法,绝不表示数组中同一位置承担着相同的功能。可加性只解决“数字能不能相加”的问题,坐标系对齐才解决“相加后的语义是否成立”的问题。跳过对齐检查直接调加权平均,得到的就是一个数字上合法、语义上无意义的模型。

2检查点平均与模型汤方法

当源模型来自同一条训练轨迹或同一个基座的微调分支时,参数已经天然处在可比较的坐标系里,合并可以退化为一个非常简单的加权公式。设 θᵢ 为第 i 个源检查点的完整参数,αᵢ 为它对应的合并系数,则合并模型参数为

θ合并 = Σᵢ αᵢ × θᵢ,其中 Σᵢ αᵢ = 1

所有系数之和等于 1 时,θ合并 就是各源参数的加权平均;系数如何取值,则取决于合并策略。需要时刻记住这个公式的边界:它只保证每个参数坐标都完成了一次算术平均,既不保证源模型同一坐标承载的功能是对齐的,也不保证平均之后的损失保持在低位。坐标系对齐与低损失连通性这两件事,公式本身一样也管不了。

在这套框架下,最简单的两类应用是轨迹平均和模型汤。轨迹平均面向同一次训练内部的不同步骤:SWA(随机权重平均)对训练后期多个检查点取简单平均,用一条平滑路径抵消单个检查点附近的噪声;EMA(指数滑动平均)则给近期检查点更高的指数衰减权重,让最终参数更偏向训练末尾的状态。两者的共同前提是:所有检查点出自同一次训练,天然同初始化、同坐标,平均点一般仍在低损失区域内,主要的危险只是平均窗口跨越了训练中的某个坏区域,比如学习率骤变或损失短暂飙升的区段。

模型汤处理的则是同一预训练初始化出发、用不同超参数微调出来的多个模型。这些模型共享基座坐标,差异只来自超参数带来的解的分化,因此可以在参数空间直接混合。最简单的是 uniform soup:所有候选模型全部等权平均,一次算术操作就完成,往往能在不增加任何计算的前提下改善泛化;更精细的是 greedy soup:先把验证集上最好的单个模型放进“汤”里,再逐个考察其余候选,只有能进一步改善验证集表现的才被加入。贪婪选择的问题是它反复查询同一个验证集,选出的组合可能过拟合该验证集,泛化收益在真实分布上缩水。

这些方法共享同样的输入输出结构:输入是兼容的检查点集合、合并系数和用于筛选的验证集,输出是一个加权得到的新检查点及其泛化评测结果。它们的适用范围集中在相近任务或相近数据的解之间——同一次训练的相邻步骤、同一任务的不同超参数分支。它们不是任意能力的拼装机器:把两个解决完全不同任务、能力模式互不重叠的模型直接套用这个公式,仍然无法绕开坐标对齐和连通性这两个前提。

按源模型关系整理,可以把这类简单组合分成四类:

方法源模型关系目标主要风险
轨迹平均同一次训练的不同步数平滑解跨越坏区域
模型汤同基座、同任务、不同超参数泛化与鲁棒验证集过拟合
线性插值两个兼容检查点折中能力中点损失障碍
任务算术同基座、不同任务组合增量任务冲突

前两行是本节讨论的轨迹内与同任务组合,风险最低,因为它们根本不需要跨任务的坐标对齐。后两行开始把合并对象扩展成不同任务训练出来的模型:线性插值在两个兼容检查点之间取折中,风险是两点的中点恰好撞上损失障碍;任务算术则试图把不同任务的增量组合起来,风险升级为任务之间的冲突。后两类能不能成立,取决于能不能先把每个任务的“变化量”从共同基座中分离出来,这正是模型合并后续方法要解决的核心问题。

方法源模型关系目标主要风险
轨迹平均同一次训练不同步平滑解跨越坏区域
模型汤同基座同任务超参泛化/鲁棒验证集过拟合
线性插值两个兼容检查点折中能力中点损失障碍
任务算术同基座不同任务组合增量任务冲突
θ合并=iαiθi,iαi=1

3任务向量把共同基座消掉机制

直接平均两个微调模型的参数有一个冗余的副作用:两个模型共享的共同基座会被重复平均一遍,真正想要组合的“差异部分”反而被埋在一大堆相同的公共参数里。任务向量把公共部分先减掉,让合并只作用于每个任务真正改变的东西。

设 θ基座 是所有任务微调共同出发的那个精确检查点,θᵢ 是第 i 个任务微调后的模型。第 i 个任务的任务向量定义为

Δᵢ = θᵢ − θ基座

这里的减法是逐坐标进行的:每个参数位置上都用任务模型的值减去基座的值,得到的 Δᵢ 就记录了“这次微调在这个坐标上改变了多少”,没有改变的位置自然是 0。合并公式随之变为

θ合并 = θ基座 + Σᵢ αᵢ × Δᵢ

即先把各任务向量按系数 αᵢ 加权求和,再把加权增量整体加回共同基座。αᵢ 控制第 i 个任务的增量以多强的力度进入最终模型,αᵢ 越大,该任务的特征越突出;所有 αᵢ 取 1 时,就是把每个任务的改变量等量叠加。

这个变换带来的核心收益是可解释性。平均微调模型时,公式里同时混着“大家共有的基座”和“各任务特有的变化”,无法分辨合并效果来自哪一部分;换成任务向量后,比较的对象变成“微调改变了什么”,公共基座只加回一次,增量之间的相互作用一目了然。两个任务向量在同一坐标上方向相反,合并时就会互相抵消;方向相同且幅度都很大,叠加就会过冲,把参数推到离基座过远、损失不再可靠的区域。系数因此需要在独立验证集上搜索并限制范围——验证集与任何单个任务的训练集分离,避免选出的系数只是让某一个任务看起来更好;范围限制则防止某个增量的权重被放到极端值。

任务向量还常被赋予一个超出其本分的角色:负系数。把某个任务向量的 αᵢ 设为负值,相当于从基座中减去该任务的变化,直观上像是在“削弱”这个任务对应的能力方向。它可以作为一种实验手段,但不是可验证的删除保证——没有任何机制能确认被减掉的部分恰好对应某一项具体知识,减完之后模型在分布外的表现也无法预测。

这种不可验证性源于任务向量的一个根本局限:它不是独立的语义模块。一个参数往往同时参与多项能力,一个任务向量里的非零坐标并不专属该任务。把它们线性叠加时,同一坐标上的多个意图相互纠缠,产生交叉干扰;组合出的模型可能处于任何单一任务都没覆盖过的参数区域,表现出分布外行为。任务算术的成败完全取决于这些增量在坐标上是否足够“稀疏”和“各管各的”——这恰恰是后续经验性方法要处理的冲突。

Δi=θiθ基座θ合并=θ基座+iαiΔi

4运行示例:两个三维任务向量怎样冲突逐步演算

抽象地说“任务向量会冲突”不够直观,用一个缩到三维的例子可以把冲突的三种形态全部摆出来。假设退款任务的任务向量是 ΔR = [0.6, −0.4, 0.1],安全任务的任务向量是 ΔS = [−0.5, 0.3, 0.2],把两者直接逐坐标相加,得到

ΔR + ΔS = [0.6 + (−0.5), −0.4 + 0.3, 0.1 + 0.2] = [0.1, −0.1, 0.3]

逐维看这张表:

维度ΔRΔS诊断
1+0.6−0.5+0.1强冲突
2−0.4+0.3−0.1强冲突
3+0.1+0.2+0.3同向增强 / 可能过冲

前两维是典型的符号冲突:两个任务在同一坐标上给出了方向相反的更新。第 1 维上退款任务想正向加 0.6,安全任务想反向减 0.5,直接相加后只剩 +0.1,两边的大幅更新几乎互相吃光;第 2 维同样,−0.4 与 +0.3 相加只剩 −0.1。图 1 就描绘了这个场景:两个任务向量在前两维上符号相反,若不经处理直接合并,冲突坐标上的更新就被抹平。

要特别警惕对“抵消”的乐观解读。坐标上数值相消并不表示任务冲突已经“解决”,更可能只是两种有用的更新同时被删除了:退款任务为修复退款流程付出的 +0.6 没有了,安全任务为加固安全付出的 −0.5 也没有了,剩下的 +0.1 既不足以支撑退款能力,也不足以支撑安全能力,两头落空。相消在算术上是中性的,在功能上几乎总是净损失。

第 3 维则是另一种形态:两个任务同向。+0.1 与 +0.2 相加得 +0.3,方向一致所以没有抵消,反而互相增强。增强本身不一定是坏事,但幅度过大就构成过冲风险——把参数推到任何一个任务单独训练时都没有到达过的区域,损失行为失去参照,模型可能在这条“越推越远”的坐标上表现出不可预测的行为。合并冲突因此要处理两类问题:符号相反时的抵消,和同向叠加时的尺度失控。

最后必须给这个例子划定边界:真实模型的参数空间有数十亿维,单个坐标的数值大小也不直接对应功能的重要性——一个 0.6 的更新未必比一个 0.1 的更新对最终行为影响更大,因为重要与否还取决于该坐标在模型计算路径中的位置和周围参数的相互作用。这个三维示例的价值不在数值本身,而在于说明冲突的两种基本形态(符号冲突与尺度叠加)为什么必须被显式处理,以及为什么“直接相加、事后补救”的策略在真实规模下不可行。

任务增量ΔR=[+.6, −.4, +.1]ΔS=[−.5, +.3, +.2]维 1/2 符号冲突直接相加[+.1, −.1, +.3]前两维几乎抵消两项能力可能都丢冲突感知剪小值/选主符号或分层/路由仍需实测,不保证保留
图 1 坐标抵消并不表示任务冲突已“解决”;可能只是两种有用更新都被删除。
维度ΔRΔS诊断
1+.6−.5+.1强冲突
2−.4+.3−.1强冲突
3+.1+.2+.3同向增强/可能过冲

5置换对称让独立模型坐标不对齐对齐

考虑一个只有两层的网络。把它的隐藏层神经元顺序任意交换一下,网络的计算结果会变吗?答案是:如果只换顺序而不同步调整连接,网络自然被破坏了;但如果把前一层的输出权重行和后一层的输入权重列按同一套顺序同时交换,那么前一层送出的第 3 号输出仍然流进后一层的第 3 号输入,整条计算路径原样保留,网络函数可以完全相同,只是参数向量写成了另一种排列。这个性质就是置换对称:神经元的编号变了,组合出来的功能没变。

置换对称的直接后果是,同一个网络功能在参数空间里有大量等价写法。独立训练的两个模型即使学到了几乎相同的功能,各自收敛到的隐藏单元排列和表示基底也可能完全不同——一个模型的“特征 A”住在第 137 号坐标,另一个模型的“特征 A”住在第 409 号坐标。此时直接逐坐标平均,就会把模型 A 的“特征 A”与模型 B 的“特征 B”混合在一起,合并结果自然退化。这就是为什么前文强调:形状相同只保证数组能相加,不保证同一位置承担相同功能。

于是对齐成为一个独立的处理步骤:输入是两个源模型的权重,或者两个模型在同一批校准输入上的激活值,输出是神经元、通道或注意力头之间的对应关系。按使用的信号不同,对齐方法分成三类。weight matching 直接比较权重的相似程度来寻找排列——哪些神经元在两边承担的角色最像,就把它们配成一对;激活匹配改用响应相似度配对——把同一批校准输入送进两个模型,看哪些神经元/通道/头的输出模式最接近,按模式配对;permutation alignment 再依据配对结果把其中一个模型的坐标重排到另一个的编号体系下,使配对后的参数在坐标上对齐。对齐完成后,逐坐标运算才重新有意义。

但局部对齐不解决全部问题。即便每一层的神经元都找到了合理的配对、坐标已经重排,两模型之间那条参数路径是否全程保持低损失仍然没有保证。置换对称本身只保证“存在”功能等价的写法,不保证两个模型的解落在同一个低损失连通区域里;对齐消除的是坐标错位,而不是两个解之间的损失障碍。因此对齐是合并的必要准备,不是合并成功的充分条件。

这也解释了为什么余弦相似度只能当筛查信号。余弦相似衡量两个参数向量之间的夹角是否接近,常被拿来快速判断两个模型是否“差不多”。但参数向量有数十亿维,大量无关紧要的普通坐标贡献了高相似度,可能把少数几个关键层的严重不对齐掩盖掉。两个整体相似度很高的模型,完全可能在某一层上功能完全错位。所以高相似只能用于快速过滤明显不兼容的候选,最终结论仍然要回到插值路径上的损失曲线和合并后的任务评测上,靠直接证据说话。

6TIES 等处理的是经验冲突算法

任务向量相加会冲突,一个自然的应对思路是:在相加之前先修剪掉那些可能制造冲突的成分。TIES 就是这条思路上有代表性的一条经验路线,它的出发假设是——微调产生的增量里存在大量冗余或噪声,冲突主要来自这些不必要、不可靠的坐标。

TIES 的处理顺序分三段。第一步,修剪小幅更新:把绝对值很小的任务向量元素直接置零。理由是小幅更新很可能是微调噪声,而非任务能力的真正载体,剪掉它们让增量变稀疏,冲突的“战场”也随之缩小。第二步,按聚合符号解决冲突:对每个坐标,统计各任务向量在该坐标上贡献的净方向,决定这一坐标只保留正向还是负向的更新。第三步,只合并与主符号一致的值:与该坐标主符号相反的更新一律丢弃,同向的才进入求和。经过这三步,符号相反的更新不再互相抵消,合并结果在符号上变得“干净”。

此外,合并系数还可以精细到“按层”:给每一层设置独立的系数,而不是所有层共用同一个标量。这样不同层可以按不同的力度吸收任务增量,比全局系数多一层控制;代价是每一层都增加一个自由度,配方的搜索空间随之扩大。

这些步骤各自的得失可以用一张表概括:

步骤希望解决可能伤害
剪除小幅更新去噪、稀疏许多小值共同构成重要功能
统一符号防止相互抵消少数任务必要的反向更新
随机丢弃 + 重标度减少干扰方差与不可复现
层级系数细调能力搜索空间过大

每一行的“可能伤害”都对应一个真实的风险面。剪小更新假设“小的就是噪声”,但模型里大量小幅度参数协同工作也能构成重要功能,一刀切可能误伤;统一符号假设“多数方向是对的”,但少数任务在个别坐标上恰恰需要反向更新,被强行翻转后能力受损;随机丢弃带来方差,同一种子之外的运行不可复现;层级系数固然能更精细地调配能力,但每一层多一个自由度,搜索空间随之爆炸。

它们都不是解析保证。TIES 的阈值取多少、层级系数的具体数值,没有任何理论能事先算出正确答案;这些超参数本身就是合并配方的一部分,必须连同阈值、系数一起写进配方,并在验证集上接受检验。经验方法的价值在于提供“很可能更好”的操作序列,而不是“必然更好”的定理。

步骤希望解决可能伤害
剪小更新去噪/稀疏许多小值合成重要功能
统一符号防相互抵消少数任务必要反向更新
随机丢弃+重标减少干扰方差与不可复现
层级系数细调能力搜索空间过大

7适配器组合与全权重合并不同适配器

把多个适配器线性相加,是不是就等于得到一个多任务模型?答案是否定的,但它确实比全权重合并多了一条灵活的路:适配器可以在共享基座上各自演进,再决定是合并进权重还是按请求分开使用。

先看适配器的结构。适配器存的是相对共同基座的小增量,而不是一份完整的独立权重。把基座记为 θ基座,第 i 个适配器与基座合并后的权重就是 θ基座 + Δᵢ——这正是第 3 节任务向量的形式。因此当所有适配器共享精确相同的基座时,合并公式与任务向量完全相同:θ合并 = θ基座 + Σᵢ αᵢ × Δᵢ,系数 αᵢ 仍要在独立验证集上搜索。适配器“又小又轻”只是让这套算术更好落地,并不能改变它的规则:同一坐标上符号相反的增量照样抵消,同向且幅度大的增量照样过冲,能不能真正变成多任务模型,仍然必须靠评测来回答,而不是靠结构本身给出保证。

与全权重合并相比,适配器场景真正多出来的是“不合并”的选项:多个适配器作为独立模块保留,推理时按请求启用其中一个,也就是路由。路由和合并是两回事:路由每次只用一套能力,切换与回滚都很直接;合并则把所有增量一次性写进同一个权重,推理时没有分支开销,但干扰一旦被固定进权重,事后无法单独撤销。两者各有取舍,选择哪条路以及采用什么系数,都只能靠端到端评测确认。

还有一个全权重与适配器共有的工程陷阱:量化。如果模型参数以打包整数的量化格式存储,就不能直接对整数坐标做平均——那通常没有正确的浮点语义。正确的顺序是先解量化,把权重还原成浮点再参与任何算术;合并完成后再重新量化,并且重新校准量化参数,否则合并后的激活范围已经变化,沿用旧的量化尺度会引入额外误差。

8兼容性清单是硬门槛工程

合并失败的绝大多数现场,回头看都出在同一个地方:某项元数据不一致,但操作者抱着“先试试看”的心态往下做了。兼容性检查的价值就在于,把“先试试”变成“不满足就立即停止”。有几类不一致是不可修复的,任何加权公式、任何剪枝技巧都救不回来。

第一类是结构层面。架构、层数、隐藏维度和参数命名必须一致:架构不同则计算图不同,参数根本不是同一套函数;层数不同则参数张量数量对不上;命名不同则即便形状凑巧相同,加错了对象也不会报错,只会静默地产出一个语义错乱的模型。第二类是分词层面。tokenizer、词表大小与顺序、特殊 token 必须一致。特别要注意:词表大小相同不代表词表内容相同——两个模型可能都恰好有 50 000 个 token,但同一 id 在两边指向完全不同的字符串;token id 语义不同会直接破坏嵌入层和输出头,因为这两处的行与列是按 id 一一对应语义的,id 错位等于让模型用“苹果”的嵌入去解码“香蕉”。第三类是计算环境层面。位置编码、归一化方式、chat template 必须一致,这些看似外围的设定共同决定同一份输入在两边产生怎样的激活,任何一项不同,坐标系对齐的前提就不成立。第四类是来源层面。精确的共同基座及其 revision 必须可验证:任务向量要求 θ基座 是每个任务实际微调所出发的那个检查点,revision 不同、量化不同、词表被扩展过的“同一个”模型都不是同一个原点。

除此之外还有三项工程要求。权重的 dtype 与量化恢复方式必须明确:若源模型是量化存储的,必须先按正确的方式解量化恢复成浮点再运算,合并后再重新量化并重新校准。许可必须允许产生并分发合并产物:合并模型是一个新发布物,各源模型的许可证要同时覆盖“合并”与“再分发”两个动作,缺一不可。最后是记录:保存源模型哈希、基座信息、合并系数、层级规则、剪枝阈值、随机种子、代码版本和合并结果哈希,任何一次合并都要能按这份记录完整复现。

这些要求背后是一个容易被忽视的定性判断:合并是新的模型发布,而不是对源模型的微调。合并产物不应沿用任一源模型的名称或安全声明——两个源模型各自通过的安全评估,对它们的加权和没有任何效力;合并模型的能力与安全边界必须从零开始重新建立。

9评测要寻找能力干扰而不只看各自基准评测

合并评测最典型的一个失败模式是:退款任务的基准维持住了,安全任务的基准也维持住了,两个单项分数都正常,但用户发出一个既涉及退款又涉及安全的组合提示时,模型回答得一塌糊涂。分数没有说谎,只是没覆盖真正会出问题的区域——能力交互。单项评测各自独立地测量退款能力和安全能力,组合提示却让两种能力在同一段推理里协作,协作路径上的干扰是单项分数看不见的。合并的目的从来不是“每个单项别掉太多”,而是让多个能力在同一个权重里共存并协同,因此评测必须围绕干扰来设计。

评测的输入应当包含源模型、合并候选,以及一套独立于训练流程的测试矩阵:单任务测试、交叉组合测试(两个任务能力同时出现)、冲突指令测试(两个任务给出相反要求)、通用能力测试、长上下文测试、工具使用测试和安全测试。输出的也不只是每项分数,还应保存逐样本的能力迁移记录(哪些样本从源模型到合并模型变好或变坏)、硬风险结果(安全类别上不可接受的失败)、系统成本(推理开销、显存、时延)以及一份可回滚的配方。分数可以平均,但安全不能平均——不能用两个平均分去掩盖同一个高风险样本从安全变不安全的退化,这种单点退化必须被单独暴露。

评测还需要参照系。把合并候选与源模型、简单平均、任务向量、冲突处理方法、联合微调和路由基线放在同一套测试下比较,才知道合并带来的收益是否真实;按合并系数扫描并绘制帕累托前沿,即那些“不牺牲另一项指标就无法继续改善某一项”的候选边界,可以看清不同能力之间的真实置换关系——前沿上的每一个点都代表一种可接受的取舍,前沿之外的候选则是被支配的。在决定是否采用合并之前,还应检查插值路径损失:从 θA 到 θB 的中间模型若出现高损失峰值,说明两点之间存在损失障碍,直接平均的风险很大;用逐层或逐模块的消融实验定位干扰来源,可以确认退化集中在哪几层、哪几个模块,为修复提供方向。

合并成功的标准因此不是某个分数,而是一组联合条件:合并产物在目标能力组合上提供真实的质量或成本收益,硬风险没有相对源模型的退化,并且拥有可复现的配方与可回滚的路径。三个条件缺一不可——没有真实收益的合并是浪费,硬风险退化的合并不值得部署,不可复现、不可回滚的合并则无法进入生产。

11把因果链连起来综合

模型合并的全部方法,可以收拢成一条从问题到可验证实践的因果链。链条的每一步都以前一步为必要条件,任何一步被跳过,后续步骤的结论就不再成立。

第一步,验证共同基座与参数语义。合并是两个模型在同一坐标系里的算术,所以先要确认源模型共享精确相同的基座,并且架构、层数、隐藏维度、参数命名、tokenizer、词表与特殊 token、位置编码、归一化和 chat template 全部一致。这一步验证的是“同一坐标承载同一语义”,是一切后续运算的合法性来源;没有它,任何加权公式都只是数字游戏。

第二步,计算权重或任务增量。有了合法坐标,才能对参数做算术:同轨迹的检查点直接做加权平均;同基座不同任务的模型先减基座得到任务向量 Δᵢ = θᵢ − θ基座,使合并聚焦于“微调改变了什么”,再按 αᵢ 加权叠加回基座。减基座对基座精确性的要求极高——revision、量化、词表扩展的任何差异都会让 Δᵢ 失去统一原点。

第三步,诊断置换、尺度与符号冲突。增量算出来之后,要先看清它们之间如何互相干扰:独立训练的模型存在置换对称,需要 weight matching、激活匹配或 permutation alignment 对齐坐标;同一坐标上符号相反的更新会抵消,同向且幅度大的更新会过冲;更新密集时,TIES 的剪小更新与统一符号、把适配器分开路由可以削减冲突,但这些只是经验操作,阈值、系数都只是配方参数,不是解析保证。

第四步,搜索合并方法和系数。方法与冲突诊断相匹配:低冲突用简单平均或模型汤,跨任务用任务算术,冲突严重时叠加剪枝与符号处理;系数在独立验证集上搜索并限制范围,沿帕累托前沿看清能力间的真实置换关系。插值路径上的损失曲线和逐层消融在这一步提供决策依据:路径出现高损失峰值,直接平均就危险;消融定位到具体层,才知道该调整哪里。

第五步,做源任务、交叉组合、基础能力与安全性的联合回归。合并产物的评测不能只看各自基准——源任务分数都维持而组合提示失败的案例,说明能力交互必须单独测试;交叉组合、冲突指令、长上下文、工具使用与安全测试共同覆盖交互区域,逐样本记录能力迁移与硬风险退化,任何单项平均分都不能掩盖单个高风险样本从安全变不安全。

第六步,保存配方,按新模型发布并保留回滚。合并是新的模型发布,不是源模型的延续:不沿用源模型名称与安全声明,许可要覆盖合并与再分发;源模型哈希、基座、系数、层级规则、剪枝阈值、随机种子、代码版本和结果哈希全部入档,保证可复现;保留回滚路径,使一次被验证失败的合并可以在任何时刻被干净地撤销。

整条链的因果关系是单向的:没有坐标对齐,增量就没有意义;没有冲突诊断,方法选择就是盲选;没有联合回归,成功无从定义;没有配方与回滚,合并就无法进入生产。模型合并之所以“偶尔有效、偶尔彻底崩坏”,本质就是这条链上的某一环被当作可选步骤跳过了。

资料来源与改编说明
访问日期:2026-07-22