大模型在线策略蒸馏为什么会失败:好老师要同时满足三个条件
在线策略蒸馏(On-Policy Distillation,OPD)有时候会失败。
理解这个问题的一个有用视角是:OPD 要求一个近乎理想的老师。
这样的老师必须同时满足三个条件。
-
它必须足够强。
-
它必须足够鲁棒。
-
它必须足够温和。
“强”很好理解:老师应当在目标任务上明显强于学生。
不过,光是强远远不够。
第二个条件是鲁棒性。
在 OPD 里,老师并不总是从自己的自然轨迹出发推理。
它经常被喂进学生生成的前缀(prefix),再从那里继续。
一个鲁棒的老师,应当在拿到任意的学生前缀时,依然能产出高质量的推理延续。
这比普通的任务能力要求高得多。
很多情况下,学生前缀一旦足够长,老师就不再表现得像一个独立推理者。
它开始表现得像一个补全模型。
它不是纠正轨迹,而是顺着学生的路径继续走。
如果学生前缀已经把推理带进了坏区域,老师实际上被迫在那个区域里作业。
因此,学生前缀在某种意义上是对老师行动空间的一个约束。
它剪掉了老师可能的延续方向,有时会把老师推离它自己的高质量推理路径。
第三个条件是温和。
我的意思是,老师的 token 级信号不应持续地、剧烈地偏离学生的分布。
这一点尤其重要,因为单个 token 是语义的极差载体。
token 级的 logit 差异只能提供局部且有些含混的训练信号。
如果在一整个句子或推理段上,老师和学生几乎在每个 token 位置都强烈分歧,学生收到就是一串嘈杂、不稳定、局部含混的信号。
问题不在于老师和学生不同——不同才有的学。
问题在于差异可能过大、过持续,并且在学生条件前缀下语义不一致。
所以一个理想的 OPD 老师应当是:
- 强到能解决任务;
- 鲁棒到不被学生前缀拖离自己的路线;
- 温和到能提供可学的 token 级引导。
这个视角也能解释自蒸馏(self-distillation)为什么经常失败。
自蒸馏引入了一个用更大老师做普通 OPD 时不一定有的问题:老师可能根本不够强。
这里”不够强”不只是指最终答案准确率弱,还包括上下文学习能力弱。
比如,老师是靠给同一个模型额外特权信息构造出来的,它仍然需要产出不直接依赖这些特权信息的高质量推理路径。
这本身已经很难。
再把这个较弱的老师条件在可能有缺陷的学生前缀上,问题就更难了。
弱模型加特权信息不会自动变成鲁棒的老师。
它可能知道答案或有提示,但仍然产不出稳定的、前缀条件下依然高质量的推理延续。
这就是自蒸馏特别脆弱的原因:老师往往既不够强,也不够鲁棒。
这同样解释了普通 OPD 为什么用了更大的老师仍会失败。
更大的老师在独立解题设定下可能很强,但除非专门针对”学生前缀条件化”训练或矫正过,它可能仍然既不鲁棒也不温和。
它从零开始能把题解得很好,但被迫从学生的部分轨迹继续时,给出的引导可能很差。
在我看来,这是 OPD 的核心失败模式之一。
它也有助于解释为什么把 GRPO 和 OPD 结合的方法(比如 RLSD 类方案)效果更好。
GRPO 可以充当老师信号的矫正或过滤机制。
具体做法是把 OPD 信号与 GRPO 信号按比例相加,或者相乘过滤,让学生不再纯粹按”老师在该学生前缀下的偏好”来训练。
有效训练信号变得更接近两个集合的交集:
老师认为在该前缀下好的东西,以及按结果奖励判断真正正确的东西。
这让老师信号更鲁棒。
当老师的条件化延续与可验证的正确性冲突时,老师不再被完全信任。
顺着这个框架看,有几条研究线索值得展开。
第一,老师感知的训练(teacher-aware training)。
多数现有方案通过老师之外的机制间接改善鲁棒性,比如 GRPO 矫正、过滤或门控。
这不一定是缺点,甚至可能是最实用的方案。
这里值得追问:学生前缀下的鲁棒性能否成为显式的老师训练目标?
只在自身轨迹上表现好的老师,未必是好的 OPD 老师。
好的 OPD 老师应当在有缺陷的学生前缀下依然可靠。
第三,我们可能需要更丰富的内生信号。
logit 是天然有用的内生信号,容易获取,且直接绑定模型的下一 token 分布。
不过,logit 未必是唯一有用的信号。
它是局部的、token 级的,有时语义含混。
可能存在更丰富的内部指标,能更好刻画老师是否在给出稳定、有意义、可学的矫正。
例如,可以越过 token 级 logit 差距,考察隐藏状态、不确定性度量、表示偏移或轨迹级统计量能否提供信息量更大的引导。
总的来说,我认为 OPD 不应被简单理解为”在学生自己的样本上从更强模型蒸馏”。
它比这更脆弱。
OPD 要做好,老师必须强、鲁棒、温和。
三个条件任何一个破裂,OPD 就可能失败。
GRPO、SFT、老师感知训练、信号过滤这些辅助方法之所以有效,可能恰恰是因为它们修复了这三个性质中的某一个。
落地操作参考:三条件自查清单
如果你在自己做蒸馏训练(无论是把大模型能力蒸馏给小模型做推理降本,还是给业务模型做轻量化微调),可以直接把三个条件当训练前自查清单使用。
第一步,检查老师是否”够强”:在同一评估指标下单独测老师模型,确认它的成绩明显高于学生,否则蒸馏上限就是老师的上限。
第二步,检查老师是否”鲁棒”:喂几段学生模型生成的偏航前缀,看老师是纠正轨迹还是顺着补全;如果出现”顺着走”的情况,考虑对老师做学生前缀条件化训练。
第三步,检查老师是否”温和”:抽样统计老师与学生在这批数据上的 token 级 logit 差异,如果整句范围内几乎每个位置都剧烈分歧,蒸馏信号会嘈杂不稳,需要降低蒸馏损失权重或引入过滤。
如果三条件难以同时满足,原文给出的工程兜底是把 OPD 与 GRPO 类结果奖励信号做交集式组合,让可验证的结果正确性去过滤老师在学生前缀下不可信的引导。
原文信息
作者:xuyan923r(@xuyan923r),AI 研究者
原文地址:
暂无评论,快来抢沙发~