跳转至

OptMerge: Unifying Multimodal LLM Capabilities and Modalities via Model Merging

会议: ICLR 2026
OpenReview: https://openreview.net/forum?id=Me0n0iESJY
代码: 有(论文声明 code 与 checkpoints 全部公开)
领域: 多模态VLM / 模型合并
关键词: 模型合并, 多模态大模型, 任务向量, 低秩去噪, Omni 模型

一句话总结

这篇论文为多模态大模型(MLLM)建立了第一个能力维度 + 模态维度都划分清楚的模型合并基准,并提出 OptMerge——通过 SVD 低秩去噪 + 鲁棒的任务向量优化,把多个专家 MLLM 无数据地合并成统一模型,平均涨点 2.48%,甚至能超过混合数据训练。

研究背景与动机

领域现状:基础模型训练昂贵、更新缓慢,而社区里的领域微调模型迭代飞快(Hugging Face 上每天有人放出 VQA、几何、图表、OCR 等各种专精的 checkpoint)。模型合并(model merging)想做的,就是把这些共享同一个 base 的专家模型直接在参数空间里"加"成一个多能力模型,省下重训和存储成本,还能支持去中心化的协作开发。

现有痛点:以往的合并研究几乎只盯着两类对象——视觉分类模型,或者代码/数学任务的纯文本 LLM。MLLM 这个最有现实需求的对象反而没有一个干净的基准:训练任务和评测任务没有清晰划分。已有的两个 MLLM 合并方法也各有硬伤——AdaMMS 一次只能合并两个模型,且要在合并时反复生成回答来挑超参(假设测试集可见、很慢);UQ-Merge 把 LLaVA-v1.5 的每个微调数据集当成一个"任务",没有按 MLLM 的能力维度做分类,还要靠无标签测试集算不确定性来定合并顺序。

核心矛盾:模型合并对"任务向量"(微调模型与 base 的参数差 \(\tau_i = \theta_i - \theta_0\))极其敏感,而任务向量里同时混着冗余(不同任务重学的共享基础能力)和噪声(无关紧要的参数更新)。直接相加会放大这些干扰;而想用优化的方式去拟合一个干净的合并向量,数据无关的优化又容易不稳定、不收敛——尤其在 LoRA 这种本身就低秩的场景,合并向量会"走捷径"靠暴涨自己的范数来满足正交,最后把语言能力搞崩。

本文目标:(1) 给 MLLM 合并造一个能力划分清晰、还覆盖跨模态合并的基准;(2) 提出一个无数据、无需超参搜索、对 full fine-tuning 和 LoRA 都稳健的合并方法。

切入角度:作者先从理论上证明"微调时参数漂移的程度"才是决定合并好坏的关键——漂移小的模型虽然单任务精度略低,反而更好合并。这把"合并失败"从"算法不行"重新归因到"被合并的模型本身被过度训练"。

核心 idea:用 SVD 低秩近似从任务向量里剥离噪声,再在去噪后的子空间上鲁棒地优化合并向量(full FT 与 LoRA 用不同的稳定化技巧),让数据无关优化既准又稳。

方法详解

整体框架

OptMerge 接受 \(n\) 个从同一 base \(\theta_0\) 微调出来的专家 MLLM,先把它们各自转成任务向量 \(\tau_i = \theta_i - \theta_0\),然后根据微调方式分两条支路稳健地求出一个合并向量 \(\tau_m\),最后 \(\theta_m = \theta_0 + \lambda \tau_m\) 得到统一模型。整套流程不需要任何训练/测试数据,只在每个线性层上逐层做轻量优化(其余层直接参数平均)。

方法建立在 WUDI Merging 的优化框架之上:把合并看成最小化合并向量与各任务向量之间"层级干扰"的数据无关优化问题 $\(\min_{\tau_{m,l}} \mathcal{L}_l = \sum_{i=1}^{n} \frac{1}{\|\tau_{i,l}\|_F^2} \left\| (\tau_{m,l} - \tau_{i,l})(\tau_{i,l})^\top \right\|_F^2.\)$ OptMerge 的贡献在于:先用 SVD 把任务向量去噪、再针对 full FT 和 LoRA 两种参数性质各自做稳定化,从而修掉原始优化的两个毛病——噪声放大和范数失控。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
    A["n 个专家 MLLM<br/>(共享 base θ₀)"] --> B["任务向量<br/>τᵢ = θᵢ − θ₀"]
    B --> C["MLLM 合并基准<br/>能力维度 + 模态维度"]
    B -->|full fine-tuning| D["Full FT 合并:SVD 去噪 + 鲁棒优化"]
    B -->|LoRA fine-tuning| E["LoRA 合并:SGD + 均值初始化 + 直接低秩截断"]
    D --> F["合并向量 τₘ"]
    E --> F
    F --> G["统一 MLLM<br/>θₘ = θ₀ + λ·τₘ"]

