弱教师不当"天花板",只当"路标":OPRD 用反向蒸馏让学生超过老师
搞模型迭代的团队大概率都纠结过这件事:上一代模型好不容易做完了 RL 后训练,新一代更大的模型出来了,这套后训练流程要不要再烧一遍钱?直接把老模型蒸馏进新模型吧,蒸馏的目标是"逼近老师",学生的上限被老师的能力锁死;从头跑 RL 吧,前一代积累的 post-training 收益全部浪费。
这篇论文给出的答案挺漂亮的:别把弱教师当成优化目标,把它当成一个方向指示牌。老师只要告诉你"RL 后训练让概率分布往哪个方向挪了",学生在自己的 verifier 梯度上,把顺着这个方向的分量放大一点就够了。学生的优化目标从头到尾只有 reward,老师连"目标"都算不上。
核心摘要
Weak-to-strong generalization 想问的是:强学生能不能从弱老师那里学习并反超老师?这在两代模型交接、多领域能力整合的场景里特别值钱——从头做 frontier 级的后训练实在太贵了。但传统蒸馏把弱教师当优化目标,等于把老师的能力天花板压在了学生头上。KAIST AI 联合 Microsoft、Mila 等机构提出 On-Policy Reverse Distillation(OPRD):在学生的 on-policy rollout 上,计算弱教师相对其 reference 策略的 policy shift,只保留这个 shift 的单位方向,然后把学生的 verifier 梯度在这个方向上的投影分量放大,正交分量原样不动。数学推理上 OPRD 比最强 baseline 高 7.92 个点,Reasoning Gym 上高 10.80 个点,达到弱教师水平所需的更新步数比纯 GRPO 少 33–67%。我的判断:这不是底层理论突破,但思路非常干净——"重缩放而非替换梯度"这个设计直接绕开了蒸馏的核心矛盾,工程上值得认真抄。
论文信息
- 标题:Eliciting Weak-to-Strong Generalization with On-Policy Reverse Distillation
- 作者:Youngrok Park, Sangmin Bae, Hojung Jung, Jongwoo Ko, Yunseon Choi, Young Jin Kim, Pashmina Cameron, Aaron Courville, Se-Young Yun
- 机构:KAIST AI、Microsoft、University of Toronto、Mila、Université de Montréal、CIFAR AI Chair
- 链接:https://arxiv.org/abs/2609.08798 (arXiv:2609.08798v1,2026 年 9 月 8 日提交)
🎯 为什么蒸馏在"弱教强"场景里会拧巴
先把问题讲清楚。On-policy distillation(OPD,代表作是 Agarwal et al. 2024 的 GKD 那篇)现在的标准玩法是:学生自己生成回答,老师在学生访问过的每个前缀上给出 next-token 分布,学生用 reverse KL 去匹配。这个设计解决了训练-推理分布不匹配的问题,已经是推理模型后训练的常见组件。
但注意 OPD 的优化目标长什么样:
目标的最优解就是教师策略本身。老师强的时候这没问题,老师弱的时候就有意思了——弱教师的最终策略里混了三样东西:RL 后训练学到的增量、从 reference 策略继承的偏好、以及它自己容量限制塑造的行为。OPD 一锅端全蒸过去。
你可能会说,那把 RL 加进来不就行了?KDRL 这类混合方法确实这么干的。但问题是 teacher matching 依然是一个独立的 loss,当教师偏好的解法 verifier 不给奖励时,两个目标就开始打架。还有人想"那我只蒸老师的 policy delta 行不行"——Direct-OPD、W2S-OPD 这两个同期工作就是这个思路。可惜 delta 里装的也只是弱教师在小容量下兑现的那部分改进,直接匹配它,天花板还在。
所以论文把核心问题提炼成一句话:怎么利用弱模型的后训练收益,又不让弱策略或它的 policy shift 成为独立的优化目标?

