硬币的两面:在策略蒸馏到底迁移了什么?同源泛化,跨源拟合,多教师还会玩跷跷板

做模型蒸馏的时候,你有没有默认过一个假设——"用哪个领域的数据蒸,学生就只在哪个领域变强"?

这个假设听起来天经地义。数学教师配数学数据,代码教师配代码数据,多教师集成的时候按领域路由一下,各管各的,井水不犯河水。我们之前搭多教师蒸馏 pipeline 的时候,基本就是按这个心智模型来设计的。

arXiv:2608.16647 这篇论文把这个假设拆得粉碎。它的结论可以压缩成三句话:OPD 迁移的是教师的推理行为而不是具体题目的答案;迁移的广度由师生"同源关系"决定——同源泛化,跨源拟合;而这种广泛的迁移是把双刃剑,多教师蒸馏里每个教师的影响根本关不进自己的领域,组合起来就是一个依赖混合比例的能力跷跷板

核心摘要:这篇论文做了一件其实早该有人做的事——给 On-Policy Distillation(OPD,在策略蒸馏)的泛化行为做一次严格的受控研究。每次只动一个泛化因子:域内难度、语言、推理跨度、跨域迁移、多教师组合。实验覆盖了 9 个教师、4 个学生、4 个领域。结论相当反直觉:教师从来没解出来的题和总能解出来的题,蒸馏效果几乎一样;用小学难度的 GSM8K 训练都能恢复默认设置 80% 以上的收益;一个更强的跨源教师,蒸出来的学生可能还不如弱一些的同源教师。我觉得这篇论文最值钱的不是某个新方法,而是它给多教师蒸馏提供了一个诊断心智模型——学生在某领域表现差,锅不一定在该领域教师头上。

论文信息 - 标题:Every Coin Has Two Sides: On the Dual Nature of Generalization in On-Policy Distillation of Large Language Models - 作者:Zhaoyi Li, Deyang Kong, Yuan Wei, Evan Yang, Ranran Shen, Mahardika Krisna Ihsani, Ming Yang, Wei Zhang, Chuan Hao, Jian Yang, Ran Tao, Bryan Dai, Shikun Zhang, Wei Ye, Ying Wei, Defu Lian - 机构:中国科学技术大学、北京大学、IQuest Research、MBZUAI、浙江大学 - 链接:https://arxiv.org/abs/2608.16647 (v2,2026-08-23)


🎯 问题:我们其实不知道 OPD 在迁移什么

先把背景铺一下。On-Policy Distillation 是这两年后训练里的香饽饽:学生模型自己 rollout 生成轨迹,教师在这些轨迹上做逐 token 的稠密监督。相比传统 SFT 蒸馏,它消掉了训练分布和学生实际生成行为之间的 exposure bias,GKD、以及之前解读过的 SimpleOPD 等工作都验证了它的效果。

但有个问题一直被绕过去了:几乎所有 OPD 研究都在单一领域训练、在贴近训练数据的基准上评测。学生涨了分,你分不清这是局部拟合——只学会了训练分布上那点东西,还是广泛的策略迁移——真的把教师的推理能力整体搬了过来。

这个区分不是学术洁癖。如果你要做多教师蒸馏(MOPD),把数学提示路由给数学教师、代码提示路由给代码教师,"每个教师只影响自己的领域"这个假设就是整个架构的地基。地基不牢,路由就是个摆设。

论文把问题拆成三个递进的研究问题:

  • RQ1:OPD 对域内分布偏移有多鲁棒?训练题难度重要吗?换语言(英→中)、拉长推理链条,能力还在吗?
  • RQ2:OPD 能跨域迁移吗?数学提示的监督能不能提升代码和科学能力?反过来呢?
  • RQ3:跨域迁移会给多教师蒸馏带来什么后果?按领域路由真的能把教师的影响隔离开吗?

🏗️ 实验设置:一次只动一个变量

这篇论文的方法论部分很短,但实验设计很讲究。值得花两分钟看清楚。

蒸馏目标:最小化学生 \(\pi_\theta\) 和教师 \(\pi_\phi\) 之间的反向 KL 散度,在学生自己采样的轨迹上做逐 token 监督:

