Repolode
arcee-ai

arcee-ai/mergekit

用于合并预训练大语言模型的工具包,支持多种合并算法,可在 CPU 或 GPU 上运行。

Star
7,436
Fork
803
未关闭 Issue
276
最近提交
7天前

这是什么?

mergekit 可以把多个预训练语言模型的权重合并成一个新模型,无需额外训练。它采用逐张量的 out-of-core 方式,惰性加载权重,因此在 CPU 上即可完成复杂合并,使用 GPU 时最低约需 8 GB 显存。

合并通过 YAML 配置文件描述:指定合并方法、源模型或层切片,并可按张量设置权重、密度等参数。支持的方法包括 linear、SLERP、TIES、DARE、DELLA、Model Stock 等,另外还提供层堆叠(passthrough)合并、LoRA 提取、混合专家(MoE)组装,以及对词表不同的模型进行 tokenizer 对齐。

除主命令 `mergekit-yaml` 外,项目还包含多阶段合并工作流、原始 PyTorch 权重合并以及 tokenizer 移植工具,并提供可在内存中对张量或 state dict 应用合并方法的 Python API。

核心功能

  • 01提供线性、SLERP、TIES、DARE、DELLA、Model Stock 等多种合并方法
  • 02惰性加载张量,可在 CPU 或约 8 GB 显存的 GPU 上运行
  • 03通过 YAML 配置文件控制合并,支持按张量设置参数
  • 04支持层堆叠(passthrough)合并和混合专家组装
  • 05可提取与 PEFT 兼容的 LoRA 适配器
  • 06支持对词表不同的模型进行 tokenizer 对齐

适用场景

  • 将同一基座模型的多个微调版本合并为一个通用模型
  • 通过堆叠不同模型的层构建实验性的 Frankenmerge
  • 借助 tokenizer 移植为推测解码制作草稿模型
  • 相对基座模型从微调模型中提取 LoRA 适配器

快速上手

  1. 1

    克隆代码仓库

    git clone https://github.com/arcee-ai/mergekit.git
  2. 2

    进入项目目录

    cd mergekit
  3. 3

    以可编辑模式安装该包

    pip install -e .
  4. 4

    使用你的 YAML 配置文件运行合并

    mergekit-yaml path/to/your/config.yml ./output-model-directory

使用前须知

  • 采用 LGPL-3.0 许可证,这是一种 copyleft 许可证,其条款适用于对库代码的修改。
  • README 中只给出了从源码安装的方式(pip install -e .),未展示已发布包的安装方法。

标签

常见问题

mergekit 是什么?
用于合并预训练大语言模型的工具包,支持多种合并算法,可在 CPU 或 GPU 上运行。 mergekit 可以把多个预训练语言模型的权重合并成一个新模型,无需额外训练。它采用逐张量的 out-of-core 方式,惰性加载权重,因此在 CPU 上即可完成复杂合并,使用 GPU 时最低约需 8 GB 显存。
mergekit 可以免费使用吗?用的什么许可证?
mergekit 以 LGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
mergekit 还在维护吗?
活跃维护中。mergekit 最近一次提交是在 2026年10月31日。
mergekit 适合用来做什么?
将同一基座模型的多个微调版本合并为一个通用模型 通过堆叠不同模型的层构建实验性的 Frankenmerge 借助 tokenizer 移植为推测解码制作草稿模型 相对基座模型从微调模型中提取 LoRA 适配器
mergekit 怎么安装和运行?
克隆代码仓库: git clone https://github.com/arcee-ai/mergekit.git 进入项目目录: cd mergekit 以可编辑模式安装该包: pip install -e . 使用你的 YAML 配置文件运行合并: mergekit-yaml path/to/your/config.yml ./output-model-directory
在哪里获取 mergekit?
源代码和安装说明在 GitHub 上:https://github.com/arcee-ai/mergekit

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目