图1:OPRD 面向的两个关键场景。左边是"代代相传"——一个后训练过的 4B 级模型当教师,去指导 8B 级的下一代学生;右边是多领域整合——四个领域专精的 4B 小教师,把能力合并进一个 8B 学生。这两个场景的共同点是:重复做 frontier 规模的后训练太贵,而直接蒸馏又会把学生锁死在教师水平。
🧠 OPRD:只放大,不替换
OPRD 的想法用一句话说:从弱教师身上只取 方向、不取 目标。分三步看。
第一步,提取教师的 policy shift。 设冻结的 RL 教师为 \(\pi_T\),它的 pre-RL reference 策略为 \(\pi_T^{\rm ref}\)。在学生访问的前缀 \(s_t\) 上,把两者的 next-token logits 做差并去均值中心化:
这个 \(\bm{\Delta}_t\) 就是 RL 后训练给教师带来的相对 token 偏好变化——顺带一提,未中心化的 log 比值在 KL 正则化策略优化下有隐式奖励的解释。但关键来了:OPRD 只用它的单位方向 \(\mathbf{d}_t := \bm{\Delta}_t / \lVert\bm{\Delta}_t\rVert_2\),模长信息直接扔掉。为什么?因为这个 shift 是在弱教师的策略类里学出来的,幅度大小对强学生没有参考价值,只有方向可能含有 reward 相关的信息。
第二步,分解学生梯度并定向放大。 学生在 token \(t\) 的 verifier 梯度是 \(\mathbf{g}_t := A_t \nabla_{\mathbf{z}_t}\log\pi_\theta(y_t|s_t)\)。算它和教师方向的对齐系数 \(u_t := \mathbf{d}_t^\top \mathbf{g}_t\),然后:
沿教师方向的投影分量放大 \(1+\lambda_t\) 倍,正交分量纹丝不动。用 \(\widetilde{\mathbf{g}}_t\) 替换 \(\mathbf{g}_t\) 做反向传播。