\[\mathbb{E}_{x\sim\mathcal{D},\ y\sim\pi_\theta}\left[\frac{1}{T}\sum_t D_{KL}\big(\pi_\theta(\cdot|h_t) \,\|\, \pi_\phi(\cdot|h_t)\big)\right]\]

工程实现上用了 reverse KL 的采样 token k1 近似,写成 policy-gradient 风格:优势 \(\widehat{A}^{OPD}_t = \text{sg}\big[\log\pi_\phi(y_t|h_t) - \log\pi_\theta(y_t|h_t)\big]\)。直觉很直白——教师比学生更看好某个 token,就强化它;否则抑制它。这个形式干净漂亮,跟 RL 训练框架天然兼容。

同源 vs 跨源,这是全文最关键的变量:

类型 定义 例子
同源 Same-Origin 教师和学生源自同一基座(学生是 SFT checkpoint,教师是在它之上 RL 出来的) Polaris-7B → DS-distill-7B
跨源 Cross-Origin 师生来自不同基座模型 Light-R1-14B → DS-distill-7B

模型阵容:9 个教师(Qwen3-32B、Light-R1-14B、Polaris-7B/4B、OpenMath-Nemotron-1.5B/7B、JustRL-1.5B、Nemotron-1.5B、DeepScaleR-1.5B、VibeThinker-1.5B),4 个学生(DeepSeek-R1-Distill-Qwen-14B/7B/1.5B、Qwen3-8B-SFT、Qwen3-4B)。

四个领域:数学(BigMath 训练,AMC2023/MATH-500/AIME2025/AIME2026/BeyondAIME/OlymMATH-Hard 六个英文基准,外加中文数学和长跨度组合题)、代码(DeepCoder 数据,LiveCodeBench 评测)、科学(TextbookReasoning + SCP-116K,GPQA-Diamond 评测)、指令遵循(Nemotron-IF 数据,IF-Eval 评测)。

这个矩阵铺得相当全。接下来一个因子一个因子看。


🔬 发现一:训练题难度?根本不重要

第一个实验就很反常识。

作者把 BigMath 里每道题让教师采 4 条回答,按教师 pass rate 切出三个各 25K 题的子集:easy(pass rate = 1,教师全做对)、hard(pass rate = 0,教师全做错)、random(随机)。然后在三个师生对上分别蒸馏。

图1:教师端 pass rate 对 OPD 的影响

图1:三个师生对(a:Qwen3-32B→Qwen3-8B-SFT;b:Polaris-7B→DS-distill-1.5B;c:Polaris-7B→DS-distill-7B)上,easy/random/hard 三个训练子集的 6 个英文数学基准平均分曲线。三条线最终几乎收敛到同一个点。

看到这个图的时候我愣了一下。教师全做错的题,和教师全做对的题,蒸馏效果居然一样好。

更夸张的还在附录里:拿小学应用题难度的 GSM8K 或者 DeepMath-103K 最难切片来训练,居然也能恢复默认 BigMath-random 设置 80% 以上的 OPD 收益。

这怎么理解?作者的读法我很认同:OPD 教给学生的是教师的推理模式——怎么分解问题、怎么验证中间步骤、怎么组织思维链——而不是某道题的具体答案。教师在一道解不出来的题上,照样能提供信息丰富的 token 级监督:它的尝试方向、它的局部推理习惯,都是可迁移的。这也顺带解释了为什么"教师必须比学生强很多"这个直觉要求其实是多余的。

学生端的对称实验(表1)更有工程价值。比较四种动态采样策略:不过滤、只保留学生全做错的(pass rate = 0)、只保留全做对的(pass rate = 1)、只丢弃全做对的(保留 pass rate ∈ [0,1)):

师生对 无过滤 只留 pass=0 只留 pass=1 丢弃 pass=1
Polaris-7B → DS-distill-1.5B 41.4 41.4 41.4 42.0
Light-R1-14B → DS-distill-7B 52.4 52.1 52.2 52.8

(数字为 6 个英文数学基准平均分,%)

