BAR:告别单体重训,模块化后训练开启大任务专家时代
Train Separately, Merge Together: Modular Post-Training with Mixture-of-Experts
本文提出了 BAR (Branch-Adapt-Route),一种用于语言模型后训练阶段的模块化混合专家 (MoE) 框架。该方法通过独立训练数学、代码等领域的专家模型并利用轻量化路由进行组合,在 7B 规模下实现了与全量重训(Retraining)相当的 SOTA 性能(平均分 49.1)。
TL;DR
传统的模型更新就像是给一座已经盖好的大楼强行塞入新的房间——不仅成本极高,还容易弄坏地基。华盛顿大学与加州大学伯克利分校的研究者们提出了 BAR (Branch-Adapt-Route)。这种方法让开发者可以为数学、代码、安全等每个领域训练独立的“专家”,然后像搭积木一样通过 Mixture-of-Experts (MoE) 架构将它们组合。结果表明:BAR 不仅能达到全量重训的效果,还能在不损害旧能力的前提下,以极低的成本升级或添加新功能。
痛点深挖:为什么“持续训练”总是不尽如人意?
在大模型开发中,我们经常遇到两个尴尬境地:
- 灾难性遗忘 (Catastrophic Forgetting):当你费尽心思让模型学会写代码,它可能就把如何礼貌劝诫的“安全性”给忘了。
- 后训练的局限性:很多研究表明,仅仅靠 SFT 是不够的。复杂的逻辑能力(如数学)需要 Mid-training(中期训练)来建立强先验。但在单体模型中,Mid-training 极其昂贵,且数据配比稍有不慎就会导致模型全盘崩溃。
目前的 SOTA 方法(如 BTX)虽然尝试了模块化,但大多针对预训练阶段。在后训练 (Post-training) 阶段,简单的权重合并往往会让模型变得“语无伦次”。
核心机制:BAR 的“三步走”战略
BAR 成功的关键在于它承认了后训练中“行为适应(Behavioral Shifts)”的重要性。
1. 独立分支专家训练 (Branch)
BAR 为每个领域(Math, Code, Tool Use, Safety)分配一个独立的 2-expert MoE。与其前人不同,BAR 在不同阶段采取了动态冻结策略:
- Mid-training: 冻结共享层,只更新 FFN 专家。
- SFT: 解冻 Embedding 和 Head,以适应新 Token(如
<thinking>)。 - RLVR (强化学习): 全量解冻共享参数。这是 BAR 的关键发现——强化学习带来的分布偏移太大,仅靠 FFN 专家承载不了。
2. 参数平均与合并 (Merge)
训练完成后,由于各专家在 RL 阶段的 Attention 等参数发生了轻微偏移,BAR 将这些共享参数进行加权平均。实验证明,这种平均对单领域性能几乎没有损害。
3. 轻量化路由训练 (Route)
最后,冻结所有专家,只训练一个极小的线性层(Router)。只需要 5% 的数据量,就能让模型学会根据输入指令准确找到对应的专家。

实验战绩:低成本下的 SOTA
在 7B 规模的测试中,BAR 展现了极强的统治力:
- 性能领先:综合得分 49.1,超过了持续训练(45.3)和之前的模块化标杆 BTX(46.7)。
- 接近上限:它甚至非常接近“推倒重来”的 Retraining 基线(50.5),但成本却天差地别。
- 完美避坑:普通的模型合并(Model Merging)在经过 Mid-training 后几乎失效(得分仅 6.5),而 BAR 依然稳健。

深度洞察:模块化的“结构性红利”
BAR 最迷人的地方在于其线性增长的成本曲线。 在传统范式下,每增加一个领域,为了保证不退化,必须混合所有旧数据进行训练,算力开销是 O(N^2)。而 BAR 每增加或升级一个专家(例如从 Code v1 升级到 Code v2),只需训练该特定分支,成本是恒定的 O(1)。
此外,BAR 还解决了一个隐藏问题:RL 顺序的干扰。在单体模型中,数学 RL 可能会冲掉安全 SFT 的效果。但在 BAR 中,安全专家和数学专家是物理隔绝的,互不干扰。
局限性与展望
尽管性能强劲,BAR 也有其代价:
- 参数增长:随着专家增加,总参数量线性增长。虽然推理时通过稀疏激活可以控制开销,但显存占用依然是挑战。
- 基座锚点:目前升级最底层的 Base Model 仍需要重新微调专家。
总结
BAR 的出现,标志着大模型后训练正从“炼金术式的单体调优”走向“精密工业化的模块组装”。对于追求快速迭代、需要不断吸收垂直领域能力的团队来说,这种“Train Separately, Merge Together”的思路无疑是目前最优雅的解法。
