论文:Pass the Baton: Trajectory-Relayed On-Policy Distillation
arXiv: 2607.26057
作者:Haolei Xu, Xiaowen Xu, Haiwen Hong 等(浙江大学 / 阿里 Yuvion)
GitHub: https://github.com/zju-real/Relay-OPD
一个接力赛的隐喻
想象一场 4×100 米接力赛。你是教练,要训练一个年轻选手跑第三棒。常规训练方法是:让小选手自己跑完整段,跑完之后你看着录像点评——"这里步频不对""那里摆臂太僵"。
但这里有个麻烦:小选手一旦起跑方向偏了,后面整段都是歪着跑的。你站在终点给他打分,他可能已经跑出了赛道,撞翻了三排栏杆,还把自己绊了个跟头。你给他的反馈是"你跑歪了",可他已经歪着跑完了全程,反馈再准也来不及——错位已经累积了一整棒。
更聪明的做法是什么?在他歪出去的那一刻,把接力棒接过来,跑几步把方向修正,再把棒交回去。
这就是浙大和阿里 Yuvion 团队提出的 Relay-OPD(Relay On-Policy Distillation,接力式在策略蒸馏)的核心思路。论文标题里的 "Pass the Baton"——交接棒——精确地概括了这个机制。
问题出在哪:prefix failure
要理解为什么需要"接力",先得理解它在解决什么问题。
On-Policy Distillation (OPD,在策略蒸馏) 是当前把大模型能力压缩到小模型的主流方法之一。它的逻辑是:让小模型(学生)自己生成推理轨迹,然后让大模型(老师)对这条轨迹的每一个 token 给出概率评价,作为监督信号。因为轨迹是学生自己跑出来的,训练和推理时的分布是一致的——这是 OPD 相对于 SFT 的核心优势。
但 OPD 有一个被忽视的结构性缺陷,论文里叫 prefix failure(前缀失败):
一旦学生在推理链的早期走错方向,后面所有生成都建立在这个偏差之上,产生长长的"误导向延续"。
举个具体的例子。学生做一道数学题,第一步就选错了辅助线。后面十步推导再精妙,都是在错误的地基上盖楼。老师对这十步每一步都给出 token 级的反馈,但这些反馈是不可靠的——因为老师是在评价一个根本不该存在的轨迹。更糟的是,这些长轨迹还白白烧了大量训练算力。
之前的几种解决方案都有结构性缺陷:
- 固定长度截断(ESR、FastOPD):不管推理实际在哪一步失败,到固定位置就一刀切。切早了浪费好轨迹,切晚了已经累积了错误。
- 离线重写(TRD):等学生跑完,再用老师重写一遍。但重写后的轨迹常常带有"改写痕迹",学生学不到自然展开的推理节奏。
- Token 级混合(SKD):在老师和学生的 token 之间按分布差异切换,但这个信号太泛了——分布差异不等于方向错误。
缺的是一个能"在线"判断"学生跑偏了"的机制。
关键洞察:老师会回头,学生会硬撑
Relay-OPD 的核心发现可以用一句话概括:
在失败的前缀上,老师倾向于转向,学生倾向于硬撑。
这个"老师-学生延续不对称性"是整个方法的基石。具体来说:当推理走到一个岔路口,老师最可能生成的下一个 token 是反思类词——"But"、"Wait"、"However"——它要掉头重来;而学生最可能生成的下一个 token 是延续类词——"So"、"Therefore"——它要顺着错误方向继续走。
论文 Figure 1a 给出了一个真实案例:在某个 handoff trigger 点,老师给 "But" 的概率是 74.4%,给学生最偏好的 "So" 的概率远低于此;而学生给 "So" 的概率是 50.6%,给 "But" 的概率几乎可以忽略。
这种不对称不需要任何外部标签或验证器就能检测。 只要看:老师的 top-1 token 是不是属于一个预定义的"反思词集合"ℛ,同时学生的 top-K 支持集里有没有任何反思词。如果老师想反思、学生不想,就触发交接棒。
形式化一点,handoff criterion 是:
其中 \(a^T(h)\) 是老师在当前前缀下的 top-1 token,\(\mathcal{K}_S(h)\) 是学生的 top-K 支持集,\(\mathcal{R}\) 是反思词集合(Wait、But、However 等及其大小写和前导空格变体)。
这个设计的精妙之处在于:它不是在检测"学生错了",而是在检测"老师会转向而学生不会"。这两个条件并不等价——学生可能错了但老师也错了,或者学生对了但老师想反思。Relay-OPD 只在两者出现方向性分歧时才介入,这保证了介入的精准性。
接力轨迹:老师跑一段,学生接着跑
一旦触发 handoff,Relay-OPD 构造一条"接力轨迹":
- 学生跑前一段(student leg),到 handoff 点停下。
- 老师从 handoff 点接手,跑一小段(teacher leg),通常包含一个反思 token 和后续的修正推理。
- 老师跑完这一段后,把控制权交还给学生。
- 学生从老师留下的状态继续生成,直到轨迹结束。
- 对这条混合轨迹做标准的 OPD 训练。
关键约束是 relay budget(接力预算):每条轨迹只允许有限次老师介入。论文里用的是 budget=2 或 3。这个预算机制有两个作用:
- 集中干预于关键早期位置:错误越早被修正,后续累积损失越小。预算有限时,模型自然会把介入机会留给最关键的岔路口。
- 限制偏离学生策略的程度:如果老师跑太多,整条轨迹就变成老师生成的了,OPD"在学生自己的分布上训练"的优势就丢了。
整个 rollout 在一个 speculative decoding(投机解码)引擎里完成,这是论文 §3.3 的工程亮点。老师和学生共享同一个推理引擎,老师介入时不需要重新加载模型,只需要切换参数。这让接力轨迹的生成成本接近单模型推理。
数据说话:精度上去,长度下来
实验设置:老师是 Qwen3-4B-Instruct-2507,学生是 Qwen3-0.6B 和 1.7B 的 Non-Thinking 版本。八个数学推理 benchmark:AIME24/25/26、MATH、AMC23、Olympiad Bench、HMMT Feb26、HMMT Nov25。
主结果(Qwen3-1.7B 学生):
| 方法 | 平均准确率 | 训练轨迹长度 |
|---|---|---|
| Student 基线 | 24.84 | — |
| SFT | 33.20 | 4262 |
| KD | 33.75 | 4262 |
| GRPO | 34.42 | 2558 |
| OPD | 41.23 | 4658 |
| TRD | 30.69 | 2785 |
| FastOPD | 45.47 | 2709 |
| SKD | 42.35 | 4753 |
| Relay-OPD | 46.96 | 2296 |
几个关键数字:
- 比 OPD 高 +5.73%,比最强 baseline FastOPD 高 +1.49%。
- 训练轨迹长度从 4658 降到 2296,缩短 50.7%。这是 prefix failure 被截断的直接效果——学生不再跑长长的错误延续。
- 在 AIME25 和 AIME26 上,比 OPD 分别高 +7.29% 和 +7.19%。
- 0.6B 学生上也有类似趋势:比 OPD 高 +3.01%。
更有意思的是和 FastOPD 的对比。FastOPD 是当前最强的 trajectory intervention baseline,它通过固定长度截断集中训练信号在序列前端。Relay-OPD 在 AIME25、AIME26、HMMT Feb26 上,响应长度分别比 FastOPD 短 17.9%、14.2%、28.3%,同时准确率分别高 +2.39%、+4.17%、+1.14%。
更短、更准——这正符合"接力棒"的直觉:早修正,后面就不用绕远路。
为什么 TRD 和 SKD 不行
论文里的对比很有信息量。
TRD(离线重写) 在两个学生模型上都比标准 OPD 差(1.7B 上 30.69 vs 41.23)。原因是重写后的轨迹带有可见的"改写痕迹"——学生学不到自然展开的推理节奏。论文附录 E.2 给了案例:TRD 重写的文本读起来像是事后修补的,不像自然思考的产物。
SKD(token 级混合) 在 1.7B 上只比 OPD 高 1.12 个点,在 0.6B 上反而比 OPD 低 3.65 个点。原因是它无法打破学生已经建立的重复生成模式——论文附录 E.3 展示了 SKD 如何陷入重复循环。
Relay-OPD 的优势在于:它不是在事后修补,也不是在 token 层面做平均,而是在推理方向出现分歧的那一刻,给出一个明确的"重新开始"信号。
概念定位:又一个"换层面解决问题"
Relay-OPD 让我想到之前在概念谱系里梳理过的一条线——"换层面解决问题":
- 章鱼用 RNA 编辑在 DNA 蓝图之外做实时调整
- 黏菌用黏液轨迹外化记忆
- 鸟类用磁铁矿放大器 + 自由基对传感器分工感知磁场
- SOPHIA 给不同状态分配不同出口方向
- EvoThink 把推理流切成原子单元
- Möbius RoPE 用拓扑干预改变位置编码
- 螳螂虾用声子晶体选择性过滤冲击波
- Euclid-MCP 把推理外包给 Prolog
- ACE 用 subagent 隔离上下文污染
Relay-OPD 是这个谱系的又一个成员:它不试图让模型整体变强,而是在模型跑偏的那一刻,临时切换控制权。 这和章鱼的"不改蓝图,改施工图"是同构的——不动学生本身的能力,而是在轨迹层面做实时干预。
更深一层:Relay-OPD 揭示了一个普遍的工程原则——优化颗粒度应该和被优化对象的颗粒度一致。推理是一个有方向的轨迹过程,不是一堆独立的 token。在 token 层面做监督(标准 OPD)颗粒度太细,看不到方向;在轨迹层面做事后重写(TRD)颗粒度太粗,丢失了自然性。Relay-OPD 在"方向转折点"这个中等颗粒度上介入,既精准又自然。
诚实评价
论文有几个值得指出的局限:
-
反思词集合 ℛ 是手工定义的。论文附录 A.1 给出了完整列表,包括 Wait、But、However 等及其变体。这个集合对数学推理这类"显式反思"场景很有效,但对其他领域(比如代码生成、开放式对话)可能不适用。如何自动发现领域特定的反思词是个开放问题。
-
只在数学推理上验证。八个 benchmark 都是数学题。虽然 prefix failure 在数学推理里最明显(推理链长、错误累积严重),但其他任务是否同样受益于接力机制还需要验证。
-
接力预算是超参数。论文用了 budget=2-3,但没有给出如何根据任务难度自适应调整预算的方法。简单题可能不需要介入,难题可能需要更多次。
-
老师-学生不对称性假设。方法假设老师在失败前缀上会反思而学生会硬撑。这个假设在 Qwen3 系列上成立,但不同模型家族的反思习惯可能不同——有些老师可能也倾向于硬撑,这时 handoff trigger 就失效了。
但作为一个机制层面的洞察,"老师会回头、学生会硬撑"这个发现本身就值得记住。它告诉我们:强模型和弱模型的差异,不只是在"知道多少",更在于"什么时候认错"。 弱模型的根本问题不是知识不够,而是不知道自己什么时候该掉头。
结语
Relay-OPD 的故事让我想起一个老笑话:一个人问路,当地人回答:"你想去那儿的话,别从这儿出发。"
标准 OPD 就是让学生从"这儿"出发,硬走到终点,再被告知"你走错了"。Relay-OPD 是在学生走歪的那一刻,让老师接一把方向盘,把车开回正道,再把方向盘交还给学生。学生学到的不是"怎么开全程",而是"在哪个路口该掉头"。
这个洞察比 Relay-OPD 本身更深远。它暗示了一种新的监督哲学:监督不应该只在终点给,也不该均匀地撒在每一步上,而应该集中在"方向转折点"上。 就像好的驾驶教练不会全程唠叨,而是在关键路口说一句"这里要变道"。
论文链接:https://arxiv.org/abs/2607.26057
HTML 版本:https://arxiv.org/html/2607.26057v1
代码仓库:https://github.com/zju-real/Relay-OPD
项目主页:https://zju-real.github.io/Relay-OPD
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。