图2:OPRD 的梯度校正流程。左上是学生的 rollout 和 verifier 驱动的策略梯度;左下是在学生访问的前缀上计算教师相对 reference 的 policy shift,中心化后只保留单位方向 \(\mathbf{d}_t\);中间是把学生梯度分解为投影分量和正交分量,只放大前者;右边是优化轨迹的示意——学生的平稳点不动,只是沿教师方向的分量被持续放大。实践中还对学生策略下的 top-10 token 做了截断,把校正聚焦在高概率词表区域。
第三步,看为什么这样做不会出问题。 这个缩放写成线性映射是 \(\widetilde{\mathbf{g}}_t = (\mathbf{I} + \lambda_t \mathbf{d}_t\mathbf{d}_t^\top)\mathbf{g}_t\),当 \(\lambda_t \geq 0\) 时可逆,于是有两个性质:
- 平稳点保持:\(\widetilde{\mathbf{g}}_t = \mathbf{0}\) 当且仅当 \(\mathbf{g}_t = \mathbf{0}\)。学生的优化目标在 logit 空间里的驻点一个都没动,verifier 目标说了算。
- 对齐增益:\(\langle\mathbf{g}_t, \widetilde{\mathbf{g}}_t\rangle = \lVert\mathbf{g}_t\rVert_2^2 + \lambda_t u_t^2 \geq \lVert\mathbf{g}_t\rVert_2^2\)。一阶进展只多不少,对齐幅度越大,白赚的进展越多。
我觉得这个设计最妙的地方在符号的处理上。\(u_t \geq 0\) 时,学生梯度和教师方向一致,放大它等于加速向教师学到的方向收敛;\(u_t \lt 0\) 时,学生的梯度在"反对"教师——但这是 verifier 支持的反对,放大它等于鼓励学生走老师没想到的路。两头都赚。
不过作者很诚实地指出了一个坑:如果只对一种符号做缩放,会系统性地放大梯度里的 reward 无关偏差(比如长度偏好),偏差会随训练累积。所以 OPRD 用了非对称缩放:正向分支(跟教师一致)一开始就满强度 \(\lambda\),负向分支(背离教师)用 warm-up 线性爬坡:
理由也很实际:训练初期学生的 rollout 还很烂,负向对齐的信号不太可靠,先信老师,慢慢再信"反老师"的信号。
🧪 实验:快,而且能超过老师
实验设置:数学任务在 DAPO-Math-17K 上训练,评测 AIME'24、AIME'25、HMMT'25、OlympiadBench(Mean@16);逻辑推理用 Reasoning Gym 的四个任务——Knights & Knaves、Quantum Lock、String Manipulation、Countdown(Pass@1)。模型全部来自 Qwen3 家族,教师用 GRPO 后训练后冻结。
场景一:4B 教师教 8B 学生(代代相传)
| 方法 | AIME'24 | AIME'25 | HMMT'25 | Olympiad | 数学平均 | Reasoning Gym 平均 |
|---|---|---|---|---|---|---|
| Teacher(4B) | 42.50 | 38.75 | 21.25 | 52.15 | 38.66 | 44.65 |
| Student 初始(8B) | 25.63 | 19.58 | 12.50 | 46.22 | 25.98 | 5.04 |
| + GRPO | 46.63 | 36.42 | 21.96 | 52.52 | 39.38 | 41.81 |
| + OPD | 46.92 | 38.21 | 21.42 | 51.24 | 39.44 | 42.83 |
| + KDRL | 53.46 | 43.13 | 26.08 | 53.28 | 43.99 | 44.38 |
| + OPRD | 66.92 | 56.04 | 31.42 | 53.26 | 51.91 | 55.18 |
几个值得停一秒的数字。数学上 OPRD 比最强 baseline KDRL 高 7.92 个点,Reasoning Gym 上高 10.80 个点。AIME'24 单项从 53.46 直接跳到 66.92,这个幅度在 AIME 这种高方差 benchmark 上相当能打。
更有意思的是学习曲线的形状:OPD 前期冲得快,但在教师平均水平附近就封顶了;GRPO 慢慢爬;OPRD 前期跟 OPD 一样快,但不停,一路超过教师继续涨。达到弱教师水平所需的更新步数比 GRPO 少 33–67%,早期 checkpoint 最多高出 22.7 个百分点。OPD 和 OPRD 前期轨迹几乎重合、后期分道扬镳——这个现象本身就说明:学生还弱的时候教师指导确实有用,但当学生发现了 verifier 支持的、超出教师的改进时,"匹配教师"就变成了枷锁。
场景二:四个专精小教师合并进一个学生

