OPD不是万能药:大模型在线策略蒸馏什么时候能work,什么时候一定崩
你有没有碰到过这种情况——用大模型当教师做在线蒸馏,学生的loss确实在降,重叠率也在涨,但跑完一看,准确率几乎没动。更离谱的是,换一个分数更高的教师模型,蒸馏效果反而更差。
这不是你的实现有bug。这是OPD本身的一个根本性问题:分数高不等于能教得好。
清华THUNLP团队这篇新论文,第一次把OPD的训练动态拆开揉碎看了一遍——从现象到机制到实操方案,给出了两个决定成败的必要条件,以及一套token级的因果解释。说实话,这个分析深度在蒸馏领域少见。
核心摘要
OPD(On-Policy Distillation)已成为LLM后训练标配,但大家一直在"黑盒"里调——为什么有时候蒸馏效果很好,有时候完全不行?这篇论文给出了答案:OPD成功需要同时满足两个条件——师生思维模式兼容,且教师必须提供学生没见过的新能力。缺少任何一个,蒸馏就会失败。token级机制揭示了更深的因果:97%-99%的概率质量集中在一小撮共享token上,OPD的优化几乎完全发生在这些重叠token上。作者还发现了OPD的"免费午餐"代价——长序列蒸馏会因为教师信号退化而不稳定。两套实操恢复方案(离策略冷启动+教师对齐提示选择)直接可用。这篇论文的定位不是"新方法",而是"理解旧方法为什么work"——这个定位本身就是有价值的。
论文信息
- 标题:Rethinking On-Policy Distillation of Large Language Models: Phenomenology, Mechanism, and Recipe
- 作者:Yaxuan Li, Yuxin Zuo, Bingxiang He, Jinqian Zhang, Chaojun Xiao, Cheng Qian, Tianyu Yu, Huan-ang Gao, Wenkai Yang, Zhiyuan Liu, Ning Ding
- 机构:清华大学、上海科技大学、伊利诺伊大学香槟分校、中国人民大学
- 链接:https://arxiv.org/abs/2604.13016
- 代码:https://github.com/thunlp/OPD
OPD到底在优化什么
在聊两个条件之前,先搞清楚OPD在干什么。
OPD的核心思路:让学生在自己采样的轨迹上,用教师的逐token概率分布作为密集奖励信号来学习。用公式写就是最小化学生策略下的反向KL散度:
其中 \(p_t\) 是学生在位置 \(t\) 的概率分布,\(q_t\) 是教师的。注意,轨迹是从学生采样的,但评分用的是教师——这就是"on-policy"的由来。
说到这个,Google DeepMind 2024年ICLR那篇GKD(Generalized Knowledge Distillation)其实是最早系统提出这个框架的,把蒸馏看成imitation learning问题。但GKD主要关注的是"怎么采轨迹更高效"——on-policy、off-policy还是mixed。而这篇论文问的是一个更根本的问题:在on-policy设定下,到底什么决定了蒸馏的成败?
论文考察了三种OPD实现粒度:
| 变体 | 计算方式 | 特点 |
|---|---|---|
| Sampled-Token OPD | 只算学生采样到的那个token的log概率差 | 最轻量,无偏估计 |
| Full-Vocabulary OPD | 整个词表上算KL散度 | 梯度最密,但内存开销 \(O(BTM)\) |
| Top-k OPD | 学生概率最高的k个token上算重归一化KL | 性能与开销的折中 |
条件一:师生得说同一种"语言"
第一个条件听起来直觉上合理,但论文给出了非常精确的实验证据:学生和教师必须共享兼容的思考模式(thinking mode)。
什么是思考模式?简单说就是:面对同一个问题,两个模型在每一步的top-k token是不是高度重叠的。论文用重叠率来量化:
来看实验。学生是Qwen3-1.7B-Base,教师对比两组:
- Qwen3-4B (Non-thinking):同家族但没做thinking模式训练
- Qwen3-4B-Base-GRPO:同家族,做了GRPO强化学习后训练

Figure 2:左图用GRPO教师(思维模式兼容),重叠率从0.69起步持续上升;右图用Non-thinking教师,初始重叠率就低得多,训练过程中也恢复不了
关键发现:尽管两个教师在基准分数上差不多,GRPO教师的初始重叠率就高出一截,最终蒸馏效果全面领先。Non-thinking教师的初始模式差距,在整个训练过程中都无法弥补。
这个结论挺反直觉的——你可能觉得初始差距大,训练久一点总能追上。但事实是,模式不匹配的窗口期一旦错过,后面的梯度信号就再也无法把学生推到正确的轨道上。
条件二:光分数高不够,得有新东西
第二个条件更微妙:即使思维模式一致,即使教师分数更高,如果教师没有提供学生训练中没见过的新能力,OPD也会失败。
这个条件的验证设计得非常巧妙,用了两组对比:
DeepSeek家族:学生R1-Distill-1.5B,教师对比——R1-Distill-7B(同管线,只大了点)vs. Skywork-OR1-Math-7B(经过RL后训练,有新能力)。
Qwen家族:学生Qwen3-1.7B (Non-thinking),教师对比——Qwen3-4B (Non-thinking)(同管线无新知识)vs. Qwen3-4B-Non-Thinking-RL-Math(经RL后训练有新能力)。

