On the Off-Policy Teacher in On-Policy Distillation
Langlin Huang, Hao Liu, Mononito Goswami, Xinyu Li, Prithwith Jana, Nikos Kanakaris, Patrick Blöbaum, Purak Jain
cs.LG, cs.AI, cs.CL
2026-09-30
on-policy 蒸馏里教师一直在 off-policy 状态下监督、越续越差;SCOUT 让教师跟着学生前缀做 RL,数学平均提升 1.2-2.6 分、代码再涨 3.1 分。
On-policy 蒸馏(OPD)是当前蒸馏推理模型的常用后训练路线:学生自己生成完整推理轨迹,教师在轨迹每个 token 位置给出下一个 token 的分布,监督比「最终答案对不对」密集得多。它解决了传统蒸馏的训练-推理失配,但只解决了一半。轨迹对学生是 on-policy 的,对教师却是 off-policy 的:教师平时在自己的分布里训练,习惯从自己会写出的前缀往下续,OPD 却要它在学生的前缀上逐 token 给判断。两边推理风格和中间错误不同,自回归一步步累积,学生的前缀在教师眼里越来越不像自己会写出的东西。
论文把这个失配量化了。用 Qwen3-1.7B(非思考模式)做学生、Qwen3-4B-Instruct-2507 做教师,在 AIME 2025 上把学生回答按 10% 到 90% 截断,让教师从每个截断点各采四份续写、统计最终答案正确率:学生前缀越长,教师续写的正确率越低。教师在自己文本上的 token entropy 一路走低,在学生前缀上却先升后维持高位,两线之间拉开一道持续缺口。续写长度远在 16384 token 预算之内,排除「没写完」的解释,退化是真的。
此前的修补全部默认教师固定不动:ESR 只在前缀早期蒸馏,Prune-OPD 按局部师生兼容度砍监督,Relay-OPD 让教师在 rollout 中途接管,TrOPD 把更新限制在监督可靠区域。这篇换了个问题:与其决定什么时候信一个固定教师,为什么不让教师学会在学生真正会到的状态上做好监督?
SCOUT(Student-COnditioned Updates of the Teacher)把学生侧的标准 OPD 原样保留,外加周期性的教师侧 RL。
两个设计各有明确理由。其一,学生策略在训练中不断漂移,它产生的上下文分布跟着漂,教师必须周期性追上来,但不必每步都追:消融显示 f=1、5、10 的成绩几乎一样(Avg@6 分别为 51.3、52.5、51.5),f=20 才掉回冻结教师的水平。其二,前缀比例随训练线性加长。Figure 1 已经表明长前缀是难例,那就先喂短的,教师适应后再逐步拉长,相当于一个难度课程。
四组设置,SCOUT 的均值全部高于冻结教师的 OPD。每组训练跑 3 个随机种子、每个 benchmark 评测 4 到 32 次,报均值和标准差。
| 设置 | 冻结教师 OPD | SCOUT | 提升 |
| Qwen3-4B→1.7B,数学六项均值 | 49.2 | 51.4 | +2.2 |
| Qwen3-4B→1.7B,代码三项均值 | 56.6 | 59.7 | +3.1 |
| Qwen3-8B-DAPO→1.7B,数学均值 | 49.0 | 51.6 | +2.6 |
| Skywork-OR1-7B→R1-Distill-1.5B,数学均值 | 52.4 | 53.6 | +1.2 |
对照方法没有一个在均值上赢过 SCOUT,而且各有翻车点:Relay-OPD 换到代码任务直接崩到 12.1(生成常带语法错误),Prune-OPD 在跨家族设置掉到 36.8,GRPO 在同一设置训练崩溃只剩 22.6。改学生 rollout 的方法对任务和模型家族敏感,动教师这一侧在四组里都稳。
最关键的是一组控制实验:「OPD + Teacher GRPO」给教师做完全一样的 RL,只是续写从原题出发、不接学生前缀。它拿到 48.8(4B 数学,还低于 OPD 的 49.2)、57.0(4B 代码)、50.8(8B 数学),全面低于 SCOUT 的 51.4 / 59.7 / 51.6。多训教师本身不产生这些增益,条件在学生前缀上才是核心。
两项补充:算力对齐时(SCOUT 一 epoch 对 OPD 三 epoch、同一数据),OPD 很快进平台期,SCOUT 持续上升;再叠加 TrOPD 的 trust-region 组件 OPTR,数学从 49.8 到 52.3、代码从 59.3 到 60.5,教师适应和损失函数改造两条路互补。
OPD 这条线的既有工作几乎都在「怎么消费固定教师的信号」上做文章,SCOUT 把「训教师」立成一个单独的、可叠加的优化轴,控制实验也把因果拆干净了。对做小模型蒸馏的团队,这是数学、代码这类可验证任务上可以直接加的一层,增益 1.2 到 2.6 分,量级渐进,但四组设置全部成立。代价同样明确:教师必须开源可训,任务要有可验证奖励。
作者自己承认,算力对照里 OPD 的额外 epoch 复用了同一份数据,推不出「给新数据也追不上 SCOUT」。
几个没验证或没讨论的点:教师侧 RL 依赖 outcome reward,实验只覆盖数学和代码,开域写作、对话类任务没有方案;教师从即插即用变成要一起训练,额外算力和工程开销没有给出数字;规模止步于 8B 教师、1.7B 学生,失配现象本身也只在 AIME 2025 一个 benchmark 上测过。
还有一个论文没讨论的读表事实:4B→1.7B 的代码设置里,直接跑 GRPO 的均值是 62.2,高于 SCOUT 的 59.7(数学上 GRPO 的 50.3 低于 SCOUT 的 51.4)。蒸馏的净优势集中在数学,代码上纯 RL 并不落下风。