图3:多领域整合场景。四个分别精通计算、拼图逻辑、代码、视觉的 4B 专精教师,通过多教师蒸馏把能力汇入一个学生。每个 batch 随机混合四个任务的数据,每条样本激活对应领域的教师。
| 方法 | Knights | Quantum | String | Countdown | 平均 |
|---|---|---|---|---|---|
| 4 位教师(各自任务) | 57.50 | 46.58 | 32.00 | 42.50 | 44.65 |
| Student 初始 | 11.00 | 3.14 | 3.00 | 3.00 | 5.04 |
| + Mix-RL | 64.90 | 43.91 | 35.90 | 46.00 | 47.68 |
| + MOPD | 57.10 | 37.70 | 35.50 | 42.10 | 43.10 |
| + KDRL | 65.90 | 44.09 | 35.00 | 44.90 | 47.47 |
| + OPRD | 80.70 | 59.68 | 39.70 | 55.00 | 58.77 |
OPRD 平均 58.77,比 Mix-RL 高 11.09 个点,比四位专精教师的平均还高 14.12 个点——而且四个任务上逐一超过对应的专精教师。不是拆东墙补西墙的跨任务权衡,是全面超。达到教师水平比 Mix-RL 少用 55% 的更新步数。
这里有个值得品的设计讨论:作者认为 OPRD 可能缓解了跨任务干扰,因为它只放大每个任务的 verifier 梯度沿各自教师方向的分量,而不是去匹配完整的专精策略。形式上像 PCGrad 的梯度手术,但投影发生在"学生梯度 vs 教师方向"之间,而不是冲突的任务梯度之间。
场景三:强教弱也成立(8B→1.7B)
| 方法 | AIME'24(8B→1.7B) | Knights & Knaves(8B-Base→0.6B) | 平均 |
|---|---|---|---|
| Teacher | 52.29 | 64.50 | 58.40 |
| + GRPO | 18.92 | 20.60 | 19.76 |
| + OPD | 29.79 | 20.20 | 25.00 |
| + KDRL | 25.33 | 33.70 | 29.52 |
| + OPRD | 33.58 | 49.40 | 41.49 |
强到弱方向上 OPRD 依然赢,K&K 上比 OPD 高出 29.20 个点。这点其实挺重要的——说明方法不依赖特定的容量排序,说到底它是"verifier 梯度 + 教师方向"的一种通用组合方式。最近有研究指出 OPD 在容量或分布差距大时会失效(更强的老师不一定教出更好的学生),这里 OPD 和 KDRL 的快速饱和也复现了这个现象。
跟同期弱到强方法正面刚
| 方法 | AIME'24 | Knights | String | 平均 |
|---|---|---|---|---|
| + GRPO | 46.63 | 54.20 | 35.50 | 45.44 |
| + OPD | 46.92 | 55.00 | 35.10 | 45.67 |
| + W2SR-P | 45.42 | 62.50 | 38.00 | 48.64 |
| + S2L-PO | 60.54 | 63.40 | 38.70 | 54.21 |
| + OPSD | 15.88 | 24.60 | 24.60 | 21.69 |
| + Direct-OPD | 35.04 | 49.20 | 29.20 | 37.81 |
| + W2S-OPD | 52.96 | 59.50 | 35.20 | 49.22 |
| + OPRD | 66.92 | 73.30 | 42.20 | 60.81 |
最强的对手是 S2L-PO(用弱策略的 off-policy rollout 混入 GRPO 分组),OPRD 高它 6.60 个点。Direct-OPD 和 W2S-OPD 这两个"直接把 policy delta 当优化目标"的同期工作,分别被甩开 23.00 和 11.59 个点。这个对比直接验证了论文的核心论点:delta 里只有教师兑现的那部分改进,光靠它不够;OPRD 保留的正交分量 \(\mathbf{g}_t^\perp\) 让学生能追 verifier 支持但 delta 没覆盖的方向。
🔬 分析部分的几个亮点
教师越好,加速越猛,但教师水平不构成天花板。 用 GRPO 第 15/60/105/150 步的 4B checkpoint 分别当教师,越靠后的教师指导学生越快。最夸张的一个案例:K&K 上第 60 步的教师自己只有 29.0% Pass@1,它指导出的 OPRD 学生却迅速冲到约 88%——老师和 GRPO 都被远远甩开。说实话看到这个数我愣了一下,这大概是"弱到强泛化"最直观的证据之一。
λ 不需要精调。 只要 \(\lambda \gt 0\) 就比 GRPO 强,0.5 以内越大前期越快,超过 0.5 后性能基本不变——所以默认就用 0.5。对工程落地来说这是个好消息,少一个要调的敏感超参。
教师引导是"启动器",会自然退场。 追踪 \(\mathbf{d}_t\) 和 \(\mathbf{g}_t\) 的夹角发现:训练初期两者强耦合(正向对齐、负向对抗都很明显),随着训练推进,夹角都趋向 90 度——学生梯度越来越多地走向教师 shift 没覆盖的方向。教师的价值自动衰减,不需要人工 schedule 来"退火"蒸馏项。
两个诚实的局限性。 一是梯度消失:当学生的 rollout 组内 reward 全相同时 \(\mathbf{g}_t = \mathbf{0}\),OPRD 没有东西可放大——在 8B-Base 教师教 1.7B-Base 学生的极端案例里,OPRD 只跑到 20% 以下,而不依赖 verifier 的 OPD 反而到了 40.5%。作者建议先做一小段 SFT 或蒸馏 warm-up 再切 OPRD。二是长度偏差:如果 reference 选 step-0,教师和 reference 的回答长度差很大,policy shift 里混入强烈的"变短"成分,OPRD 会卡在 52.5%;把 reference 挪到 step-30(教师的长度坍缩已经发生后),立刻跳到 89.5%。reference 策略的选择是个真实的工程坑。
学生到底学到了什么:两个行为分析

