What is 模型合并(Model Merging)?

    将两个或多个微调模型的权重合并为一个单一模型的技术,使合并后的模型继承所有源模型的能力。

    Definition

    模型合并是一种后训练技术,将多个微调模型的权重张量合并为一个统一的模型,无需任何额外训练。最简单的形式是线性插值(LERP),计算两个模型对应权重的加权平均。更复杂的方法如 SLERP(球面线性插值)、TIES(修剪、选举和求和)和 DARE(丢弃与重缩放)使用不同的数学策略来合并权重,同时最小化各模型独立学习的能力之间的干扰。

    模型合并的吸引力在于其高效性:不需要 GPU 计算,不需要训练数据,几分钟内即可完成。从业者可以将一个针对编程微调的模型、一个针对医学问答微调的模型和一个针对创意写作微调的模型合并为一个展现所有三种能力的单一模型。开源社区热情地采用了合并技术,合并模型经常在社区排行榜上名列前茅。

    然而,模型合并也有其权衡。与专门的源模型相比,合并模型在任何单一任务上的性能可能有所下降——合并模型是一个多面手。合并质量在很大程度上取决于源模型的兼容性(它们必须共享相同的基础架构)以及所选的合并方法和参数。成功通常需要实验:尝试不同的合并比例、方法和源模型组合,以找到最适合目标用例的混合方案。

    Why It Matters

    模型合并提供了一种无需多任务微调的成本和复杂性即可创建多才多艺模型的方法。对于已经投资了多个专门微调模型的组织,合并可以生成一个适用于跨多个领域用例的通用模型。它还加速了实验——研究人员可以快速原型化混合模型,并在投入更昂贵的多目标训练之前评估合并模型是否满足其需求。

    How It Works

    所有合并方法都从加载两个或更多共享相同架构的源模型的权重张量开始。线性合并的计算公式为:merged_weight = α × model_A_weight + (1-α) × model_B_weight,其中 α 控制混合比例。SLERP 沿权重向量之间的测地线(超球面上的最短路径)进行插值,更好地保持权重的幅度。TIES 首先修剪幅度较小的参数变化(相对于基础模型),通过多数投票解决符号冲突,然后对存活的增量求和。DARE 随机丢弃一部分参数增量并重新缩放存活者以进行补偿,从而减少干扰。mergekit 等工具为所有这些方法提供 CLI 接口,合并后的模型以标准格式(safetensors、GGUF)保存,可立即部署。

    Example Use Case

    一个开发团队拥有三个 Mistral 7B LoRA 微调模型:一个在客户支持对话上训练,一个在内部知识库问答上训练,一个在产品文档写作上训练。他们使用 mergekit 的 TIES 方法将三者合并为一个模型。合并模型在各自基准上与每个专家模型的差距在 3% 以内,同时能够处理所有三种任务类型——将三个独立的推理部署替换为一个,将托管成本降低了 60%。

    Key Takeaways

    • 模型合并在无需额外训练的情况下组合多个微调模型的权重。
    • 方法包括 LERP、SLERP、TIES 和 DARE,各有不同的权衡。
    • 源模型必须共享相同的基础架构才能合并。
    • 合并模型以单任务峰值性能换取多任务通用性。
    • 合并速度快、免费(无需 GPU),在开源社区中广泛使用。

    How Ertas Helps

    Ertas Hub 是模型合并工作流的天然生态系统。用户可以在 Ertas Studio 中微调多个专门模型,发布到 Ertas Hub,然后将它们合并以创建多功能模型。平台的 GGUF 导出管道使合并模型可以轻松转换为部署就绪的工件,用于 Ollama 或 llama.cpp 的本地推理。

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.