关键设计

1. MLLM 合并基准:把能力和模态都切干净

针对"没有清晰划分训练/评测任务"的痛点,作者造了第一个对 MLLM 能力做细粒度分类的合并基准。能力维度切成 VQA、Geometry、Chart、OCR、Grounding 五类,每类收集至少 100K 公开样本做监督微调(共 588K/190K/218K/238K/135K),并配上对应的专项评测集(VizWiz/GQA、MathVista/MATH-Vision、ChartQA、TextVQA/OCRVQA、RefCOCO 系列)。为覆盖"微调 base 模型"和"微调 instruct 模型"两种现实场景,分别选了 InternVL2.5-1B-Instruct(full fine-tuning)和 Qwen2-VL-7B-Base(LoRA),同时提供两种 checkpoint。模态维度则用共享 LLM(Vicuna-7B)分别接 CLIP 视觉、BEATs 音频、LanguageBind 视频编码器,研究把视觉-语言、音频-语言、视频-语言模型合并成 Omni 模型的可行性——这是一条无数据地复用各模态编码器的新路。

2. 参数漂移理论:合并好坏取决于微调强度,而非单任务精度

这是全文的关键洞察,也是后续方法设计的依据。作者发现一个反直觉现象:合并性能随微调步数先升后降,精度更高的专家模型并不一定合得更好。论文给出第一个解释微调如何影响合并的理论上界(Theorem 3.1):对训练 \(T\) 步、固定步长 \(\eta\) 的任务 \(i\),合并后的损失满足 $\(\mathcal{L}_i(\Theta + \tau_m) \le C_i + O(\gamma^T) + O(\delta\,\eta T) + O(\eta^2 T^2),\)$ 其中 \(O(\gamma^T)\) 是收敛不充分的残差,\(O(\delta\,\eta T)\) 是跨任务干扰,\(O(\eta^2 T^2)\) 是 L-光滑带来的曲率误差。含义是:训练早期目标任务收益占主导,但接近收敛时干扰和曲率误差(随 \(\eta T\)\(\eta^2 T^2\) 增长)会反噬合并质量。所以构建基准时作者刻意调小学习率、限制参数漂移(图 2 显示任务向量幅度普遍很小,微调模型与 base 处于损失景观的相邻区域、具有线性连通性)。这也解释了为什么合并 Qwen2.5-Math 和 Qwen2.5-Coder 效果差——过度后训练导致参数漂移太大。结论:选 Hugging Face 模型时应优先挑"漂移小、更适合合并"的 checkpoint。

3. Full fine-tuning 合并:SVD 低秩近似去噪 + 去中心化优化

直接相加任务向量会放大冗余和噪声。作者先用平均任务向量 \(\bar{\tau}_l = \frac{1}{n}\sum_i \tau_{i,l}\) 把各任务向量做中心化,再对 \(\tau_{i,l} - \bar{\tau}_l\) 做 SVD,用前 \(k\) 个奇异分量 \(U_{1:k}\Sigma_{1:k}V_{1:k}^\top\) 剥离掉藏在头尾奇异向量里的噪声。更巧的一步是:把 \(\Sigma_{1:k}V_{1:k}^\top\) 代替 \(\tau_{i,l}\) 当作输入子空间 \(x_{i,l}\),丢掉次要的行空间信息、只聚焦列特征空间,于是优化目标变成 $\(\min_{\tau_{m,l}} \mathcal{L}_l = \sum_{i=1}^{n} \frac{1}{\|\tau_{i,l}\|_F^2} \left\| (\tau_{m,l} - U_{1:k}\Sigma_{1:k}V_{1:k}^\top - \bar{\tau}_l)(\Sigma_{1:k}V_{1:k}^\top)^\top \right\|_F^2.\)$ 这相当于 PCA 里保留主成分:截断奇异值保住关键特征 \(V_{1:k}^\top\),对 \(x_{i,l}\) 给出比原始 \((\tau_{i,l})^\top\) 更准的估计,从而比 Eq.(1) 更稳健地去噪。实现里 \(k\) 简单取"每个任务向量的秩 ÷ 任务数(5)",用 Adam、学习率 1e-5 优化 300 步。

