用途
Model Merging 用于将多个已微调的模型合并,在不重新训练的前提下组合它们的能力。典型用途包括:融合数学、编程、对话等不同领域的专长模型,创建新的专用模型;在基准测试上获得超过单一模型的表现(资料称通常提升 5-10%);降低训练成本(无需 GPU,合并可在 CPU 上运行);快速实验,在几分钟而非几天内生成新的模型变体;在合并中保留多项技能,避免灾难性遗忘。资料提到 Marcoro14-7B-slerp 曾在 2024 年 2 月的 Open LLM Leaderboard 上取得最佳成绩,许多 HuggingFace 上的热门模型使用了合并技术。
主要能力
该技能围绕 mergekit(Arcee AI)展开,并提及 LazyMergekit、Model Soup 等工具。支持的合并方法包括:
- 线性合并(Linear / Model Soup):参数的简单加权平均,速度快,适合同类模型,可合并 2 个以上模型(权重之和为 1)。
- SLERP(球面线性插值):在权重空间中沿球面插值,保留权重向量的模长,最适合合并两个模型,比线性更平滑。资料给出公式:merged = (sin((1-t)θ) / sin(θ)) * model1 + (sin(tθ) / sin(θ)) * model2,其中 θ = arccos(dot(model1, model2)),t ∈ [0, 1]。
- 任务算术(Task Arithmetic):提取“任务向量”(微调模型减基础模型),组合任务向量后加回基础模型,适合合并多个专用模型(merged = base + α₁·tv₁ + α₂·tv₂)。
- TIES-Merging:任务算术加稀疏化,解决参数符号冲突,适合合并多个任务专用模型。
- DARE(Drop And REscale):随机丢弃微调参数并重新缩放剩余参数,减少冗余并保持性能。
此外还支持层级别合并(passthrough + slices)、从合并模型构建 MoE(merge_method: moe,配合 positive_prompts)、分词器合并(tokenizer.source: union)等高级模式。
使用方式
安装:
git clone https://github.com/arcee-ai/mergekit.git cd mergekit pip install -e .
或通过 pip:
pip install mergekit
可选安装 Transformer 库:
pip install transformers torch
基本流程是编写 YAML 配置(指定 merge_method、models、parameters、dtype 等),然后运行:
mergekit-yaml config.yml ./merged-model --cuda
资料给出了线性合并、SLERP、任务算术、TIES、DARE、层级别合并、MoE、分词器合并的完整配置示例。配置结构包含 merge_method、base_model(可选)、models(含 weight、density)、parameters、dtype,以及可选的 slices 和 tokenizer。
适用场景
- 需要组合多个微调模型能力而不重新训练时。
- 需要把领域专长(数学 + 编程 + 对话)混合成专用模型时。
- 希望快速实验、在几分钟内产出新模型变体时。
- 缺少 GPU、希望低成本合并时。
- 需要保留多项技能、避免灾难性遗忘时。
最佳实践与限制
资料给出的实践建议包括:只合并相同架构的模型(例如不要混合 Llama 与 Mistral);权重保持平衡,通常在 0.3–0.7 范围,避免 0.95/0.05 这类过度偏向;线性合并权重之和为 1,任务算术下权重之和不为 1 也可接受;TIES/DARE 的 density 可从保守值(如 0.8)开始,性能好再提高稀疏度(如 0.5),性能下降则降低稀疏度(如 0.9);可保留基础模型的首尾层、只合并中间层。资料还介绍了无监督系数调优(AdaMMS,arXiv:2503.23733):用多个候选系数合并,在少量无标注子集上生成响应,选择与相邻系数输出最一致的系数。
评估方面,资料建议使用 transformers 加载合并模型并在数学、代码、对话等任务上测试,常用基准包括 Open LLM Leaderboard、MT-Bench、MMLU、HumanEval、GSM8K。部署方面给出保存并上传到 HuggingFace Hub 的代码,以及用 GGUF 或 GPTQ 量化合并模型的命令。
常见陷阱:架构不匹配、过度偏向单一模型、跳过评估。
资源链接:mergekit GitHub(https://github.com/arcee-ai/mergekit)、HuggingFace 教程(https://huggingface.co/blog/mlabonne/merge-models)、LazyMergekit 自动化合并 notebook、TIES 论文(https://arxiv.org/abs/2306.01708)、DARE 论文(https://arxiv.org/abs/2311.03099)。另见 references/methods.md、references/examples.md、references/evaluation.md、references/coefficient-tuning.md。
关于收费、价格、平台支持范围等,资料暂未提供。