简介:本文系统梳理大语言模型合并这一技术方向,重点解释权重插值、层选择性合并等主要方法。文章从定义、原理、实验现象到应用场景展开分析,说明模型合并为什么能融合不同模型的推理能力与输出风格,并指出思考格式主要存储在FFN层、越靠近输出的层对行为影响越大等关键结论。读者可借此理解模型合并的适用边界、实施方式与注意事项,为模型能力组合与高效推理提供参考。
大语言模型合并,是指将两个或多个已经训练完成的大语言模型在同一参数空间或相近参数空间中进行组合,从而得到一个新模型的过程。这个新模型不需要从零开始预训练,也不需要重新执行完整的监督微调,而是通过权重层面的融合、层的选择、参数的插值等方式,把不同模型已经学习到的能力、知识或行为模式叠加起来。
从技术视角看,模型合并通常发生在模型结构相同或高度相近的条件下,例如两个模型都属于同一基础架构、同一参数规模,只是在训练数据、训练目标或后训练阶段有所不同。合并的对象可以是两个通用模型,也可以是一个通用语言模型和一个强化推理模型。合并后的模型希望在推理能力、输出格式、指令遵循等方面同时具备多个源模型的优势。
从应用视角看,模型合并提供了一种低成本的模型组合手段。相比于重新训练、持续预训练或大规模强化学习,模型合并通常只需要完成参数层面的线性或结构化组合,计算开销小、迭代速度快,适合在算力有限或需要快速验证能力组合效果的场景下使用。
在大语言模型工程实践中,一个常见问题是:不同模型各有所长。有的模型通用对话流畅,但对复杂推理题或数学题表现一般;有的模型经过强化学习训练,在逐步推理、反思和验证方面能力更强,但通用表达可能显得冗长。直接切换模型会增加系统复杂度,继续训练其中一个模型又可能丢失原有能力。模型合并正是在这种背景下受到关注。
它的核心价值体现在三个方面。
第一,能力融合。通过合并,可以把一个模型的通用语言能力和另一个模型的推理风格、思考模板结合起来,使新模型在推理任务上表现更好,同时保持基本的指令遵循和对话能力。
第二,训练成本控制。合并操作通常只涉及权重读取、数值计算和保存,不需要大量训练卡时,也不需要重新准备大规模训练语料。对于很多开发团队而言,这是一种可快速落地的模型定制方式。
第三,行为可控调节。通过调整合并比例或选择合并层,可以控制新模型更偏向哪一个源模型的行为。比如调整插值系数,就可以让模型在“简洁直接回答”和“先思考再回答”之间找到平衡点。
模型合并并不只有一种实现方式。根据合并粒度和是否考虑层结构,可以将其分为几类主要方法。
这是最基础也最常用的合并方法。给定两个模型 A 和 B,它们的同名参数分别为 θ_A 和 θ_B,线性插值可以用如下公式表示:
θ_new = λ * θ_B + (1 - λ) * θ_A
其中 λ 是合并系数,一般取值在 0 到 1 之间。当 λ 为 0 时,新模型完全等于模型 A;当 λ 为 1 时,新模型完全等于模型 B;当 λ 为 0.5 时,两个模型各占一半权重。
线性插值的优点是实现简单、计算快速,适合快速观察两个模型混合后的行为变化。更重要的是,它提供了一个连续调节旋钮,开发者可以通过扫描 λ 的取值,观察模型能力的变化趋势,从而判断两个模型之间的兼容性以及能力转移的敏感区间。
与全局线性插值不同,分层选择性合并只对模型的部分层进行合并,其他层保持某个源模型的原样。例如,可以只对前 1/3 层、中间 1/3 层或后 1/3 层做插值,其余层不参与合并。
这种方法的意义在于,不同层在大语言模型中承担的功能并不相同。实验观察表明,越靠近输出端的层,对输出风格、思考模板和格式遵循的影响越明显。因此,如果希望模型在保持基础语义能力的同时,更有效地吸收另一个模型的推理行为,可以选择只合并模型的后半部分层。
Transformer 架构主要由注意力层和 FFN 层组成。模型合并也可以按照模块类型进行差异化处理,例如只合并注意力层、只合并 FFN 层,或者反向操作,让某类模块保持原模型参数。
这与分层选择性合并形成互补。分层合并关心“哪一层”,模块合并关心“哪一类参数”。两种方法可以组合使用,形成更精细的合并策略。
在真实的模型合并实验中,一些现象非常值得关注,它们直接影响合并策略的选择。
当把一个通用语言模型和一个强化推理模型进行线性插值时,随着 λ 从 0 逐渐增大到 1,模型行为通常呈现三个阶段。
在第一阶段,任务指标快速上升。此时模型开始获得推理模型的部分能力,正确率提升明显。第二阶段,输出格式开始明显向推理模型靠拢,模型逐渐学会使用“思考—回答”的结构化模板,但指标增长速度放缓。第三阶段,输出长度继续增加,但正确率可能出现波动甚至轻微下降,表现为过度思考。
这个三阶段过程说明,模型合并不是简单的线性能力叠加。能力的获取顺序和格式适应过程并不同步,某些能力先被激活,某些行为后出现,而过量的格式偏向可能带来负面影响。
另一个重要发现是,如果只合并注意力层而保持 FFN 层不变,或反过来只合并 FFN 层而保持注意力层不变,模型表现会有显著差异。在对比实验中,当 FFN 层保持通用模型参数、只合并其他层时,模型基本没有表现出推理模型的思考格式;而当 FFN 层参与合并时,思考模板的迁移效果明显得多。
这说明,以结构化思考形式为代表的输出行为,更多地编码在 FFN 层中,而不是主要存在于注意力层。注意力层可能更多地承担上下文关联和语义汇聚功能,而 FFN 层则存储了大量与输出风格、格式模板和任务行为相关的知识。
按层位置进行消融实验的结果也很有代表性。同样是合并 2/3 的层,合并后 2/3 层比合并前 2/3 层对模型行为的影响更大。同样只合并 1/3 层时,合并越靠近输出端的层,对思考格式的激活程度越高。
这与 Transformer 的逐层抽象结构一致。浅层网络更关注局部语义、词法和基础表示,深层网络则更接近最终输出,对生成策略、格式控制和全局行为模式有更强的决定作用。因此在合并时,如果目标是迁移输出格式或推理风格,优先考虑后半部分层是更高效的选择。
模型合并在以下场景中具有较高的实用价值。
第一,通用模型与推理模型的能力组合。将通用对话模型与强化推理模型合并,使新模型在保持对话能力的同时,获得更稳定的逐步推理能力和结构化输出习惯。
第二,同架构微调模型的快速聚合。当团队在不同数据上微调出多个模型时,可以通过合并快速综合各自优势,减少模型数量和部署成本。
第三,低资源环境下的模型定制。在训练资源有限的情况下,模型合并可以作为一种轻量级的能力迁移手段,帮助快速验证行为变化方向。
第四,模型行为的可控调节。通过调整合并系数或选择合并层,系统可以在推理深度、输出长度和格式严格度之间进行调节,适应不同业务需求。
模型合并容易与模型集成、模型蒸馏和模型微调混淆,但它们在机制和成本上有明显差异。
模型集成是在推理阶段运行多个模型,然后汇总输出结果,推理成本随模型数量成倍增加。模型合并则在合并完成后只保留一个模型,推理成本与单模型相同。
模型蒸馏需要准备训练数据和蒸馏目标,通过教师模型指导学生模型学习,过程比合并复杂得多,但也更灵活。模型微调则是对已有模型继续训练,需要数据和训练资源,而合并通常不需要重新进行反向传播训练。
在使用模型合并时,需要注意几个问题。
首先是模型结构兼容性。参与合并的模型应具有相同或高度相近的结构,否则无法直接进行参数对应和插值。
其次是任务指标与格式指标需要分开观察。合并后模型可能已经学会思考格式,但正确率并未同步提升,甚至因过度思考而下降。因此需要同时关注正确率、格式遵循率、输出长度等多维指标。
第三是合并系数需要谨慎选择。不同 λ 值会带来不同行为偏向,直接取中间值并不总是最优。建议进行小范围扫描实验,找到任务收益与输出质量之间的平衡点。
第四是注意行为迁移的层位置差异。如果希望迁移的是输出模板或推理格式,应优先考虑 FFN 层和后置层;如果只是希望融合通用语言能力,则可以使用更均衡的全局合并。
大语言模型合并是一种以参数组合为核心的低成本模型能力融合方法。它通过线性插值、分层选择、按模块合并等手段,将不同模型的能力和行为模式叠加到同一个模型中。相关实验表明,模型合并过程常常呈现三阶段变化,思考格式主要存储在 FFN 层中,且越靠近输出端的层对格式行为影响越大。
理解这些规律,有助于开发者在实际场景中更准确地选择合并策略、控制行为偏向,并在不重新训练模型的前提下快速验证能力组合效果。模型合并不是万能的,它在模型结构兼容性、指标波动和过度思考风险上存在边界,但作为一种灵活、轻量的模型定制手段,其在大语言模型工程中的价值正在逐步显现。