两个极端过滤都没用,唯一有稳定小增益的是把学生已经稳拿的题丢掉——+0.4 到 +0.6 个点。逻辑也顺:学生已经可靠解出的题,没必要再让教师反复对齐推理过程,那是在浪费训练步数。这个结论可以直接抄进自家的蒸馏 pipeline。


🌐 发现二:跨语言、跨推理跨度都成立,但幅度看"血缘"

只在英文短链条数学题上训练,学生的中文数学(OlymMATH-ZH、LiveMathBench-ZH)和长跨度组合题(把多道 AIME/AMC 题串成需要传递中间结果的长链,这种结构训练数据里完全不存在)都会涨。

也就是说,蒸过来的能力不绑定训练题的表面语言,也不绑定推理长度。到这里都是好消息。

但幅度差异巨大,决定因素是同源关系

图2:同源 vs 跨源教师在三类数学分布上的泛化对比

图2:两个学生(a:DS-distill-1.5B;b:DS-distill-7B)各配一个同源教师和一个跨源教师,在英文数学、中文数学、长跨度数学三种分布上的训练曲线。虚线是教师自身的单模型精度。

7B 那一组(图 b)特别有戏剧性:跨源教师 Light-R1-14B 的单模型精度明显高于同源教师 Polaris-7B(看图里两条虚线的高度差),但蒸出来的学生反而弱得多。在长跨度数学上,跨源学生相对初始模型几乎没涨。

更强的教师 ≠ 更强的学生。 这句话值得刻在蒸馏 pipeline 的 README 第一行。

作者的解释:同源是师生策略兼容性的指标。同源对之间,教师只是在学生分布上做了 RL 微调,两个策略天然接近,OPD 可以做"整体对齐",而且这个对齐会被携带到其他分布——中文、长链条、甚至其他领域。跨源对的分布差距太大,对齐只能在训练提示覆盖的局部发生。

还有个顺带的小结论:直接用教师自己的 RL 训练提示(Polaris-53k、DAPO-17k)对 OPD 效果没有实质影响。挑数据这件事,在 OPD 里确实被高估了。


🔄 发现三:跨域迁移双向成立,学生被"拉向"教师的各领域水平

到跨域这里,事情开始有意思了。

图3:跨域迁移实验

图3:(a、b)用代码提示或数学提示训练,DS-distill-1.5B/7B 在 LiveCodeBench 上的表现;(c)科学域 GPQA-Diamond 上的迁移;(d)7B 学生用代码/科学提示训练后在英文、中文、长跨度数学上的表现。虚线为教师水平。

几个关键观察:

数学 → 代码/科学:训练里一个代码提示都没有,学生在 LiveCodeBench 上照样明显上涨。用科学向教师 Nemotron-1.5B 蒸馏时,不管训练提示是数学还是科学,GPQA-Diamond 都收敛到相近水平(图 c 里两条绿色/蓝色曲线都逼近教师虚线 40.5%)。

迁移是"拉向教师水平",方向可正可负:数学向教师 JustRL-1.5B 的科学能力比学生本身还弱(图 c 里橙色虚线在底部 14.9%),结果两种训练方式都把学生的 GPQA 分数拉到了初始点之下。看到这条橙色曲线往下扎的时候我是真警觉了——蒸馏不只传能力,也传短板。

同源消除训练域差距,跨源不能:同源 OPD 里,用代码提示训练和用数学提示训练的曲线几乎重合,都逼近教师;跨源 OPD 里,域内训练和跨域训练之间存在清晰且持续的差距(图 a、b 里绿线和蓝线/黄线的间距)。

机制上的读法:同源教师相对学生只是轻微调整了输出分布,OPD 做的是策略层面的整体对齐,迁移自然广泛;跨源教师分布差距大,OPD 主要在训练提示覆盖的分布上拉近师生策略,出了这个范围就力不从心。


⚖️ 发现四:多教师蒸馏的跷跷板——路由根本关不住教师

这是全文最有冲击力的部分,也是对工程实践警告意味最浓的部分。

