Tandem Training for Language Models
Tandem Training for Language Models:让强模型学会“照顾”弱模型的协同训练
论文: Tandem Training for Language Models
作者: Robert West, Ashton Anderson, Ece Kamar, Eric Horvitz
机构: EPFL、University of Toronto、Microsoft
论文链接: https://arxiv.org/abs/2510.13551
代码: https://github.com/epfl-dlab/lm-tandem-training
1. 一句话总结
这篇论文提出了一种非常有意思的强化学习方法 Tandem Training(串联训练 / 协同接力训练):
训练一个强模型时,不再让强模型独自完成整条推理轨迹,而是在生成过程中随机把一部分内容交给一个冻结的弱模型继续写。
如果强模型写出来的东西太复杂、太怪、太依赖自己独有的表达方式,那么弱模型接手以后就很容易把题做错,整条轨迹最终拿不到奖励。
因此经过强化学习后,强模型会逐渐学会:
不仅要自己会做,还要把问题解决到“弱模型也能接着做”的状态。
作者把这种性质称为 handoff robustness(交接鲁棒性)。
它最终带来的一个很有意思的现象是:
强模型会主动放弃弱模型难以理解的术语、符号甚至语言,转而使用弱模型更容易继续推理的表达方式。
2. 这篇论文到底想解决什么问题?
我们平时讨论 LLM 能力时,往往只关注一个问题:
模型能不能把题做对?
强化学习也是如此。
比如一道数学题,模型生成:
问题
↓
推理过程
↓
最终答案
↓
正确 → +1 reward
错误 → 0 reward
只要最终答案正确,强化学习就会认为这是一条“好轨迹”。
但作者认为这里存在一个长期风险:
一个模型越强,它解决问题的方法可能越难被弱模型甚至人类理解。
比如证明:
前 n 个自然数之和为 n(n+1)/2。
一个强数学模型完全可能从生成函数、群论或者某种复杂数学结构开始推导。
答案可能完全正确。
但对于普通用户而言:
强模型:我证明出来了。
人类:我看不懂。
弱模型:我也接不下去。
这时候就出现了一个问题:
正确 ≠ 可理解。
尤其是在未来更强的 AI 系统里,这个问题会更加明显。
如果一个 AI Agent 的能力远超人类,那么即便我们能够看到它完整的推理轨迹,也不意味着我们真的可以:
- 检查它;
- 接管它;
- 修改它;
- 判断它是否正在走向错误方向。
因此作者提出了一个非常实用的定义:
与其试图直接定义“什么叫容易理解”,不如看别人能不能把你的工作继续做下去。
3. Handoff Robustness:什么叫“能被理解”?
论文最关键的概念其实不是 Tandem Training,而是:
Handoff Robustness —— 交接鲁棒性。
作者认为:
如果强模型完成了一部分任务之后,把控制权突然交给弱模型,弱模型仍然能够继续完成任务,那么可以认为强模型之前的行为对于弱模型而言是“可理解的”。
这里有一个非常重要的变化。
传统的可解释性往往是:
强模型
↓
产生推理
↓
弱模型 / 人类
↓
观察并解释
弱模型只是一个旁观者。
而这篇论文直接把判断标准变成:
强模型做一部分
↓
弱模型接着做
↓
强模型再接手
↓
弱模型再接手
↓
最终任务成功?
弱模型不再负责“评价强模型解释得好不好”。
它必须真的参与任务。
3.1 一个非常直观的例子
假设强模型正在算一道小学数学题。
强模型可能写:
设生成函数 A(x)=...
如果此时突然让一个只掌握基础数学的弱模型继续生成:
弱模型:???
很可能整条轨迹直接失败。
于是强化学习得到:
Reward = 0
但如果强模型写:
一共有 8 + 6 = 14 美元。
每磅 2 美元。
所以一共买了 14 / 2 = 7 磅。
弱模型很容易继续。
于是:
强模型 → 弱模型 → 强模型 → 弱模型
最终答案正确
Reward = 1
长期训练之后,强模型自然就会发现:
我要想获得奖励,就不能只考虑“我自己能不能继续”,还得考虑“如果下一秒换成那个弱模型,它能不能继续”。
这就是整篇论文最核心的训练信号。
4. Tandem Training 是怎么做的?
论文设置两个模型:
- Senior Model:强模型,需要训练
- Junior Model:弱模型,参数冻结
注意:
真正被训练的是强模型。
这一点和知识蒸馏正好相反。
传统知识蒸馏通常是:
Teacher:强模型,冻结
↓
Student:弱模型,训练
而 Tandem Training 是:
Senior:强模型,训练
↑
Junior:弱模型,冻结
弱模型在这里不是学生。
它更像是一个:
给强模型施加约束的“弱协作者”。
5. Tandem Rollout:两个人随机抢着写
这是论文方法中最重要的实现。
传统强化学习生成一条轨迹:
Prompt
↓
Senior
Senior
Senior
Senior
Senior
Senior
↓
Answer
整个回答都来自正在训练的模型。
Tandem Training 改成:
Prompt
↓
Senior
Senior
Junior
Junior
Senior
Junior
Senior
Senior
Junior
↓
Answer
两个模型共同生成同一条回答。
而且:
下一段究竟是谁生成,是随机决定的。
5.1 为什么一定要“随机交接”?
这是一个很漂亮的设计。
假如交接点固定:
前半段:Senior
后半段:Junior
Senior 很容易学习一种专门针对这个位置的策略。
比如:
我知道第 100 个 token 一定要换人,
所以我在第 90~100 个 token 专门写一些方便 Junior 接手的东西。
这样就可能出现策略投机。
但如果交接是随机的:
Senior
↓ 随机
Junior
↓ 随机
Senior
↓ 随机
Junior
Senior 根本不知道:
自己什么时候会突然失去控制权。
于是最稳妥的策略就是:
在整个推理过程中,都保持一种 Junior 随时可以接手的状态。
作者实验中采用的是词级别随机切换,切换概率为 0.5。
6. 整个训练过程
Tandem Training 可以简化成两个阶段。
6.1 阶段一:生成 Tandem Rollout
输入问题:
x
然后 Senior 和 Junior 共同生成:
y = y1, y2, ..., yt
某一段可能来自 Senior:
Senior → Senior → Senior
下一段突然切换:
Junior → Junior
再切回来:
Senior
两者看到的是同一条已经生成的历史轨迹,因此必须共同把它续写下去。
6.2 阶段二:根据最终结果训练 Senior
如果最终答案:
正确
则:
Reward = 1
强化 Senior 在这条轨迹中的行为。
如果:
错误
则这条 rollout 不用于正向训练。
论文实验采用的是一种比较简单的 REINFORCE 变体:
问题
↓
生成两个 Tandem Rollout
↓
检查最终答案
↓
正确轨迹
↓
提高其概率
错误轨迹
↓
丢弃
因此这篇论文并没有提出新的 RL 算法。
它真正修改的是:
RL 中 rollout 是怎么生成的。
所以理论上 Tandem Training 可以和 PPO、GRPO 等不同强化学习方法结合。
7. 为什么这种方法会让 Senior “照顾” Junior?
这是理解论文最关键的地方。
假设 Senior 有一种非常强但是非常特殊的数学表达方式。
例如:
Senior:
a ≪8+6=14≫14 ...
Senior 自己当然知道这是什么意思。
但 Junior 没见过这种表示。
于是随机交接之后:
Senior:
a ≪8+6=14≫14 ...
Junior:
???
↓
继续生成错误内容
↓
最终答案错误
↓
Reward = 0
反过来,如果 Senior 使用普通表达:
8 + 6 = 14
Junior 就更容易继续:
Junior:
14 / 2 = 7
最终成功:
Reward = 1
经过很多次训练之后:
难以交接的 Senior 行为
↓
更容易导致失败
↓
获得奖励概率下降
容易交接的 Senior 行为
↓
Junior 更容易继续
↓
获得奖励概率上升
所以最终形成了一种隐式压力:
Senior 必须把自己的行为调整到 Junior 能够理解和继续的范围。
非常关键的一点是:
作者并没有显式告诉 Senior“不要使用术语”。
也没有设计:
使用术语:-1 reward
不用术语:+1 reward
Junior 究竟不懂什么,甚至都不需要提前告诉 Senior。
Senior 是通过:
“这样写之后 Junior 会不会把任务搞砸”
自己学出来的。
这也是 Tandem Training 最漂亮的地方。
8. Figure 1:标准 RL 与 Tandem Training 的区别