图4:一个 AIME'25 回答的 token 级对齐分析。绿底是 \(\mathbf{d}_t\) 与学生梯度正对齐的 token,红底是负对齐。左侧是学生的一段组合计数推理;右上是学生 top-1 预测"0"(直接补出 2016)的概率分布;右下是若强制选教师方向 top-1 的"5",同一个学生会走"252+504=756,756+1260=2016"的弯路也能到正确答案。黑框标出的"0"是全场与教师方向负对齐最强的 token——OPRD 的负向分支会抬高它的 logit,让学生选自己那条更短的路。
这张图是全文我最喜欢的一张。教师指的路没错(走弯路也能算对),但学生已经能一步算完,OPRD 的机制允许学生"感谢建议,但我自己来"。这就是"加速而非改向"在 token 层面的具体样子。

图5:AIME'24 上的回答风格分析,用 101 个标准化特征分五类(连接词、情态、语法、标点、篇章结构)。红色表示风格更接近弱教师(-1),绿色表示更接近纯 GRPO 训练的学生(+1)。OPD 在五个类别上全面偏向教师,而 OPRD 全面偏向 GRPO 学生。
风格指纹的结论很干净:OPD 学生说话越来越像老师,OPRD 学生说话还是像"只做 RL 的自己"。教师的知识通过学生的策略表达出来了,而不是学生被教师同化了。

图6:附录中的扩展版本,对比 OPD 和 OPRD 在第 30/60/90/120/150 步的风格轨迹。OPD 各 checkpoint 稳定地偏向教师一侧(红色),OPRD 从第 30 步起就稳定落在学生一侧(绿色),说明风格上的"独立性"不是训练末期的偶然现象。
💡 我的判断
亮点。 这篇最值钱的地方是把"弱到强蒸馏"的矛盾看得很透:之前所有方法要么匹配教师策略、要么匹配教师 delta,都逃不过"目标由弱模型定义"的宿命;OPRD 把教师信号降格成梯度上的一个重缩放算子,目标从头到尾只有 reward。形式上它属于 gradient manipulation 家族(和 PCGrad 是亲戚),但反着用——别人是投影掉冲突分量,它是放大对齐分量,什么都不删,所以驻点不动。这个"只放大、不替换"的不变量是整个方法的地基,也是它和一堆同期工作的分水岭。
问题也有。 一是全部实验都在 0.6B–8B 的 Qwen3 家族内、全是可验证奖励的数学和逻辑任务——verifier 质量好是这个方法的隐含前提,换成开放式生成或者 reward model 场景,policy shift 的方向还干不干净要打个问号。二是梯度消失那个坑在真实场景里不罕见,初期 rollout 质量差时 OPRD 是没有自举能力的。三是成本:要额外跑教师+reference 两个冻结模型的前向,wall-clock 多 11.9%、峰值显存多 10.2%(相对 GRPO),小规模可以接受,frontier 规模的调度和分片开销作者自己也承认是 future work。
工程启发。 如果你在做模型代际迁移或多专家合并,这个配方值得一试:RL 后的教师和它的 pre-RL reference 都是现成的,改动只是 logit 梯度上的一个 rank-1 重缩放,λ 还不用精调。多教师场景的收益看起来更实际——4 个 4B 专精合并出的 8B 学生全面反超专精,这条路线对"小模型快速迭代 reward 和环境、大模型坐收成果"的研发模式是个不错的支撑。
往远了看,作者在结尾提的 recursive self-improvement 方向值得留意:每一代模型不只留下 checkpoint,还留下一个可迁移的 policy shift 给下一代当"启动方向"。如果这条路走通,后训练的复用粒度会比现在细得多。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我