Skip to content

Model Merging

不用训练一个新模型,而是把几个现有模型"拼"在一起——Model Merging 是开源 LLM 社区最独特、最富创造力的技术之一。它让普通开发者能在几分钟内创造出具有新能力的模型,而无需任何训练资源。

Overview

Model Merging(模型合并)是一类将多个训练好的神经网络的参数直接组合成一个新模型的技术。与 Ensemble(集成)不同,Model Merging 产生的是单个模型,而非运行时的多模型组合。

这一技术在开源 LLM 社区异常流行:Hugging Face 上有数万个"合并模型",很多在特定任务上的表现超越其"父模型"。

Core Techniques

1. Weight Averaging(权重平均)

最简单的方法,将多个模型的参数直接按权重平均:

W_merged = α * W_1 + β * W_2 + ... + (1 - Σβ) * W_base

适用场景:同架构、同基座模型的不同微调版本。

2. SLERP (Spherical Linear Interpolation)

在高维参数空间的球面上进行插值,比线性插值更自然:

W_merged = sin((1-t)θ) / sin(θ) * W_1 + sin(tθ) / sin(θ) * W_2

优点:保持参数向量的正规化,合并效果更平滑。

3. Task Arithmetic

将模型的能力视为"向量",通过向量加减来组合能力:

W_merged = W_base + α * (W_task1 - W_base) + β * (W_task2 - W_base)

关键观察:这里 (W_task - W_base) 被视为"任务向量"——即微调学到的知识。

4. TIES-Merging

解决多任务合并时的"干扰"问题:

1. 将每个任务向量置零小值(Trim)
2. 解决冲突的符号(Elect Sign)
3. 只保留一致方向的参数更新(Merge)

效果:在多任务合并上显著优于简单平均。

5. DARE (Drop And REscale)

随机丢弃部分参数更新,然后重新缩放:

1. 随机将 p% 的参数更新置零
2. 将剩余参数缩放 1/(1-p) 倍
3. 然后进行平均或其他合并

优点:减少多任务合并时的干扰,提高最终性能。

The MergeKit Ecosystem

mergekit 是开源社区最流行的模型合并工具:

yaml
# mergekit 配置示例
models:
  - model: meta-llama/Llama-2-7b
    parameters:
      weight: 0.5
  - model: WizardLM/WizardLM-7B-V1.0
    parameters:
      weight: 0.3
  - model: garage-bAInd/Platypus2-7B
    parameters:
      weight: 0.2

merge_method: slerp
base_model: meta-llama/Llama-2-7b

支持的方法:linear、slerp、ties、dare_ties、solar、model_stock 等。

Sakana AI: Evolutionary Model Merging

Sakana AI 将逻辑进化引入模型合并:

1. 初始化:随机生成多个合并方案
2. 评估:在多个任务上测试合并模型
3. 选择:保留表现最好的方案
4. 突变:对合并参数进行微调
5. 重复 2-4 步

成果:EvoLLM-JP 在日本语言任务上超越了所有基础模型。

Practical Applications

场景合并策略效果
多语言能力英语基座 + 中文微调 + 日语微调一个模型支持多种语言
多任务能力对话模型 + 代码模型 + 数学模型通用性大幅提升
安全增强基础模型 + 安全微调模型在保持能力的同时提升安全性
领域专家医学基础模型 + 临床数据微调专业领域的高性能模型

Limitations

限制说明
架构必须相同只能合并同架构的模型
参数空间干扰多任务能力可能相互抵消
难以预测合并效果通常需要实验验证
训练数据不透明不知道合并后模型的能力边界

Why It Matters

  • 零成本创新:几分钟内创建新模型,无需任何训练资源
  • 社区驱动的快速迭代:开源社区每天产生数百个合并模型,探索能力边界
  • 能力组合的艺术:将不同模型的优势组合在一起,产生"全能"模型
  • 对抗数据稀缺:当某个任务的训练数据不足时,可以通过合并获得相关能力

Relationships

  • 微调基础:Fine-tuning — 合并的微调模型通常来自 LoRA 或全量微调
  • 参数效率:LoRA / PEFT — LoRA 适配器也可以被合并
  • 开源生态:Hugging Face — HF 是模型合并的主要平台
  • 安全应用:AI Safety & Alignment — 合并安全微调模型是提升安全性的有效方法
  • 社区实践:与 Sakana AI、Arcee AI 等组织密切相关

Open Questions

  • 模型合并的理论基础是什么?为什么某些合并效果很好而其他很差?
  • 能否跨架构合并?如果不能,这是不是开源模型生态碎片化的根源?
  • 自动化合并策略搜索:能否用 AI 自动发现最优的合并参数?
  • 模型合并与模型量化、MoE 等技术的关系是什么?

Sources

AI Knowledge Base — 持续积累