【Figure 1:Standard RL vs. Tandem Training,论文第 2 页】
这张图基本可以概括整篇论文。
标准 RL:
Senior 独自 rollout
↓
答案正确?
↓
Reward
↓
训练 Senior
它只会学到:
怎样让自己做对。
而 Tandem Training:
Senior + Junior
随机交替 rollout
↓
最终答案正确?
↓
Reward
↓
只训练 Senior
Junior 保持冻结
于是 Senior 学到的不只是:
“我要把题做对。”
还多了一层:
“我要让 Junior 在任何时候接手,都尽量别把题做坏。”
所以可以把两种训练目标非常粗略地理解成:
标准 RL:
正确性
Tandem Training:
正确性
+
可交接性
9. 实验怎么设计?
作者使用:
GSM8K 数学推理数据集。
模型主要基于:
Llama-2-7B。
作者人为构造了 Senior 与 Junior 之间的差异,并设计了三个实验。
9.1 实验一:能力差异
Senior:
经过 GSM8K 微调的 Specialist
Junior:
普通 Llama-2-7B Chat
两者都使用英语。
Senior 的 GSM8K 准确率大约为:
39%
Junior:
24%
同时,Senior 因为在 GSM8K 数据上训练过,会使用一种特殊标记:
≪8+6=14≫
而普通 Junior 不使用这种表示。
因此作者把:
≪ >>
看成 Senior 的一种“专业术语”。
实验要看:
当 Senior 必须经常和不懂这个符号的 Junior 协作之后,它会不会主动停止使用这种符号?
10. 结果:20 次更新后,专业术语直接消失
结果非常明显。
训练之前:
Senior 使用 ≪ >> 的比例:
99%
仅仅经过大约:
20 次梯度更新
之后:
0%
也就是说:
Senior 几乎彻底放弃了自己原本习惯的特殊表示方式。
更重要的是,它并没有直接退化成 Junior。
此时准确率大约为:
Senior:33%
Junior:24%
虽然相比 Senior 原始的 39% 有所下降,但是依然明显强于 Junior。
换句话说:
Senior 没有简单地“变成弱模型”,而是在保留相当一部分能力的同时,改变了自己的表达方式。
11. Figure 2:Senior 开始主动适应 Junior