4. LoRA 合并:用 SGD + 均值初始化 + 直接低秩截断压住范数暴涨

LoRA 微调天然低秩,给优化带来独特麻烦:梯度只在 \(\tau_{i,l}\) 非零奇异值方向有效、其余方向(零空间)几乎为零,合并向量被困住没法充分探索参数空间,于是它会"走捷径"——靠不断增大自身范数来同时对多个不同方向的任务向量满足正交(图 3)。大范数任务向量加回 base 会偏离原始分布,导致语言能力崩塌。作者用三个实用技巧压住它:(1) 用 SGD 替换 Adam,SGD 在稀疏梯度下更稳、还自带隐式正则,能约束优化、穿过零空间诱发的平坦区;(2) 对 \(\tau_{i,l}\) 直接做截断 SVD(不中心化),因为 \(\|\tau_{i,l}\|_F^2 = \sum_j \sigma_j^2\),截掉尾部能量 \(\sum_{j>k}\sigma_j^2\) 自然降低范数;(3) 用任务向量的均值初始化合并向量,从源头缓解范数过大。图 4 显示这套组合让合并向量的范数在整个优化过程中保持平稳,同时损失照样收敛。LoRA 场景用 SGD、学习率 1e-4 优化 300 步。

损失函数 / 训练策略

全程数据无关,只在模型的线性层上逐层最小化上面的干扰损失,其余层直接参数平均。合并系数 \(\lambda\)\(\{0.1, 0.3, 0.5, 0.7, 1.0, 1.5\}\) 中搜索;优化 300 步。InternVL 用 Adam(1e-5),QwenVL 用 SGD(1e-4)。整体在 8×V100 上完成。

实验关键数据

主实验

能力合并(InternVL2.5 full FT 与 Qwen2-VL LoRA),平均分对比:

方法 InternVL2.5 Avg. Qwen2-VL Avg.
Weight Average 49.12 60.55
Task Arithmetic 56.18 60.29
TIES Merging 56.70 61.24
TSV Merging 54.37 60.63
Iso-C 54.78 26.69(LoRA 上崩)
WUDI Merging 57.00 58.65
OptMerge (Ours) 57.44 63.30
Mixture Training / Instruct(上界参考) 57.66 62.23

关键看点:在 Qwen2-VL(LoRA)上 OptMerge 达 63.30,不仅碾压所有合并基线,还超过了 Qwen2-VL-Instruct(62.23),即合并居然胜过混合数据训练;在多个任务上合并模型甚至超过各自的专家模型(如 Geometry 40.79 vs 专家 28.95)。

模态合并(视觉/音频/视频 → Omni,Vicuna-7B):

方法 MUSIC-AVQA AVQA Avg.
单模态最优 50.77 79.20 64.11
Task Arithmetic 52.14 78.62 65.38
OptMerge (Ours) 52.77 80.82 67.00
NaiveMC(在线组合) 53.50 80.26 66.88
DAMC(在线组合) 52.80 80.78 66.79

合并三模态显著优于单模态(多模态互补),且最优合并方法甚至超过需要 3× 存储的在线组合方法 NaiveMC/DAMC。

消融实验

在 Qwen2-VL(LoRA)和 Vicuna-7B(模态)上,从 WUDI Merging 起逐项叠加:

配置 Qwen2-VL Vicuna-7B
WUDI Merging 58.65 64.65
+ SGD 48.88 (−9.77%) 66.91 (+2.26%)
+ 均值初始化 63.08 (+4.43%) 67.07 (+2.42%)
+ 低秩近似 63.30 (+4.65%) 67.00 (+2.35%)

