Tandem Training for Language Models
Robert West, Ashton Anderson, Ece Kamar, Eric Horvitz
cs.AI
2025-10-15
EPFL与微软提出tandem training:训练时按词随机把生成权交给冻结弱模型。GSM8K上20步更新后行话从99%降到0,准确率仍高于弱搭档。
纯 RL 只奖励答案对不对。DeepSeek-R1-Zero 已经把副作用写进技术报告:推理链可读性变差、中英混杂。模型越强,轨迹越可能变成弱模型和人中途接不住的行话。
这不是审美问题。医生要基于模型诊断做最终决定,人要和模型轮流操作同一台电脑,弱监督者要审计强模型。轨迹接不住,协作和监督都落空。系统提示、示范、专门的可懂性奖励都要先定义「什么叫好懂」,定义一变就被绕过去。
EPFL 的 Robert West、多伦多大学的 Ashton Anderson(二人在微软研究院访学)和微软的 Ece Kamar、Eric Horvitz 把可懂性改写成一个可优化的结果指标:交接稳健性(handoff robustness)。强模型(senior)的一段部分解答,弱模型(junior)随机接手后还能把题做对,这段解答就算对 junior 可懂。
tandem training 来自 Hamade 等人 2024 年的国际象棋工作:优化「和这个搭档一起赢」和优化「自己赢」不是同一件事。搬到语言模型上,改的是 RL 的 rollout,奖励函数可以不动。
训练时 senior 和冻结的 junior 共同写一条解答。交接粒度可以是 token、词、句、推理步;实验里按词切,每到新词边界抛一次硬币(p=0.5)决定下一个词谁说。两条模型各自对共享前缀采样候选 token,只把当前当值模型的 token 接到前缀上。奖励仍然是整条轨迹的对错。轨迹要成功,senior 就不能把 junior 听不懂的记号和语言写进去,否则 junior 一接手就翻车。
这和蒸馏方向相反:蒸馏冻强训弱,这里冻弱训强。训练时随机把 senior 静音、换成更吵的 junior,逼它不要依赖私有推理习惯。测试时 senior 独自生成。
主实验用带二元奖励的 REINFORCE 变体:每题采两条 tandem rollout,只对做对的轨迹做 SGD 提高 log-likelihood,做错的丢掉。主实验没有 mask 掉 junior 写的 token。Senior 用 QLoRA(4 bit,rank 16)改 Llama-2-7b 的全部线性层。训练温度 0.7,测试温度 0。
三组对照都建在 GSM8K 上(训练 7473、测试 1319),模型全是 Llama-2-7b 家族:
技能差设定里,≪≫ 出现率在 20 次梯度更新内从 99% 掉到 0%。掉到 0 的那个 checkpoint,senior 准确率 33%,低于训练前的 39%,但仍高于 junior 的 24%。之后准确率继续往下掉,主实验曲线大致稳在 30% 附近,多数时候仍压过 junior。
对照实验把 tandem 拿掉,同样的 RL 只在 senior 自己的 rollout 上跑:行话全程停在 99%。清掉行话的是随机交接,不是 RL 本身。这份对照里准确率也从约 40% 掉到 34%,说明主实验的准确率下滑主要来自「只强化做对轨迹」这套目标,不是交接本身。
技能加语言差里,≪≫ 同样 20 步归零。四个非英 junior 里,三个在 50 步内让 senior 彻底弃用英语、改说 junior 的语言,保加利亚语要 80 步。全程 senior 准确率显著高于 junior。配法语 junior 的主实验曲线后来稳在 22%–24%。
语言差里,senior 通常 20 步内改说 junior 的语言。切换不直接,大约第 10 步会经过英语当临时通用语:早期两种语言混写,模型被搞糊涂切到英语,英语补全更容易做对;冻结的 junior 仍一开头说自己的语言,senior 最后被拉过去。准确率不会掉到 junior 下面:junior 更强则 senior 追上,打平则保持,senior 更强则往下掉但不穿底。
主实验准确率下滑的假说是分布偏移。简单题更容易被 tandem 做对,做错的轨迹被丢掉,senior 越训越适应简单题,测试集难度分布没变。附录把做错轨迹以负权重 c 加进目标,再把 junior token 乘一个小于 1 的软 mask j。验证集上选出技能差 (c=-0.5, j=0.2)、技能加语言差法语 junior (c=-0.3, j=0.35)。测试时技能差准确率维持在约 40%,法语设定维持在 30% 以上,行话照样清零。
| 设定 | 行话变化 | 准确率(senior / junior) |
| 技能差(主实验) | ≪≫ 99%→0%,20 步 | 39%→约 30% / 24% |
| 技能差(调过 c,j) | 同行话归零 | 维持约 40% / 24% |
| 技能+语言(法语,主实验) | ≪≫ 与英语均消失 | 稳在 22%–24%,仍高于 junior |
| 技能+语言(法语,调过 c,j) | 同行话归零 | 维持 30% 以上 |
这是把可扩展监督(scalable oversight)塞进轨迹内部的一种做法:不靠外部裁判、任务分解或教师标签,随机把控制权交给弱搭档,奖励只在双方能共构正确答案时出现。对做 RLVR(可验证奖励的强化学习)的人,它是在 rollout 采样器上加的一层,理论上能接 PPO、GRPO,不必另写可懂性奖励。
眼前能用的场景很窄。实验全是 Llama-2-7b 在小学应用题上的代理:用弱模型模拟更弱的协作者,用 ≪≫ 和语言切换当可观测的私有代码。代码、模型和数据已公开。若正在训推理模型、已经看到 R1-Zero 那种语言混杂,这是一条值得复现的正则,还不是可以替换过程监督或辩论的成品系统。
调过 (c, j) 之后,技能差设定里准确率几乎没掉。主实验那条下滑曲线不该被当成 tandem 的固有代价。
论文自己列了三条:只做了数学推理、只测了 GSM8K;RL 只用了带二元奖励的 REINFORCE;tandem 解码器要求 senior 和 junior 同一套 tokenizer。
代理距离比这三条更大。Junior 是冻结的 Llama-2-7b-chat,不是人。人接住一条推理链,需要的可懂性和「另一个 7B 能把算术接着算完」不是一回事。≪≫ 消失证明模型会改格式去迁就搭档,证明不了迁就人类。
主实验里 junior 写的 token 没 mask,梯度会漏到 senior 没说的字上。作者承认这是图省事,附录用 j<1 软 mask 之后准确率明显回升,等于主结果用的是故意写弱的 RL。交接概率固定 0.5、按词切,没有学过何时该交。两边一起训的话,论文也提醒可能演化出人类读不懂的私有代码,伦理节把「让共谋模型更好接话」写成明确风险。
规模也没摸到。7B、一 epoch、GSM8K,和「超人类模型对人可懂」之间隔着好几档模型和任务。语言差设定里英语当临时通用语,说明交接压力会把模型推向预训练里更强的语言,不一定推向人类想要的那种白话。