Figure 4:Skywork-OR1-Math-7B(RL后训练教师)的差距恢复率71.5%,远高于同管线R1-Distill-7B的16.9%
结果很清楚:经过RL后训练的教师带来了大得多的差距恢复率。同管线教师虽然分数更高(7B比1.5B强),但对学生来说,这些分数不过是"对同一数据拟合得更好",不是"新知识"。
等等,这个发现指向一个很实际的问题——DeepSeek-R1那种直接用大模型当教师蒸馏小模型的做法,如果师生是同管线的,蒸馏效果可能远不如预期。7B教师和1.5B教师对学生来说,在分布上几乎是不可区分的——因为它们的token分布模式是同一套。
反向蒸馏:一个漂亮的验证
论文里最让我惊艳的实验是弱到强反向蒸馏。
思路很简单:把JustRL-1.5B(由R1-Distill-1.5B经RL得到的更强版本)作为学生,反向蒸馏回它的RL前检查点R1-Distill-1.5B。同时还用R1-Distill-7B作为教师做对比。
结果:学生几乎完全退回到RL前的水平。RL带来的所有增益都被抹去了。
更惊人的是:用得分更高的7B教师做反向蒸馏,退化轨迹跟用1.5B弱教师几乎完全一样——都退化到同一个水平。

Figure 6:反向蒸馏导致学生退回到预RL水平,7B教师和1.5B教师的退化轨迹几乎无法区分
这个结果太有说服力了。它直接证明了OPD说到底是在学习思维模式——如果教师的模式没有新信息,不管教师多大、多强,学生都会被拉回教师的分布。在反向蒸馏里,这个"拉回"就是把RL增益全部抹掉。
Token级机制:97%概率质量的故事
两个条件讲了"为什么",接下来论文深入到token级别讲"怎么发生的"。
渐进式对齐
成功的OPD有一个非常清晰的模式:
- 重叠率从72%稳步升到91%
- 重叠token的优势趋向0(学生和教师在这些token上越来越一致)
- 熵差不断缩小
失败的OPD呢?重叠率停滞,优势与熵差从一开始就不匹配。

Figure 7:成功运行(JustRL-1.5B教师)重叠率稳步上升,各项指标收敛;失败运行(R1-Distill-7B教师)重叠率停滞,指标始终不匹配
自强化循环
论文做了一个非常关键的消融:在成功配置下,对比三种损失覆盖范围——
- Student Top-k:在学生全部top-k上优化(标准做法)
- Overlap Top-k:仅在交集token上优化
- Non-Overlap Top-k:仅在非交集token上优化
结果:Overlap Top-k的性能跟标准Student Top-k几乎完全一致,而Non-Overlap Top-k显著更弱。
这揭示了一个自强化动态:优化重叠token会把更多概率质量推入这个交集,逐渐把非重叠token挤出top-k,形成良性循环。重叠率从72%一路涨到91%以上,就是这个循环驱动的。
而97%-99%的概率质量集中在这小撮重叠token上——这意味着OPD的优化几乎完全发生在这个极小的token子集上。剩下那1%-3%的非重叠token,对梯度的贡献微乎其微。
实操方案:怎么拯救失败的OPD
光诊断不治病不是好论文。作者提了两套恢复策略。
离策略冷启动
思路很直接:先用教师生成的轨迹做SFT,缩小初始思维模式差距,然后再做标准OPD。
实验设置:学生Qwen3-1.7B-Base,教师Qwen3-4B (Non-thinking)。SFT数据为教师生成的200K回复。