关键发现

  • SGD 单独用反而掉点(Qwen2-VL −9.77%),但配合均值初始化后猛涨 +4.43%——说明压住范数暴涨的关键是"初始化 + 稳定优化器"协同,单独换优化器不够。
  • 不同合并方法行为差异大:线性插值鲁棒但平庸;TIES 难控稀疏度常不如 Task Arithmetic;Iso-C 在 LoRA(本就低秩)上会进一步压低 Frobenius 范数造成不稳定而崩盘;TSV 在模态合并里靠正交化化解模态冲突表现好、但多任务里普通。OptMerge 在各场景都稳定最优。
  • 效率碾压混合训练:InternVL2.5-1B 合并仅 0.22h / 2.62GB,混合训练要 25.38h / 240GB;Qwen2-VL-7B 合并 3.78h / 21.97GB vs 24.56h / 256GB。
  • 真实社区 checkpoint 也成立:直接合并 Hugging Face 上的 GRPO/Pokemon/olmOCR/EraX-VL 四个真实微调模型,OptMerge 平均 66.70,明显超过各单模型和 Qwen2-VL-Instruct(62.23)。

亮点与洞察

  • 把"合并失败"重新归因:Theorem 3.1 第一次从理论上说明合并好坏由微调时的参数漂移(学习率×步数)决定,而非算法本身——这给"该选什么模型来合并"提供了可操作的判据(挑漂移小的),是很有迁移价值的认知。
  • 诊断出 LoRA 合并的"范数走捷径"病灶并对症下药:图 3 把问题可视化成"靠增大范数满足正交→偏离分布→语言崩塌",再用 SGD 隐式正则 + 截断 SVD 降范数 + 均值初始化三连击压住,逻辑闭环很漂亮。
  • \(\Sigma_{1:k}V_{1:k}^\top\) 当输入子空间:丢掉行空间只保列特征,相当于 PCA 主成分去噪,比直接用 \(\tau_i^\top\) 给出更准的数据子空间估计——一个很巧的代换。
  • 无数据合并 > 混合训练这一发现本身很反直觉,且对 Omni 模型构建(无数据复用各模态编码器)指了一条可扩展的路。

局限与展望

  • 方法建立在"微调模型参数漂移小、与 base 线性连通"的假设上;对过度后训练、漂移大的模型(如 Math+Coder)合并效果差,适用范围受限。
  • 只优化线性层、其余层简单平均,对非线性层的潜在冲突没有处理。
  • \(\lambda\) 仍需在固定网格里搜索,虽然不需数据但并非完全免调参;秩比 \(k\) 取"秩÷任务数"较为启发式。
  • 模态合并实验仅覆盖视觉/音频/视频三模态、共享 Vicuna-7B,更大规模 Omni 与更多模态的可扩展性待验证。

相关工作与启发

  • vs AdaMMS: 它一次只能合两个模型、且要在合并时反复生成回答挑超参(假设测试集可见、慢);本文无数据、无需超参搜索,可一次合并多个 MLLM。
  • vs UQ-Merge: 它把每个微调数据集当独立任务、不按能力分类,还需无标签测试集算不确定性定合并顺序;本文给出清晰的能力/模态划分基准,且方法完全数据无关。
  • vs WUDI Merging: 本文直接站在它的数据无关优化框架(Eq.1)上,增加 SVD 去噪(Eq.3)和 LoRA 专属稳定化技巧,修掉了它的噪声放大和范数失控问题,full FT 上平均 +0.44%~1.9%、LoRA 上从 58.65 提到 63.30。
  • vs DAMC/NaiveMC(在线组合): 它们推理时动态合并各模态激活、需 3× 存储;本文静态合并成单模型、存储更省,且效果还更好。

评分

  • 新颖性: ⭐⭐⭐⭐ 首个能力+模态双维度的 MLLM 合并基准 + 参数漂移理论 + 对 LoRA 范数问题的针对性解法,组合扎实。
  • 实验充分度: ⭐⭐⭐⭐⭐ 覆盖 full FT/LoRA、能力/模态、真实社区 checkpoint、效率对比,10 个基线全面对照。
  • 写作质量: ⭐⭐⭐⭐ 理论与方法动机讲得清楚,图 3/4 可视化到位;符号略密集。
  • 价值: ⭐⭐⭐⭐⭐ 无数据合并超过混合训练这一结论 + 基准开放,对社区构建 MLLM/Omni 模型很有实操价值。