OPD 本质分析:从在线蒸馏公式、TRL 最小复现到 GSM8K 验证
一句话版本:OPD(on-policy distillation,在线策略蒸馏)用「学生自己采样的数据」加「教师逐 token 的密集信号」,同时绕开离线蒸馏的分布错位和纯 RL 的信号稀疏。我们基于 TRL 做了一次最小复现,得到三个可量化的结论:数据筛选把 GSM8K 准确率从 11.52% 抬到 43.06%;换更强的教师做离线蒸馏几乎不动(43.06% → 43.21%);只有「强教师 + 完整生成预算」的组合下,on-policy 的价值才兑现(54% > 42% > 39%)。 本文面向已经接触过 RL 和蒸馏、想理解 OPD 来龙去脉并动手复现的读者。主线:OPD 本质是什么 → TRL 怎么实现 → 我们的实验证明了什么 → 结论能否被外部证据验证。 开篇:OPD 的本质 为什么现在都在谈 OPD OPD 最近在大模型后训练里升温:Qwen3、GLM-5、DeepSeek 的后训练实践都涉及「在线蒸馏」思路,社区里也有不错的入门视频:从 RL 到 OPD:Qwen3、GLM-5、DeepSeek 都在关注什么?。核心主张一句话:保留 RL 里「学生自己探索」的 on-policy 采样,同时引入教师对每个 token 的密集反馈,缓解传统蒸馏的分布错位,也降低纯 RL 里信号稀疏、成本高、训练不稳定的压力。 三范式对比 维度 离线蒸馏 offline KD OPD 在线策略蒸馏 RL(PPO/GRPO) 采样分布 教师或固定数据(off-policy) 学生当前策略(on-policy) 学生当前策略(on-policy) 学习信号 教师逐 token 分布 教师逐 token 分布 奖励(通常稀疏) 是否要奖励模型 否 否 是 分布错位 有 无 无 信号密度 高 高 低 不稳定风险 低 中(依赖采样质量) 高 本质是两个维度的交集:「谁的数据」决定分布是否错位——离线蒸馏用教师生成的数据,学生学的是「自己不太会产生的输入」上的分布,且固定数据不会随学生进步自适应;「谁的信号」决定密度——教师逐 token 的 KL 目标密集,RL 的奖励通常只出现在序列末尾。OPD 取交集:学生数据 × 教师信号。 ...