【Figure 2:能力差异以及能力+语言差异实验结果,论文第 6 页】
Figure 2 是整篇论文最重要的实验图。
第一列可以看到:
特殊符号使用率
99%
↓
↓
↓
0%
而准确率虽然有所下降,但仍然保持在 Junior 之上。
作者还专门做了一个对照实验:
如果完全使用相同的 RL 方法,但 rollout 全部由 Senior 自己产生,会发生什么?
结果:
特殊符号使用率:
99%
→
99%
完全没有消失。
这说明:
术语消失并不是普通 RL 导致的,而确实是 Junior 参与 rollout 所产生的效果。
12. 实验二:能力差异 + 语言差异
接下来作者把问题玩得更极端了一些。
Senior:
GSM8K Specialist
语言:英语
Junior 分别使用:
德语
法语
保加利亚语
塞尔维亚语
也就是说两者现在不只是:
能力不同
甚至:
语言都不同
于是问题变成:
Senior 会不会为了和 Junior 协作,连语言都改掉?
答案是:
会。
12.1 Senior 逐渐放弃英语
对于三个 Junior 语言:
German
French
Serbian
Senior 基本在:
50 次梯度更新以内
放弃英语并切换到 Junior 使用的语言。
对于 Bulgarian:
约 80 次更新
也发生了类似变化。
与此同时:
≪ >>
这种 GSM8K 特殊符号仍然在约 20 次更新内迅速消失。
也就是说 Senior 同时学到了两件事:
不要用 Junior 不熟悉的符号
+
不要用 Junior 不熟悉的语言
但作者从来没有告诉它:
Junior 不懂 ≪ >>
Junior 说德语
你应该迁就 Junior
这一切都是通过“协作成功才能获得奖励”自然产生的。
13. 实验三:纯语言差异
第三个实验更加干净。
Senior 和 Junior 本身都是普通 Llama-2。
没有谁接受额外的 GSM8K 专项训练。
唯一不同的是:
Senior:一种语言
Junior:另一种语言
作者组合了:
English
German
French
Bulgarian
Serbian
不同语言之间的 Senior-Junior 配对。
结果依然类似:
Senior 会逐渐放弃自己的语言,并采用 Junior 的语言。
通常只需要大约:
20 次梯度更新
就能够看到明显变化。
14. 一个很有意思的现象:英语成为“中间语言”
论文还观察到了一个挺有趣的训练过程。
假如:
Senior:French
Junior:German
Senior 并不会直接:
French
↓
German
而经常出现:
French
↓
English
↓
German
也就是说英语暂时成为了两者之间的“中转语言”。
作者检查训练轨迹后发现:
早期 Tandem Rollout 经常同时混杂 Senior 和 Junior 的语言:
French
German
French
German
...
模型容易被这种混合语言弄乱,最后切换到英语。
由于 Llama-2 对英语本身非常熟悉,这些英语轨迹反而更容易成功。
于是强化学习先强化:
English
但 Junior 始终被冻结,并持续倾向于自己的语言。
长期训练之后,Senior 最终继续向 Junior 靠拢:
Senior Language
↓
English
↓
Junior Language
这个现象其实很好地展示了 Tandem Training 中所谓“适应”究竟是怎么自己涌现出来的。
15. Tandem Training 本质上在优化什么?
表面上看,它在让两个模型合作。
但更深一层来看,我觉得可以把这个方法理解为:
在训练过程中不断对 Senior 的轨迹进行“随机续写压力测试”。
传统训练问的是:
Senior 能不能完成这条轨迹?
Tandem Training 问的是:
如果这条轨迹从任意位置突然交给 Junior,
Junior 还能不能继续?
所以训练目标发生了一个非常微妙的变化:
普通 RL:
我能解决问题。
Tandem Training:
我能解决问题,
而且我要把问题保持在
别人仍然能够继续解决的状态。
这就是论文所谓的:
Handoff Robustness。
16. 它和知识蒸馏最大的区别
这篇论文特别容易被误解成:
强模型和弱模型一起训练,所以是不是另一种知识蒸馏?
其实方向正好相反。
传统蒸馏:
强模型
↓
知识
↓
弱模型
弱模型改变
目标通常是:
让弱模型更加接近强模型。
而 Tandem Training:
弱模型
↑
形成约束
↑
强模型
强模型改变
目标是:
让强模型更加容易被弱模型理解和接续。
可以非常形象地说:
传统蒸馏是:
老师教学生。
Tandem Training 更像:
老师为了让学生能跟上,被迫学习怎么讲人话。
这也是这篇论文最反常识、同时也是最有意思的地方。
17. 它和 Weak-to-Strong Generalization 也不一样
Weak-to-Strong Generalization 关注:
能不能使用弱监督训练出比监督者更强的模型?
其核心问题仍然偏向:
弱监督
↓
强能力
而 Tandem Training 关注的是:
强模型
+
弱协作者
↓
如何保持协作兼容性
它不是想让 Junior 变强。
Junior 甚至从头到尾:
完全冻结
它真正研究的是:
一个越来越强的模型,怎么避免逐渐进入只有自己才能理解的行为模式?
18. 为什么这对未来 AI Agent 很有意义?
虽然论文实验只是在 GSM8K 上做数学题,但这个思想其实非常适合 Agent 场景。
想象一个能力很强的 Agent:
规划
↓
调用工具
↓
修改文件
↓
执行代码
↓
观察环境
↓
继续规划
如果整个过程完全按照它自己最喜欢的内部习惯发展,那么很可能出现:
强 Agent 能继续
但是
普通 Agent 接不了
人类也很难接管
而 Tandem Training 的思想相当于在训练过程中不停地做:
强 Agent 执行一步
↓
突然让弱 Agent 接管
↓
能不能继续?
↓
再换回强 Agent
那么强 Agent 就会被迫学习:
- 更标准的工具使用方式;
- 更明确的状态记录;
- 更容易继续的计划;
- 更清晰的中间结果;
- 更稳定的任务接口。
所以这篇论文虽然目前只是一个数学推理实验,但它背后的思想实际上非常像:
为多 Agent 系统训练“可交接”的 Agent。
19. 这篇论文目前最大的不足
论文的想法很好,但目前实验其实还非常初步。
19.1 只测试了 GSM8K
目前只有:
一个任务领域:数学推理
一个 benchmark:GSM8K
而且使用的是:
Llama-2-7B
所以它距离证明:
“强 AI 可以因此真正变得适合人类监督”
还有很远。
目前真正证明的更准确说是:
当两个模型存在明显表达差异时,随机交接训练确实可以迫使其中一个模型适应另一个模型。
19.2 “不说术语”不一定等于真正理解
论文把:
Junior 能够继续
当作:
Senior 对 Junior 是 intelligible 的
这是一个非常实用的定义,但并不是严格意义上的“理解”。
比如 Junior 有可能:
并没有理解 Senior
但是碰巧能够正确续写
或者通过语言模式预测出下一步。
因此:
可续写性是可理解性的一个代理指标,而不能完全等价于真正的理解。
19.3 Senior 的能力确实有所下降
论文一个不能忽略的结果是:
Senior 原始准确率:39%
训练约 20 step 后:33%
虽然仍然高于 Junior 的 24%,但确实存在性能损失。
作者认为后期下降很大程度来自他们所使用的简单 RL 方法:
训练只保留成功轨迹,而失败轨迹直接丢弃,导致模型逐渐偏向容易的问题,从而产生数据分布偏移。
对照实验中,即便不用 Tandem Rollout,继续进行这种 RL,准确率也会从约 40% 降到 34%。
所以目前不能简单把所有性能下降都归因于“迁就 Junior”。
20. 一个值得注意的实现问题
论文当前实现中:
Senior token
Junior token
Senior token
Junior token
...
共同组成整条轨迹。
但在训练 Senior 时,作者为了简化实验:
并没有把 Junior 生成的 token 从梯度计算中 mask 掉。
这意味着强化学习更新时,有一部分内容实际上并不是 Senior 自己生成的。
作者自己也认为这是一个比较粗糙的设计。
更合理的未来版本可以:
Senior token → 参与梯度计算
Junior token → mask
甚至进一步定位:
究竟在哪一个 token
或者哪一个 reasoning span
发生交接后最容易失败
然后给予更精细的训练信号。
这其实给 Tandem Training 留出了相当大的改进空间。
21. 作者提出的进一步方向
作者在 Discussion 中其实给出了不少值得继续研究的扩展。
21.1 不只训练 Senior
当前:
Senior:训练
Junior:冻结
未来可以:
Senior ↔ Junior
共同适应
甚至轮流冻结和训练。
不过这会产生一个风险:
两个模型可能发展出只有彼此理解的“私人语言”。
所以可能需要额外的人类语言约束或者 verifier。
21.2 不只使用一个 Junior
可以建立:
Junior Pool
例如:
Junior A:能力弱
Junior B:不会专业术语
Junior C:工具使用能力弱
Junior D:使用另一种语言
Junior E:具有不同推理风格
然后随机让不同 Junior 与 Senior 协作。
这样训练出的 Senior 就不只是:
对某一个 Junior 友好。
而可能变成:
对大量不同能力、不同风格的协作者都具有较高的可交接性。
这个方向其实比论文目前的实验有意思得多。
22. 我怎么看这篇论文?
我觉得这篇论文真正有价值的地方,并不是:
“通过强化学习让模型少用 ≪ >> 符号。”
如果只看实验现象,其实非常简单。
真正有意思的是作者提出了一种新的训练思想:
不要试图人为定义什么叫“容易理解”,而是直接把“别人能不能接着干”变成训练条件。
过去我们可能需要设计一个:
Interpretability Reward Model
判断:
这段推理是不是清晰?
是不是容易理解?
是不是使用了太多术语?
但这些东西都非常难定义。
Tandem Training 换了一种思路:
我不判断你解释得清不清楚。
我直接换个人来继续。
能继续完成任务,
说明至少你的状态具有可交接性。
不能继续,
那这条轨迹就拿不到奖励。
这是一种非常“工程化”的可解释性定义。
23. 最终总结
整篇论文可以浓缩成下面这张逻辑链:
问题:
强模型越来越强
↓
其推理可能越来越难被弱模型 / 人类理解
传统 RL:
只关心最终答案是否正确
↓
没有动力保持推理可交接
Tandem Training:
Senior + frozen Junior
↓
随机交替生成同一条轨迹
↓
任何位置都可能突然换人
↓
只有最终共同完成任务才能获得奖励
↓
Senior 必须生成 Junior 能够继续的状态
↓
Senior 主动减少 Junior 不理解的术语、语言和行为
最终目标:
不仅训练出“能解决问题”的强模型
还训练出:
“别人能够接着它继续解决问题”的强模型
如果用一句最通俗的话概括:
普通强化学习是在训练一个“自己会做题的高手”;Tandem Training 则是在训练一个“自己会做,而且能把题做到别人随时接手也能继续的高手”。
而这也正是这篇论文最值得关注的地方。

浙公网安备 33010602011771号