实验用两个能力互补的 1.5B 教师:JustRL-1.5B(数学强)和 Nemotron-1.5B(科学/IF 强得多、数学弱)。两个设置:Setting 1 让 JustRL 当数学教师、Nemotron 当科学/IF 教师;Setting 2 角色互换。然后扫两位教师的数据混合比例。

图4:混合比例诱发的能力跷跷板

图4:(a)Setting 1:JustRL 任数学教师,随着它的数据份额增加(Nemotron/JustRL 从 1/1 到 2/25),学生的 GPQA-Diamond、LiveCodeBench、IF-Eval 全线下降,滑向 JustRL 较低的水平;(b)Setting 2:Nemotron 改任数学教师,同样三个基准随其份额增加而上升。

图 a 里 GPQA-Diamond 最离谱:JustRL 只是被分配教数学的,但它份额一涨,学生的科学成绩就往下掉——训练早期直接跌掉约 5 个点,因为 JustRL 在 GPQA 上比学生初始水平还低。一个数学教师,把学生的科学能力拖下水了。

数学基准上的数字(表2,DS-distill-1.5B,学生基线 11.9%,6 基准平均)把跷跷板刻画得更清楚:

设置 混合比(J/N) 数学平均分 相对最优
Setting 1(JustRL 教数学) 25/2 26.4 +0.1
Setting 1 25/8 27.1 峰值
Setting 1 1/1 26.3
Setting 1 8/25 26.1 -0.2
Setting 1 2/25 25.1 -1.2
Setting 2(Nemotron 教数学) 25/8 22.7 +0.7
Setting 2 8/25 21.7 -0.3

注意 Setting 2 那两行:Nemotron 名义上是数学教师,但数学更强的其实是 JustRL——所以无论 JustRL 被分配到哪个域,增加它的份额都在提升数学。性能变化不是由教师的分配域决定的,而是由教师自身的多领域能力谱决定的。 增加某个教师的份额,就是把学生在所有领域 uniformly 拉向这个教师的基线。

训练过程里还有"拔河"现象。

图5:训练中的拔河与级联 OPD

图5:(a、b)AIME24-Horizon-2 上,MOPD 学生曲线先贴合数学更强的 JustRL 单教师曲线,随后漂向较低的 Nemotron 水平,红框标出被拉扯的区段;(c)级联 OPD:先用 Nemotron + 科学数据训练,GPQA 快速升到约 40,切换到 JustRL + 数学数据后又回落到 23 左右。

图 c 那个级联实验我特别喜欢,它把时间维度上的多教师效应解耦开了:学生的 GPQA 像坐过山车,完全跟着当前教师走。这说明学生并没有"吸收融合"两位教师的能力,只是在被来回拽。


🧠 机制:同源整体对齐,跨源局部拟合

为什么同源和跨源差别这么大?作者用一个很巧妙的探针回答了:top-16 overlap ratio——师生下一个 token 分布里,各自 top-16 候选的重叠率。

图6:Top-16 重叠率随训练的变化

图6:(a)DS-distill-1.5B 学生与多个教师的 top-16 重叠率;(b)DS-distill-7B 学生。实线为同源教师,虚线为跨源教师。

两个观察。同源组合的重叠率起点就高(共享基座让策略天然接近),这个不意外;关键的是动态——同源组合的重叠率在训练中持续爬升(图 a 里 JustRL、Nemotron、DeepScaleR 三条实线都从 75-90 涨到 90+),而跨源组合持平甚至下降(虚线普遍平走或下探,VibeThinker 那条从 57 一路跌到 46)。

明明最小化的是同一个 KL 目标,结果完全不同。作者给的读法:"同源泛化、跨源拟合"——广泛迁移来自整体策略对齐,而这只在师生同源时容易实现。跨源 OPD 把优化预算花在了局部分布的拉近上,甚至可能在训练分布之外越拉越远。

这个探针方法本身值得收藏,以后诊断蒸馏效果不用只看下游分数了。


🧲 同源教师,连拔河都力气更大

跷跷板不只被混合比例倾斜,还被同源关系倾斜。

图7:同源教师在拔河中拉力更强

图7:DS-distill-7B 学生,同源 Light-R1-7B 任数学教师,跨源 Light-R1-14B 任科学/IF 教师。GPQA-Diamond 上,学生的科学成绩轻易被数学教师拉走——哪怕 1:1 平衡混合也一样。

