mergekit
开源大模型权重合并工具,无需重新训练即可融合多个模型能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源大模型权重合并工具,无需重新训练即可融合多个模型能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你手里有三个训练好的大模型:一个擅长写代码,一个中文理解能力强,一个数学推理出色。传统做法是让三个模型同时运行,再用"投票"或"加权平均"来输出结果——这叫集成学习(Ensemble),缺点是推理时三个模型都要跑,成本翻三倍。
mergekit 提供了另一种思路:把这三个模型的权重直接融合,变成一个"全能模型"。推理时只跑一个模型,成本和单模型一样,但效果却接近集成。这就像把三位专家的技能直接"写入"同一个人的大脑——不是让他们轮流发言,而是把他们的知识真正融合在一起。
这个过程在学术上叫 Model Merging(模型合并),mergekit 正是目前该领域最成熟的开源工具包之一。
模型合并并非新概念,但真正让它走向主流的原因有两个:
第一,训练成本爆炸式增长。 训练一个 GPT-4 级别的大模型需要数千万美元,中小团队根本无法承受。而模型合并可以在已有模型基础上"无训练"地创造新能力——不需要梯度、不需要数据、不需要昂贵的 GPU 集群。 Sakana AI 在 2024 年发表的论文《Evolutionary Optimization of Model Merging Recipes》系统论证了这一方向,随后mergekit 迅速跟进实现了相关算法。
第二,开源模型生态繁荣。 HuggingFace 上有数十万个微调模型,覆盖了各种垂直场景。这些模型大多是基座模型(如 Llama、Mistral)加特定数据微调的结果,架构相同但权重各异。mergekit 的核心价值就是让任何人能将这些现成模型自由组合,创造出专属于自己的"定制模型"。
mergekit 的核心原理基于一个关键洞察:大模型的"知识"存储在权重矩阵中,而相同架构的模型在权重空间中具有几何相关性。合并操作本质上是对这些权重矩阵做数学运算。
项目实现了 18+ 种合并算法,涵盖三大类:
第一类:球面插值(Slerp/NuSLERP)。 将模型权重看作高维空间中的向量,通过角度插值在两个模型之间平滑过渡。适合合并能力相近的模型,合并后行为较为稳定。
第二类:任务向量方法(TIES / DARE / Task Arithmetic)。 每一项微调都会对原始预训练权重产生一个"偏移量"——即任务向量。TIES 方法通过裁剪冲突的向量、DARE 通过随机丢弃部分任务向量,来解决多模型合并时的方向冲突问题。
第三类:进化优化(Evolve)。 使用 CMA-ES 进化算法,自动搜索最优的合并参数组合。这相当于用机器学习来优化"如何合并模型"本身,适合追求极致性能的研究者。
深入源码可以看到 mergekit 的设计哲学:极低的内存开销 + 灵活的执行调度。
Out-of-Core 架构。 mergekit 不要求一次性把所有模型权重加载到内存。它使用 Lazy Loading(惰性加载)+ 张量分片技术,逐层读取和处理权重。实测可以在 8GB 显存下完成两个 70B 参数模型的合并——这对其他方案是不可想象的。
DAG 执行引擎。 mergekit/plan.py 中的 MergePlanner 将复杂的合并操作解析为有向无环图(DAG),Executor 负责按依赖顺序调度任务。这个设计让多阶段合并(如 mergekit-multi)、多 GPU 并行(MultiGPUExecutor)成为可能。
插件式合并算法。 所有合并算法都注册到 merge_methods/registry.py,通过 MergeMethod 基类统一接口。想新增算法?只需实现接口并在 registry 注册,无需修改核心代码。
mergekit 不仅能做模型合并,还提供了一系列互补工具:
mergekit 最适合以下场景:拥有多个同架构微调模型,希望将其合并为单一模型;资源有限但希望获得比单一模型更强的能力;快速实验不同合并策略的效果。
局限性也需要正视: 不同架构的模型无法直接合并;合并后模型可能出现"知识遗忘"或"能力退化";某些合并算法(如 SLERP)对权重尺度敏感,效果不稳定;没有训练数据时,合并更多是"艺术"而非"科学",需要大量实验调参。
mergekit 已是 LLM 开源社区的事实标准。Arcee AI 团队将其定位为"AI 的开源基础设施",不仅维护核心代码,还提供 FrankensteinAI 托管平台,让不想本地配置的用户可以直接在浏览器体验合并功能。
项目采用 LGPL-3.0 许可证,代码由 Charles Goddard 主导演进,GitHub 社区活跃度高。随着越来越多开源模型的出现,mergekit 的价值正在持续放大——它让模型融合从大公司的专属能力,变成了每个开发者都能尝试的开放工具。