Figure 8:SFT初始化的学生(蓝色)不仅早期优化更快,最终性能上限也显著高于直接OPD(橙色)。初始重叠率大幅提高,训练轨迹更平稳
这个方案工程上很实用——先跑一轮SFT预热,成本不高,但对初始重叠率的提升是实质性的。就是把"模式对齐"的工作交给SFT来做,让OPD专注于"知识迁移"。
教师对齐的提示选择
第二个方案更轻量:换提示模板或内容,让训练数据跟教师的后训练数据对齐。
提示模板实验:只把模板换成教师RL训练时用的格式,所有基准上的验证性能就提升了。重叠率起点更高,收敛也更高。
提示内容实验:用跟教师RL训练同域的DAPO-Math-17K数据,比用同域但不对齐的DeepMath子集效果更好。
但有一个代价值得注意:教师对齐的提示会导致学生熵大幅降低——模型变得更"确定",多样性下降。作者建议混合一些OOD提示来防止策略熵坍塌。这个坑在实际部署中容易踩到。
密集监督的代价:没有免费午餐
论文还有一个重要发现,也是我觉得最值得警惕的:OPD密集token级奖励的"免费午餐"是有代价的。
响应长度:3K-7K是甜点
在6种最大响应长度下做实验:
| 响应长度 | 效果 |
|---|---|
| 0.5K, 1K | 监督token太少,学习低效 |
| 3K, 7K | 最优 |
| 10K | 平台期/下降 |
| 15K | 后期崩溃 |
15K设置出现了非常有趣的现象:高熵从响应末尾开始,逐步向序列前部传播(后向传播模式)。重叠率在后期骤降,熵和梯度范数飙升——训练直接崩了。
教师续写退化
论文做了一个很精巧的实验:截断学生生成的不同长度前缀,让教师续写,看教师的精度优势怎么变。
结果:1K前缀时教师优势+0.37,16K前缀时只剩+0.02。教师的指导信号随深度急剧退化——到了序列后半段,教师自己都快分不清对错了,怎么教学生?
全局有效 ≠ 局部可利用
这个发现特别有意思。对比成功教师和失败教师的序列平均奖励分布,AUROC几乎一样(0.73 vs 0.75),说明全局信号质量是差不多的。
但失败教师的逐token优势虽然大,方向却各不相同——聚合时相互抵消,有效梯度极小。成功教师的优势更集中、方向一致,能被反向KL的mode-seeking行为放大。
这就像两个导航系统:一个说"往东偏北30度走5公里",另一个说"往东偏北30度走1公里,然后往西偏南10度走1公里,再往东走1公里……"。总位移可能差不多,但第二个系统的每一步都在摇摆,你根本走不了直线。
单token采样就够了
好消息是,Sampled-token OPD跟Top-4、Top-16、Top-64性能相当。唯一明显差的是Top-1——太集中了,微小策略变化就会导致rank-1 token翻转,奖励信号极不稳定。

Figure 16:Sampled-token OPD与Top-4/16/64性能相当,Top-1明显差且不稳定
我的判断
这篇论文的核心价值不在于新方法——两套恢复策略(SFT冷启动、对齐提示)都是工程上已有的思路。真正的贡献在于把OPD的黑盒拆开了,让你能理解"为什么work"和"为什么不work"。
几个我觉得特别有价值的点:
1. 两个必要条件给出了明确的实操判断标准。 以后做蒸馏之前,先看一下师生重叠率——如果初始重叠率低于60%,要么换教师,要么先做SFT对齐。如果教师跟学生是同管线的,别指望蒸馏能带来质变,直接上RL可能更实在。
2. 反向蒸馏实验的设计非常漂亮。 用"RL→退RL"的方式验证"OPD学的是模式",比任何理论推导都有说服力。
3. 密集监督的代价这个问题,之前很少被讨论。 大家总觉得token级监督是免费的午餐——每个位置都有信号,多好。但这篇论文告诉你,信号质量是会退化的,长序列蒸馏不是越长越好。
当然也有我觉得可以推敲的地方:
评估基准偏窄。 所有实验都在数学推理(AIME 2024/2025, AMC 2023)上做的,OPD的结论能不能迁移到代码生成、通用对话等场景?数学推理的特殊性在于——正确答案的token分布非常集中,可能放大了"重叠token主导优化"的效果。在更开放的任务上,97%-99%的概率质量集中度可能不会这么极端。
"新知识"的定义还不够精确。 论文用"是否经过RL后训练"来近似"是否有新知识",但这只是一个代理指标。RL到底给学生带来了什么样的新知识?是新推理路径?还是新的事实知识?还是更好的验证习惯?这个区分对指导实操很重要,但论文没有展开。
跟工业界的实践对比不够。 Qwen3技术报告里提到用了大规模蒸馏,DeepSeek-R1的蒸馏方案也是公开的。论文在多大程度上解释了这些工业实践中观察到的现象?如果工业界的OPD确实work,那是因为他们无意中满足了两个条件,还是有其他因素?
总的来说,这篇论文是OPD领域少见的"机制分析"类工作,读完之后你对"蒸馏为什么work"的理解会上一个台阶。如果你在做LLM蒸馏相关工作,这篇值得仔细读。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我