ParamMerge 研究路线:从参数平均、Task Arithmetic 到多专家能力合并
数学、代码、指令遵循三个专家已经训练好了,能不能直接把它们的权重合成一个模型,省掉下一轮多任务训练或蒸馏?这就是 Parameter Merging,参数合并 要解决的问题。文献中更常见的总称是 Model Merging;ParamMerge 通常是实验表里的方法类别名称,而不是某个唯一的算法。
Open-MOPD 中的 ParamMerge-Avg 和 ParamMerge-TA 是理解这个方向的好入口:前者平均专家权重,后者组合专家相对于共同初始化的参数增量。沿着这个区别继续追问,就会遇到模型合并的核心问题:哪些变化承载能力,哪些变化可以叠加,哪些变化会破坏其他专家的行为?
本文梳理代表性方法与研究问题,不做完整论文排行榜。论文事实附原始来源;数值玩具例子、局部近似推导和最后的实验设计属于本文分析,不是论文报告的实验结果。
1. 先确定:到底在什么空间合并
假设多个领域专家都来自同一个初始化模型,参数分别为 \(\theta_1,\ldots,\theta_K\)。将它们整合成一个服务,有几条不同路线:
| 路线 | 合并对象 | 最终部署形态 | 整合阶段的主要成本 |
|---|---|---|---|
| 输出集成 | 多个模型的概率或预测 | 保留多个模型 | 多模型推理与聚合 |
| 专家路由 | 每个输入选哪个专家 | 保留专家池 | 路由与专家服务 |
| 参数合并 | 权重或权重增量 | 通常是同结构单模型 | 权重处理、系数搜索与评测 |
| 多教师蒸馏 | 教师对输入的行为监督 | 一个学生模型 | 教师推理、学生训练;OPD 还需 rollout |
参数合并的吸引力是:专家已经存在时,最终整合有机会只做一次离线权重运算,推理仍只运行一个模型。不过,“合并不训练完整模型”不等于“整个流程零成本”:专家训练、校准数据处理、超参数搜索和评测都应单独计账。
参数平均与输出平均不等价
对非线性神经网络,一般有:
\[ f\!\left(x;\frac{\theta_1+\theta_2}{2}\right) \neq \frac{f(x;\theta_1)+f(x;\theta_2)}{2}. \]
因此,两个专家各自表现好,并不能推出它们的权重中点也表现好。
简单逐元素合并还要求参数对应关系合理:同名张量的形状相同只是起点,词表行、网络结构和参数坐标也需要对齐。共同初始化通常使这个条件更容易成立。独立训练模型存在神经元置换等对称性;Git Re-Basin 专门研究通过置换对齐改善合并,说明“坐标是否可比”本身就是一个问题。它并不意味着任意两个异构 LLM 都可以直接对齐后合并。
2. Avg 与 Task Arithmetic:差别首先是增量尺度
记共同初始化为 \(\theta_0\),专家 \(d\) 的任务向量为:
\[ \Delta_d=\theta_d-\theta_0. \]
这里的“任务向量”就是训练前后的权重差,不是隐藏层中的语义向量。在 Open-MOPD 的训练谱系中,自然的共同锚点是三个 RL 专家分叉前的 MixSFT,而不是更早的预训练 Base。Open-MOPD §2.3
2.1 ParamMerge-Avg:完整参数平均
\[ \theta_{\mathrm{Avg}} =\frac{1}{K}\sum_{d=1}^{K}\theta_d =\theta_0+\frac{1}{K}\sum_{d=1}^{K}\Delta_d. \]
这条等式很重要:平均完整权重,等价于平均任务增量后加回共同初始化。
Model Soups 展示了同一预训练模型经过不同微调配置后,权重平均可以改善精度与鲁棒性,而且不增加单模型推理开销。但“同任务的多个微调解”与“不同任务的专门化专家”有不同的整合难度,前者的成功不能直接作为后者的保证。
2.2 ParamMerge-TA:任务增量的线性组合
Task Arithmetic 以任务向量为操作对象。常见的共享系数形式为:
\[ \theta_{\mathrm{TA}} =\theta_0+\lambda\sum_{d=1}^{K}\Delta_d. \]
也可以给每个专家一个系数:
\[ \theta_{\mathrm{merge}} =\theta_0+\sum_{d=1}^{K}\lambda_d\Delta_d. \]
由公式直接得到:共享系数 \(\lambda=1/K\) 时,TA 就是 Avg;\(\lambda=1\) 时,则把各专家相对共同初始化的变化完整相加。TA 本身不包含按坐标消除冲突的步骤。
下面是一个纯粹用于解释尺度的玩具例子:
\[ \theta_0=(0,0,0),\quad \Delta_{\mathrm{math}}=(3,0,0),\quad \Delta_{\mathrm{code}}=(0,3,0),\quad \Delta_{\mathrm{IF}}=(0,0,3). \]
Avg 得到 \((1,1,1)\),而 \(\lambda=1\) 的 TA 得到 \((3,3,3)\)。当三个任务恰好修改不同坐标时,平均会把每个任务独有的变化缩小到三分之一。但真实专家往往同时修改大量共享参数,完整相加也可能把共享变化放大过头。
所以,TA 优于 Avg 的一次实验,首先可能说明增量尺度需要调整,并不能单独证明模型解决了任务冲突。
2.3 为什么必须报告共同锚点
将 TA 展开:
\[ \theta_{\mathrm{TA}} =\sum_d\lambda_d\theta_d +\left(1-\sum_d\lambda_d\right)\theta_0. \]
当系数和不为 1 时,替换 \(\theta_0\) 会直接改变结果。因此,使用预训练 Base 还是 MixSFT,不是可以省略的实现细节;必须与专家的训练谱系一起记录。
3. 合并为什么失败:三个不同层次的问题
3.1 参数坐标发生抵消
同一个参数位置,如果两个专家的增量分别为 \(+0.8\) 和 \(-0.7\),直接相加只剩 \(+0.1\)。这是明确的数值抵消,但还不能直接判定它是否有害:被抵消的可能是关键能力,也可能是训练噪声。
同号也不等于安全。如果几个专家都加强某种输出风格,叠加后可能过度强化这一行为。只统计符号冲突会漏掉这种尺度问题。
3.2 参数增量不等于功能变化
以下是一个局部分析视角。对输入 \(x\),在 \(\theta_0\) 附近做一阶展开:
\[ f(x;\theta_0+\Delta) \approx f(x;\theta_0)+J_{\theta_0}(x)\Delta. \]
即使 \(\Delta_i^\top\Delta_j=0\),功能变化 \(J\Delta_i\) 和 \(J\Delta_j\) 也未必正交,因为:
\[ (J\Delta_i)^\top(J\Delta_j) =\Delta_i^\top J^\top J\Delta_j. \]
这解释了为什么全模型 task-vector cosine 只是诊断指标:它没有考虑输入分布,也没有考虑模型对不同参数方向的敏感程度。
3.3 多任务损失的曲率不同
再考虑领域 \(d\) 的局部二阶近似:
\[ L_d(\theta_0+\Delta) \approx L_d(\theta_0)+g_d^\top\Delta +\frac{1}{2}\Delta^\top H_d\Delta. \]
代入 \(\Delta=\sum_i\lambda_i\Delta_i\) 后,会出现:
\[ \lambda_i\lambda_j\Delta_i^\top H_d\Delta_j. \]
这些交叉项说明,两个增量能否兼容,还取决于目标领域的损失几何。上述推导只适用于局部近似,没有证明远距离合并必然成功;它的用途是提醒我们区分 参数符号、功能变化、任务损失 三种不同层次。
4. 代表性方法:分别在修复什么
| 方法 | 主要操作 | 需要的数据或统计量 | 主要自由度 |
|---|---|---|---|
| Avg / Model Soups | 平均或筛选后平均权重 | 固定平均可无数据;筛选需验证信号 | 模型集合、权重 |
| Task Arithmetic | 组合相对共同锚点的增量 | 固定系数可无数据;调参需验证信号 | 全局或逐任务系数 |
| TIES-Merging | 修剪增量、选符号、同号合并 | 核心操作可无数据 | 保留比例、缩放系数 |
| DARE + merger | 随机丢弃并重缩放增量,再合并 | 核心操作可无数据 | 丢弃率、随机种子、后续合并器 |
| Fisher Merging | 按参数重要性加权 | Fisher 估计数据或预计算统计量 | 重要性估计、模型权重 |
| RegMean | 匹配线性层输出 | 输入激活的二阶统计量 | 层级统计与数值处理 |
| AdaMerging | 自适应优化合并系数 | 原方法使用无标签目标数据 | 逐任务或逐层系数 |
4.1 TIES:先处理坐标上的干扰
TIES-Merging 的三个步骤是:
- Trim:将任务向量中绝对值较小的变化置零。
- Elect Sign:对每个坐标,根据保留增量选出合并方向。
- Disjoint Merge:只合并与选定方向一致的非零增量。
用同号均值版本表示,记修剪后的增量为 \(\widehat\Delta_{d,j}\),坐标 \(j\) 的方向及参与集合为:
\[ s_j=\operatorname{sign}\!\left(\sum_d\widehat\Delta_{d,j}\right), \qquad \mathcal I_j=\{d:\widehat\Delta_{d,j}s_j>0\}. \]
\[ \Delta_{\mathrm{TIES},j} =\frac{1}{|\mathcal I_j|}\sum_{d\in\mathcal I_j}\widehat\Delta_{d,j}, \qquad \theta_{\mathrm{merge}}=\theta_0+\lambda\Delta_{\mathrm{TIES}}. \]
实际实现还需规定符号平局及空集合行为;复现时应对照作者代码。符号选择依赖增量大小,并不是简单的专家票数多数决。
它的代价也很明确:少数任务的重要变化可能被删掉。因此,应同时看总体得分和最差领域保留率。
4.2 DARE:稀疏化增量,再交给合并器
DARE 是 Drop And REscale。设丢弃率为 \(p\),保留掩码 \(m_j\sim\operatorname{Bernoulli}(1-p)\):
\[ \widetilde\Delta_j=\frac{m_j}{1-p}\Delta_j, \qquad \mathbb E[\widetilde\Delta_j]=\Delta_j. \]
先处理每个专家的增量,再用 TA 等方法合并。它是可组合的预处理步骤,不必被当作与 TIES、TA 完全互斥的算法。
需要守住两个边界:丢弃的是 delta,不是整个模型权重;期望上保持 delta,也不意味着非线性网络的输出与任务性能保持不变。论文主要研究 SFT 同源模型,不能直接把高丢弃率的结论照搬到长期 RL 专家。
4.3 Fisher 与 RegMean:让合并关注参数的作用
Fisher Merging 用 Fisher 信息近似参数重要性。对角近似下,加权合并可写为:
\[ \theta_{\mathrm{merge},j} =\frac{\sum_d\alpha_d F_{d,j}\theta_{d,j}} {\sum_d\alpha_d F_{d,j}}. \]
某个坐标对某个专家更重要时,该专家的权重获得更大影响。分母接近零时需要稳定化处理;Fisher 的估计分布也会影响结果。
RegMean 则把线性层合并写成输出匹配问题。采用 \(X_dW_d\) 的矩阵约定,一个简化目标为:
\[ \min_W\sum_d\|X_dW-X_dW_d\|_F^2. \]
令 \(G_d=X_d^\top X_d\),在矩阵可逆的理想情形下:
\[ W=\left(\sum_dG_d\right)^{-1}\sum_dG_dW_d. \]
这里是局部线性层的基本形式,不能当作任意 Transformer 的完整合并配方。两类方法都提醒我们:合并时即使不再访问原始训练样本,也可能需要此前计算的数据统计量,不能笼统称为“完全不依赖数据”。
4.4 AdaMerging:把系数变成可优化变量
AdaMerging 在任务向量基础上学习合并系数,包含逐任务和逐层形式。逐层形式可写为:
\[ \theta_{\mathrm{merge}}^{(\ell)} =\theta_0^{(\ell)}+\sum_d\lambda_d^{(\ell)}\Delta_d^{(\ell)}. \]
原方法利用无标签目标数据上的预测熵来调整系数,而不重新优化全部网络参数。作者实现 给出了具体流程。
迁移到生成式 LLM 时,需要重新验证目标函数。分类预测更自信,和生成回答更正确不是同一个命题;无约束地降低 token 熵,可能只让模型更加确定地重复错误答案。
5. 回到 Open-MOPD:ParamMerge 是一个有竞争力的基线
Open-MOPD 在 SmolLM3-3B 的三个领域报告了以下结果,均来自论文 Table 2,不是本文复现实验:
| 方法 | Math | Code | IF | 三域均分 | Recovery |
|---|---|---|---|---|---|
| MixSFT e4 | 17.95 | 17.60 | 41.46 | 25.67 | — |
| ParamMerge-Avg | 19.95 | 19.79 | 43.86 | 27.87 | 32.9% |
| ParamMerge-TA | 22.34 | 22.44 | 46.60 | 30.46 | 71.7% |
| Naive M-OPD | 21.26 | 19.26 | 43.64 | 28.05 | 35.6% |
| Open-MOPD | 22.42 | 21.73 | 49.58 | 31.24 | 83.4% |
| RouteRL | 24.24 | 21.73 | 51.08 | 32.35 | 100% |
其中:
\[ \mathrm{Recovery} =\frac{S_{\mathrm{method}}-S_{\mathrm{MixSFT}}} {S_{\mathrm{RouteRL}}-S_{\mathrm{MixSFT}}}. \]
RouteRL 按领域选择不同 RL 专家,不是单模型,也不是数学意义上的性能上限。
从表中可以直接读出:TA 高于 Avg,也高于 Naive M-OPD;Open-MOPD 总分高于 TA,但 Code 分数低于 TA。两者总体差距为 0.78 分,不能据此宣称某一种整合方式在所有领域、所有成本条件下都占优。
复现缺口:本文核对的 Open-MOPD v1 正文及附录,没有找到该行 TA 的具体合并系数与搜索方案。因此,不能把表中结果自动解释成 \(\lambda=1\),也不能由 TA 的优势直接归因于某种冲突消除机制。
6. 参数合并与 MOPD:可以互补,但机制不同
参数合并直接操作专家的终点权重;MOPD 通过教师对学生生成轨迹的反馈继续训练学生。前者通常更便宜,但依赖参数兼容性;后者可以在学生实际访问的状态上纠偏,同时引入 rollout 成本、教师推理成本与训练动态问题。Open-MOPD 的具体蒸馏流程见论文 §2.1,也可结合本站的 Open-MOPD 解读 阅读。
这里有一个容易混淆的地方:
| 诊断量 | 所在空间 | 直接回答的问题 |
|---|---|---|
| 任务向量符号、余弦相似度 | 参数空间 | 专家训练后的权重变化是否相似 |
| 教师概率或 log-prob 分歧 | 输出空间 | 教师对给定上下文的预测是否一致 |
| 不同目标的梯度内积 | 优化空间 | 当前参数处的更新方向是否相容 |
三个量不能互相替代。教师对一批 token 意见接近,不足以证明它们的权重可以直接平均;任务向量在参数上抵消,也不足以证明 MOPD 一定出现梯度冲突。
一个值得验证的组合是 merge → OPD:先用参数合并得到较强初始化,再用较短的蒸馏阶段修复合并后的行为缺口。这是实验假设,不是本文已经验证的结论。合并也可能改变 rollout 分布,让后续训练更难,因此对照必须包含相同训练预算下的 MixSFT 初始化。
7. 如果研究 RL 专家合并,实验应该怎样设计
这一节给出本文建议的研究路线。核心目标是把“方法真正改善了能力整合”与“选中了更好的尺度或多花了搜索预算”区分开。
7.1 先建立可解释的基线阶梯
- 固定 Avg:不调参,提供最简单参考。
- 共享系数 TA:搜索整体增量强度,确认是否只是尺度问题。
- 逐任务系数 TA:允许不同专家占比不同,检验全局系数是否过于粗糙。
- TIES 与 DARE + TA:在相同验证预算下,分别检验修剪、符号选择和随机稀疏化的价值。
- 逐层合并:检查不同层是否需要不同专家组合。
- merge → OPD:在计入合并搜索成本后,与相同总预算的 OPD 比较。
所有调参使用独立验证集,测试集只用于冻结方案后的最终报告。随机稀疏化应报告多个随机种子。没有搜索预算约束的最优结果,很难与固定配方公平比较。
7.2 同时报告均值、短板和成本
平均分之外,可以定义领域能力增益保留率:
\[ R_d=\frac{S_d(\theta_{\mathrm{merge}})-S_d(\theta_0)} {S_d(\theta_d)-S_d(\theta_0)}. \]
报告每域 \(R_d\)、最小 \(R_d\),以及原始分数。只有专家确实比初始化更强、且分母不接近零时,这个比例才容易解释;它允许小于 0 或大于 1,不应强行截断。
成本至少包括:共享或独立的专家训练成本、合并计算、校准与搜索、评测生成、后续蒸馏 GPU-hours,以及最终推理延迟。固定现成专家时可以单独比较整合成本,但不能把它与端到端成本混为一谈。
7.3 三个值得优先验证的问题
问题一:RL 专家的增量,是否仍满足 SFT 合并方法的经验条件? 选取多个 RL 训练阶段的 checkpoint,在控制专家能力差异后,比较增量范数、分层分布与合并收益。如果后期更难合并,应区分训练距离、行为专门化和任务难度,而不是仅凭全模型 cosine 下结论。
问题二:同号与异号坐标,到底哪些对行为重要? 先测符号冲突,再结合校准样本上的敏感性或功能扰动。通过有控制的保留、删除实验,验证冲突位置是否真的导致能力损失,避免把一个统计现象直接当成机制。
问题三:能力保留能否成为合并的显式约束? 单独最大化宏平均可能牺牲小领域。可以尝试在限制最差领域退化的条件下优化系数,并报告均值与短板之间的 Pareto 曲线。改进是否成立,要在未参与选系数的测试数据上验证。
8. 实践中最容易遗漏的细节
- 检查训练谱系与锚点。 相同模型名称不足以证明来自同一个 checkpoint;记录各专家、共同初始化与 tokenizer 的版本。
- 核对参数语义。 词表顺序、额外 token、embedding、输出头、共享权重与 adapter 配置都可能影响逐元素合并。
- LoRA 要合并实际更新。 对 \(\Delta W=BA\),直接平均 \(A\) 和 \(B\) 一般不等于平均 \(BA\),会额外引入交叉项。
- 避免低精度差分掩盖小增量。 实现时考虑以 FP32 计算 delta 和累加,再转换为目标存储精度;量化 checkpoint 还需明确反量化与重新量化流程。
- 保存完整配方。 除输出模型外,记录系数、锚点、修剪或丢弃比例、种子、逐层规则及验证集选择标准。
参数合并最有价值的研究问题,是找到“什么样的专家变化可以稳定组合”的条件,并用行为评测检验这些条件。Avg、TA、TIES 和 DARE 提供了逐步拆解这个问题的工具;与 MOPD 结合时,则还需要回答:额外训练究竟修复了哪一类合并误差,以及它是否值得相应的计算成本。
参考文献与延伸阅读
- Model Soups: Averaging Weights of Multiple Fine-Tuned Models Improves Accuracy without Increasing Inference Time,ICML 2022。
- Editing Models with Task Arithmetic,ICLR 2023。
- TIES-Merging: Resolving Interference When Merging Models,NeurIPS 2023。
- Language Models are Super Mario: Absorbing Abilities from Homologous Models as a Free Lunch,DARE,ICML 2024。
- Merging Models with Fisher-Weighted Averaging,NeurIPS 2022。
- Dataless Knowledge Fusion by Merging Weights of Language Models,RegMean,ICLR 2023。
- AdaMerging: Adaptive Model Merging for Multi-Task Learning,ICLR 2024。
- Git Re-Basin: Merging Models modulo Permutation Symmetries,ICLR 2023。
- Open-MOPD: Diagnosing and Fixing Capability Imbalance in Multi-Teacher On-Policy Distillation,2026,本文核对版本为 v1。
点赞与评论
喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。
如果评论无法加载,请检查网络连接后刷新页面。