Mergekit 模型合并

Mergekit 是用于合并预训练大型语言模型的终极工具包。拥有 5K+ GitHub 收藏,它实现了所有主要的模型合并算法——SLERP、TIES、DARE、DARE-TIES、MoE 合并等——使您无需任何训练数据或 GPU 训练时间即可创建强大的新模型。

circle-check

什么是 Mergekit?

模型合并是一种强大的技术,可将多个大语言模型的优势合并到单一模型中:

  • 无需训练 ——合并发生在权重空间,而不是通过反向传播

  • 组合能力 ——将一个编码模型与一个遵循指令的模型混合

  • 减少弱点 ——在集成中平均化个别模型的失败

  • 创建专家混合(MoE) ——将模型组合为稀疏的 MoE 架构

  • 领域自适应 ——将基础模型与领域专业化模型合并

Mergekit 实现了所有最新的算法:

算法
描述
适合用于

SLERP

在两个模型之间进行球面线性插值

对两个相似模型进行平滑混合

TIES

修剪冗余参数,确定符号,合并

在合并多个模型时尽量减少干扰

DARE

丢弃并重新缩放随机参数

在大规模合并中减少参数干扰

DARE-TIES

DARE + TIES 的组合

多模型合并的最佳通用方法

线性

简单加权平均

快速基线合并

任务算术

添加/减去任务向量

添加/移除特定能力

直通(Passthrough)

直接复制层

MoE 构建

circle-info

模型合并出人意料地有效。合并模型常常通过结合互补知识在基准测试上超越其父模型。MergeKit 在 HuggingFace 社区上托管了数千个合并模型。


服务器要求

组件
最低要求
推荐配置

GPU

非必需(可在 CPU 上合并)

大型模型建议使用 A100 40 GB

显存(VRAM)

70B 模型合并建议 80 GB

内存(RAM)

32 GB

64 GB+(模型加载到内存)

CPU

8 核

16+ 核

存储

100 GB

500 GB+

操作系统

Ubuntu 20.04+

Ubuntu 22.04

Python

3.10+

3.11

circle-exclamation

端口

端口
服务
说明

22

SSH

终端访问与文件传输

Mergekit 作为命令行工具运行——无需 Web 服务器。


在 Clore.ai 上的安装

步骤 1 — 租用服务器

  1. 筛选条件为 内存 ≥ 64 GB (对大型模型合并至关重要)

  2. 选择 存储 ≥ 500 GB (合并的模型需要容纳 2-4 个输入模型 + 输出的空间)

  3. GPU 可选,但如果您想在合并后测试模型会很有用

  4. 打开端口 22

步骤 2 — 通过 SSH 连接

第 3 步 — 安装 Python 环境

第 4 步 — 安装 Mergekit

第 5 步 — 安装 HuggingFace CLI

第 6 步 — 验证安装


下载要合并的模型


合并配置

Mergekit 使用 YAML 配置文件来定义合并。

示例 1:SLERP 合并(两个模型)

SLERP 沿球面弧混合两个模型——最适合相同架构的模型:

示例 2:TIES 合并(多个模型)

TIES 处理多个合并模型之间的干扰:

示例 3:DARE-TIES 合并(最佳通用)

示例 4:任务算术(添加能力)

向基础模型添加“技能差分”:

示例 5:MoE(专家混合)

将模型组合为稀疏的 MoE 架构:


运行合并

基本命令

监控进度


测试合并后的模型


发布到 HuggingFace


高级:进化合并

使用 Mergekit 的进化优化器来寻找最佳合并权重:


故障排除

合并期间内存不足(OOM)

ValueError: 模型不兼容

合并非常慢

合并后的模型输出乱码

FileNotFoundError 针对模型文件


流行的合并配方

通用助手 + 编码

多语言增强


有用的链接


Clore.ai 的 GPU 建议

在 Clore.ai 上的预估费用
开发/测试
RTX 3090(24GB)

~$0.12/每 GPU/每小时

生产

RTX 4090(24GB)

模型合并(7B–13B)

大规模

A100 80GB

大型模型(70B+)

💡 本指南中的所有示例均可部署在

Clore.ai

多 GPU 合并

2-4x A100 80GB

~$2.40–$4.80/小时

GPU 服务器上。浏览可用 GPU 并按小时租用 — 无需承诺,提供完整的 root 访问权限。 Clore.aiarrow-up-right GPU 服务器。浏览可用 GPU 并按小时租用 — 无需承诺,提供完整的 root 访问权限。

最后更新于

这有帮助吗?