On-Policy Distillation(OPD)
要解决的问题
知识蒸馏常用做法是:用教师生成静态轨迹,学生做 off-policy 的下一 token 模仿(见 5.4.2 知识蒸馏)。训练时前缀来自 完美教师上下文,推理时却是 学生自己生成的状态——这是交互模仿学习里的 exposure bias(暴露偏差);长链推理下错误会沿序列复合,文献中复合误差量级可接近 ( 为序列长度),而 on-policy 纠错可降至 量级(DAgger 类结论在 LLM 场景的类比,见综述)。
On-Policy Distillation(OPD,on-policy 蒸馏) 把学生 当前策略 采样的轨迹当作训练状态,再在该状态上接收教师(或自教师)的 稠密 token 级 反馈,使训练分布与部署分布对齐。它常作为 RLHF / RLVR 的互补或替代:用教师 logprob 替代稀疏 outcome 奖励,或与 KL 约束 RL 在数学上等价(G-OPD,见下文)。
核心概念
形式化
设 prompt ,学生 rollout ,状态 。on-policy 训练优化:
其中 为教师(白盒 logit、黑盒分数、或自蒸馏的 privileged context)。常见 为 reverse KL 在 上的 token 级期望,等价于最大化教师 logprob 奖励并加 KL 锚定(与 4.3.4 KL 惩罚 同族)。
与相邻范式对比
| 维度 | Off-policy 蒸馏(SFT on teacher) | RLVR(GRPO/PPO + 稀疏奖励) | OPD |
|---|---|---|---|
| 训练状态 | 教师前缀 | 学生 rollout | 学生 rollout |
| 监督 | 硬标签 / 可选 KL | 整条对/错 | 每 token 教师分布 |
| 需 RM | 否 | 常需或可验证奖励 | 否(白盒教师时) |
| 主要痛点 | 分布 错位、长 CoT 复合错 | 奖励稀疏、方差大 | 教师算力、师生分布需接近 |
| 工程栈 | SFT / TRL | verl、OpenRLHF | 常与 RL 共用 rollout(如 verl OPD) |
与 4.4.3 离线 vs 在线偏好学习 的关系:OPD 本质是 在线 的(每步需学生新 rollout),但监督来自 蒸馏损失 而非人类偏好对。
综述三维分类(选型用)
外部补充(检索于 2026-06-04):A Survey of On-Policy Distillation for LLMs 将 OPD 统一为 学生轨迹上的 -散度最小化,并按下列轴组织文献;维护列表见 Awesome-LLM-On-Policy-Distillation。
| 设计轴 | 含义 | 例子 |
|---|---|---|
| 优化什么 | 固定/自适应散度、是否叠加 RL | GKD、DistiLLM、EOPD、G-OPD、TGPO、OPD+ |
| 信号从哪来 | 白盒教师、黑盒 API、自蒸馏 | 强→弱蒸馏、OPSD、CREDIT |
| 如何训稳 | cold start、混合 rollout、过滤 | off-policy warmup、token 可靠性过滤 |
方法 / 经典与近期工作
奠基:白盒 on-policy KL
| 方法 | 要点 |
|---|---|
| GKD(Agarwal et al., 2024) | 混合策略 上采样,F-KL / R-KL / JSD; 控制 on-policy 程度 |
| MiniLLM(Gu et al., 2024) | 序列级 reverse KL + REINFORCE,教师作 reward |
| DistiLLM(Ko et al., 2024) | Skew KL 缓解 on-policy 探索时数值不稳定 |
工业博客实践:Thinking Machines — On-Policy Distillation 在带 KL 的 RL 实现上 将 regularizer 换为教师 即可得到 OPD 式稠密奖励(个人理解:实现细节因框架而异)。