科学/IF 教师 Light-R1-14B 明明更强(14B vs 7B),但它是跨源的,拉不动学生;同源的 7B 数学教师轻轻一拽,学生的 GPQA 就跟着走。血缘比体量好使。

图 8 是全文我最喜欢的实验,堪称反直觉的巅峰。

图8:同源拉力反转混合比例效应

图8:DS-distill-7B 学生,跨源 Light-R1-14B 任数学专家,同源 Polaris-7B 任科学/IF 专家。四个数学基准上,提高数学数据份额(蓝→红→绿→黄,数学占比递增)反而让数学成绩单调下降。

看明白这个设置没有:增加数学数据的比例,数学成绩反而全面下降。

机制拆开就通了。科学/IF 专家 Polaris-7B 虽然一个数学数据都没带,但它本身是强数学模型(AMC2023 95.2%、AIME2026 62.5%,图里灰色虚线),而且和学生同源——它的份额通过整体对齐"免费"迁移数学能力。而名义上的数学专家 Light-R1-14B 是跨源的,它的单教师 OPD(黄色虚线)反而是所有运行里最弱的。增加跨源数学数据,只是在挤占那个真正有效的同源信号。

数据中心视角("哪个域弱就加哪个域的数据")在这里给出了完全错误的处方。这个实验对任何在搞多教师/多源蒸馏的团队都是一记警钟。


🤔 我的判断

说实话,这篇论文不是那种提出新方法刷榜的工作,它是纯研究向的 controlled study。但我觉得它的价值不比方法论文低。

亮点

  • 问题选得准。OPD 泛化行为这个盲区真实存在,而且直接影响多教师蒸馏这个工程热点的设计。
  • 实验设计干净。一次一个变量,同源/跨源对照贯穿全文,结论的因果链很扎实。9 教师 × 4 学生 × 4 领域的覆盖面也让结论不太可能是个案。
  • top-16 overlap 探针和级联 OPD 这两个小工具,简单但有效,可以即插即用。
  • 图 8 那个"加数学数据反而降数学成绩"的实验,是今年我看到的蒸馏研究里最有戏剧性的结果之一。

值得警惕的地方

  • 实验全部聚焦推理导向模型,数学、代码、科学、IF 四个领域。多模态、工具使用、智能体交互场景下,"同源泛化跨源拟合"还成不成立?作者自己也承认没验证。说实话,Agent 场景下监督依赖外部观测和动作,跨域行为可能完全是另一回事。
  • MOPD 实验只有两位教师、固定路由。真实系统的专家池更大、路由器是自适应的,跷跷板在那种复杂度下会不会被平均掉,不好说。我的直觉是不会——教师越多,互相拉扯的维度越多,问题可能更隐蔽。
  • 所有结论都在 reverse KL 这一种 OPD 目标下得到。forward KL 或其他散度下的泛化图谱是否一样,论文没有碰。

工程启示,这几条可以直接带走:

  1. 选教师别只看 benchmark 分数,先看血缘。同源弱教师经常胜过跨源强教师。
  2. 别费劲按难度筛蒸馏数据了,教师做不出来的题照样有用;把算力花在丢掉学生已掌握的题上。
  3. 多教师系统里,路由不是能力边界。学生在某领域出问题,审查所有教师,不是只查该领域那位。尤其警惕某个教师在非目标域的短板污染全局。
  4. 蒸馏完的评估必须全领域做,不能只看训练域。这也带出一个安全含义:OPD 可能把教师的不良行为或偏见传播到没监控的域里,提示路由不构成安全边界。

📝 收尾

这篇论文标题起得很好——Every Coin Has Two Sides。OPD 广泛迁移这一面,让同源蒸馏出奇地高效;但同一枚硬币的另一面,是多教师系统里关不住的能力渗透和跷跷板。

如果你正在搭多教师蒸馏 pipeline,这篇论文值得从头到尾读一遍原文。它不会给你一个新方法,但会改掉你几个错误的心智模型——而心智模型的债,通常是工程上最贵的债。

觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我