Overview of OPD

Author

Updated

Sep, 14, 2026

Introduction

SFT (supervised fine tuning) 是现代用于提升 LLM/MLLM 基本能力的一个微调方法。 其具体做法是收集标注好的数据集,形成 prompt-response pair 数据集,然后基于 next token prediction loss 进行训练。

但是,SFT 的问题在于容易过拟合,导致模型出现灾难性遗忘现象。 为了解决这个问题,我们在本文中介绍现在主流的做法: OPD (on policy distillation). OPD 通过让学生模型自身尝试解决问题 (rollout), 然后教师模型在 token 层面使用 logits 进行指导。 GKD (Agarwal et al., 2024) 首先提出了 on-policy KD 的概念,即训练数据不再从 off-policy dataset 中得到,即 (x,y)D(x,y)\sim\mathcal{D}, 而是由学生模型产生,即 xD,yπSx\sim\mathcal{D}, y\sim\pi_{S}, 这里 πS\pi_S 就是我们的学生模型。 损失函数上,GKD 仍然使用 forward KL 作为损失函数。

后续的研究逐渐开始使用 reverse KL 作为损失函数,将 off-policy 的 imitation learning 变成了 on-policy 的 guided learning (Gu et al., 2024; Lu & Lab, 2025). 此时,

相比于 SFT 来说,OPD 可以更大程度保留模型本身的能力,相比于 RL 来说,训练开销更小。

下面是使用 OPD 的一些模型:

MethodDescriptionModels
OPDStrong to WeakQwen3
MOPD (one expert per sample)Multi expert to singleDeepSeek-V4, GLM-5, MiMo-V2-Flash
Async MOPDasynchronous MOPDNemotron 3 Super

Why OPD

OPD 效果好的原因主要有以下几点:

  1. Cheaper sampling: 教师模型只需要执行一次 prefill 就可以完成一次指导,而 prefill 效率与开销要远低于 decoding.
  2. On-policy: on policy 让学生模型可以不停改进自己的策略,避免了学生模型因为 imitation learning 产生灾难性遗忘。
  3. Reverse KL: 我们在 KL divergence 中已经介绍了forward KL 与 reverse KL的不同之处,前者是 mean seeking, 后者是 mode seeking. 而 mode seeking 能够避免模型产生灾难性遗忘。
  1. Agarwal, R., Vieillard, N., Zhou, Y., Stanczyk, P., Garea, S. R., Geist, M., & Bachem, O. (2024). On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes. The Twelfth International Conference on Learning Representations. https://openreview.net/forum?id=3zKtaqxLhW
  2. Gu, Y., Dong, L., Wei, F., & Huang, M. (2024). MiniLLM: Knowledge Distillation of Large Language Models. The Twelfth International Conference on Learning Representations. https://openreview.net/forum?id=5h0qf7IBZZ
  3. Lu, K., & Lab, T. M. (2025). On-Policy Distillation. Thinking Machines Lab: Connectionism. 10.64434/tml.20251026

Method

OPD 的目标函数如下所示

LOPD(θ)=ExD,yπθ[KL(πθ(yx)πT(yx))]\htmlId{opd_objective}{\begin{equation} \mathcal{L}_{OPD}(\theta) = \mathbb{E}_{x\sim\mathcal{D},y\sim\pi_{\theta}}\left[\mathrm{KL}(\pi_\theta(y\mid x)\mid\mid \pi_T(y\mid x))\right] \end{equation}}

其中 πθ\pi_{\theta} 是学生模型,πT\pi_T 是教师模型, xDx\sim\mathcal{D} 为给定的 prompt, KL()\mathrm{KL}(\cdot\mid\mid\cdot)KL divergence.

由 KL divergence 定义,我们有

KL(πθ(yx)πT(yx))=Eyπθ(x)[logπθ(yx)πT(yx)]\mathrm{KL}(\pi_\theta(y\mid x)\mid\mid \pi_T(y\mid x)) = \mathbb{E}_{y\in\pi_{\theta}(\cdot\mid x)}\left[\log\frac{\pi_\theta(y\mid x)}{\pi_T(y\mid x)}\right]

对于自回归语言模型,由 chain rule, 我们可以得到

πθ(yx)=t=1yπθ(yty<t,x)\pi_\theta(y\mid x) = \prod_{t=1}^{|y|} \pi_{\theta}(y_t\mid y_{<t}, x)

我们有

logπθ(yx)πT(yx)=logt=1yπθ(yty<t,x)t=1yπT(yty<t,x)=t=1ylogπθ(yty<t,x)πT(yty<t,x)\log\frac{\pi_\theta(y\mid x)}{\pi_T(y\mid x)}=\log \frac{\prod_{t=1}^{|y|} \pi_{\theta}(y_t\mid y_{<t}, x)}{\prod_{t=1}^{|y|} \pi_T(y_t\mid y_{<t}, x)}=\sum_{t=1}^{|y|}\log \frac{\pi_{\theta}(y_t\mid y_{<t}, x)}{\pi_T(y_t\mid y_{<t}, x)}

带入上式,我们有

KL(πθ(yx)πT(yx))=Eyπθ(x)[logπθ(yx)πT(yx)]=Eyπθ(x)[t=1ylogπθ(yty<t,x)πT(yty<t,x)]=Eyπθ(x)[t=1yEytπθ(y<t,x)[logπθ(yty<t,x)πT(yty<t,x)]]=Eyπθ(x)[t=1yKL(πθ(yty<t,x)πT(yty<t,x))]\begin{aligned} \mathrm{KL}(\pi_\theta(y\mid x)\mid\mid \pi_T(y\mid x)) &= \mathbb{E}_{y\sim\pi_{\theta}(\cdot\mid x)}\left[\log\frac{\pi_\theta(y\mid x)}{\pi_T(y\mid x)}\right]\\ &=\mathbb{E}_{y\sim\pi_{\theta}(\cdot\mid x)}\left[\sum_{t=1}^{|y|}\log \frac{\pi_{\theta}(y_t\mid y_{<t}, x)}{\pi_T(y_t\mid y_{<t}, x)}\right]\\ &=\mathbb{E}_{y\sim\pi_{\theta}(\cdot\mid x)}\left[\sum_{t=1}^{|y|}\mathbb{E}_{y_t\sim\pi_{\theta}(\cdot\mid y_{<t},x)}\left[\log \frac{\pi_{\theta}(y_t\mid y_{<t}, x)}{\pi_T(y_t\mid y_{<t}, x)}\right]\right]\\ &= \mathbb{E}_{y\sim\pi_{\theta}(\cdot\mid x)}\left[\sum_{t=1}^{|y|}\mathrm{KL}(\pi_\theta(y_t\mid y_{<t}, x)\mid\mid \pi_T(y_t\mid y_{<t}, x))\right] \end{aligned}

这样,我们就得到了 目标函数 在 token 层面的等价形式

LOPD(θ)=ExD,yπθ(x)[t=1yKL(πθ(yty<t,x)πT(yty<t,x))]\mathcal{L}_{OPD}(\theta) = \mathbb{E}_{x\sim\mathcal{D},y\sim\pi_{\theta}(\cdot\mid x)}\left[\sum_{t=1}^{|y|}\mathrm{KL}(\pi_\theta(y_t\mid y_{<t}, x)\mid\mid \pi_T(y_t\mid y_{<t}, x))\right]

这里 y|y| 是 response length, KL divergence 在整个词表 V\mathcal{V} 计算:

KL(πθ(yty<t,x)πT(yty<t,x))=vVπθ(vy<t,x)πθ(vy<t,x)πT(vy<t,x)\mathrm{KL}(\pi_\theta(y_t\mid y_{<t}, x)\mid\mid \pi_T(y_t\mid y_{<t}, x)) = \sum_{v\in\mathcal{V}} \pi_\theta(v\mid y_{<t}, x) \frac{\pi_\theta(v\mid y_{<t}, x)}{\pi_T(v\mid y_{<t}, x)}

可以看到,现在教师模型通过给学生模型输出的每个 token 进行打分来提供 dense reward.

Analysis

Connection with SFT

对于 OPD 的目标函数,我们可以将其写为如下形式

LOPD(θ)=ExD,ytπθ(y<t,x)[t=1TKL(πθ(y<t,x)πT(y<t,x))]=ExD,ytπθ(y<t,x)[t=1TyVπθ(yy<t,x)logπθ(yy<t,x)πT(yy<t,x)]=ExD,ytπθ(y<t,x)[t=1TyVπθ(yy<t,x)logπT(yy<t,x)]+ExD,ytπθ(y<t,x)[t=1TyVπθ(yy<t,x)logπθ(yy<t,x)]=CE(πθ,πT)H(πθ)\begin{aligned} \mathcal{L}_{OPD}(\theta) &= \mathbb{E}_{x\sim\mathcal{D}, y_t\sim\pi_\theta(\cdot\mid y_{<t},x)}\left[\sum_{t=1}^T\mathrm{KL}(\pi_\theta(\cdot\mid y_{<t},x)\mid\mid \pi_T(\cdot\mid y_{<t},x))\right]\\ &=\mathbb{E}_{x\sim\mathcal{D}, y_t\sim\pi_\theta(\cdot\mid y_{<t},x)}\left[\sum_{t=1}^T\sum_{y\in\mathcal{V}}\pi_{\theta}(y\mid y_{<t},x)\log\frac{\pi_{\theta}(y\mid y_{<t},x)}{\pi_{T}(y\mid y_{<t},x)}\right]\\ &= \mathbb{E}_{x\sim\mathcal{D}, y_t\sim\pi_\theta(\cdot\mid y_{<t},x)}\left[-\sum_{t=1}^T\sum_{y\in\mathcal{V}}\pi_{\theta}(y\mid y_{<t},x)\log\pi_{T}(y\mid y_{<t},x)\right] \\ &+ \mathbb{E}_{x\sim\mathcal{D}, y_t\sim\pi_\theta(\cdot\mid y_{<t},x)}\left[\sum_{t=1}^T\sum_{y\in\mathcal{V}}\pi_{\theta}(y\mid y_{<t},x)\log \pi_{\theta}(y\mid y_{<t},x)\right]\\ &= \mathrm{CE}(\pi_{\theta}, \pi_T) - \mathcal{H}(\pi_\theta) \end{aligned}

其中 CE(πθ,πT)\mathrm{CE}(\pi_{\theta}, \pi_T) 是 cross entropy loss, H(πθ)\mathcal{H}(\pi_\theta)entropy.

可以看到,与 SFT 只最小化 cross entropy loss 不一样,OPD 的损失函数同时优化了两个目标:

  1. 最小化 cross entropy loss: 用于拉近学生模型和教师模型的分布 (imitation learning).
  2. 最小化 entropy: 惩罚高熵状态,鼓励学生模型变得 confident 和 sharp (mode seeking).

这种优化目标的不一致让 OPD 可以保持学生模型本身的能力。

Connection with RL

MiniLLM (Gu et al., 2024) 提出我们可以将 OPD 建模为一个 RL 训练过程,注意到

θLOPD(θ)=ExD,yπθ[t=1yπθ(yty<t,x)πT(yty<t,x)θlogπθ(yty<t,x)]\nabla_{\theta} \mathcal{L}_{OPD}(\theta) = \mathbb{E}_{x\sim\mathcal{D},y\sim\pi_{\theta}}\left[\sum_{t=1}^{|y|}\frac{\pi_\theta(y_t\mid y_{<t}, x)}{\pi_T(y_t\mid y_{<t}, x)}\nabla_{\theta} \log\pi_\theta(y_t\mid y_{<t}, x)\right]

基于 policy gradient theorem, 我们可以将 OPD 的 reward 表示为

AOPD,t=sg[logπθ(yty<t,x)logπT(yty<t,x)]\htmlId{opd_reward}{\begin{equation} A_{OPD,t} = \mathrm{sg}\left[\log\pi_\theta(y_t\mid y_{<t}, x)-\log\pi_T(y_t\mid y_{<t}, x)\right] \end{equation}}

其中 sg()\mathrm{sg}(\cdot) 是 stop gradient operator.

这样,OPD 等价于下面的 policy optimization problem:

LOPD(θ)=ExD,yπθ[t=1yAOPD,tlogπθ(yty<t,x)]\mathcal{L}_{OPD}(\theta) = \mathbb{E}_{x\sim\mathcal{D},y\sim\pi_{\theta}}\left[\sum_{t=1}^{|y|}A_{OPD,t}\log\pi_\theta(y_t\mid y_{<t}, x)\right]

基于上面这个目标函数,我们可以用 RL 的实现来进行 OPD 的训练。 实际计算中,和 PPO 一样,我们会对 Advantage 进行 clip.

Unified Framework

我们还可以使用一个统一的公式来统一 SFT, OPD 和 RL (wh., 2026)

θJ(θ)=ExD,yμα(x)[At(x,y)θlogπθ(yx)]\nabla_\theta J(\theta) = \mathbb{E}_{x\sim\mathcal{D}, y\sim \mu_\alpha(\cdot\mid x)}\left[A_t(x,y)\nabla_\theta\log \pi_\theta(y\mid x)\right]

其中

μα=απθ+(1α)πdataAt=λ[logπθ(yx)logπT(yx)]+(1λ)[R(y)b(x)]\begin{aligned} \mu_\alpha &= \alpha \pi_\theta + (1-\alpha)\pi_{data}\\ A_t &= \lambda\cdot\left[\log \pi_\theta(y\mid x)-\log \pi_T(y\mid x)\right] + (1-\lambda) [R(y)-b(x)] \end{aligned}

这里

这样,不同的方法就是不同的参数配置

MethodAAλ\lambdaπT\pi_TNote
SFT0011indicator functionteacher is the ground truth
RL1100Noneon-policy
OPD1111external same-family modeltokenizer + recipe match
OPSD1111same model with privilegeteacher choice is what shifts

Comparison

(Brown, 2026) 从梯度的角度对不同训练范式进行了分析。

对 SFT 而言,每个 token 都有一个 one-hot label, 因此其 reward 是 dense 的。 但是,SFT 的梯度并不是 zero-mean, 这意味着随着训练进行,模型会逐渐靠近 πT\pi_T 的数据分布,这也就降低了模型的泛化能力。 尽管 SFT 的梯度不是 zero-mean, 但是由于数据的多样性,能够保证模型不会被 OOD sample 带偏,并且 SFT 本质上是强化模型已经掌握或者半掌握的知识,这也就避免了模型训练的崩塌。 总的来说,SFT 是一个 biased but unconcentrated method.

对 RLVR 来说,RLVR 的 reward 基于最终的答案是否正确,而给出 1 (correct) 或者 0 (otherwise) 的奖励。 对于 GRPO (Shao et al., 2024) 而言,一个 sequence 中的每个 token 共享 advantage, 因此大部分 token 可能对答案的正确性并没有太多贡献,它们只是恰好在正确的 sequence 里而已。 而我们在 RL 中使用 large batch size, low learning rate 的原因是这些相关性比较低的 token 可以互相抵消,RL 可以凭借 sparse reward 来提升模型的表现。

(wh., 2026) 认为, 对于 OPD 来说, OPD 继承了 RL 的 on-policy 性质,同时像 SFT 一样,模型又能够接收 teacher signal. 但是与 RL 基于 advantage 对 rollout 进行加权不同, OPD 使用 log ratio 来实现加权。

不同方法对比效果如下:

Methodon-policysignalperformanceCostBiasUses
SFToff-policydenselowmediumtowards datahigh quality data
OPDon-policydensemediummediumtowards teacherteacher is same-family
RLVRon-policysparsehighhighunbiasedverifiable
  1. Brown, W. (2026). On SFT, RL, and on-policy distillation. https://x.com/willccbb/status/2050038277454143918?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q
  2. Gu, Y., Dong, L., Wei, F., & Huang, M. (2024). MiniLLM: Knowledge Distillation of Large Language Models. The Twelfth International Conference on Learning Representations. https://openreview.net/forum?id=5h0qf7IBZZ
  3. Shao, Z., Wang, P., Zhu, Q., Xu, R., Song, J., Bi, X., Zhang, H., Zhang, M., Li, Y. K., Wu, Y., & Guo, D. (2024). DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. https://arxiv.org/abs/2402.03300
  4. wh. (2026). SFT, RL, and On-Policy Distillation Through a Distributional Lens. https://nrehiew.github.io/blog/sft_rl_opd/ back: 1, 2

Implementation

基于前面的分析,我们有两种 OPD 的实现方式:

  1. 将 OPD 作为一种 policy gradient methods 进行实现
  2. 将 OPD 作为一种 distillation 的方式进行实现,即 GKD (Agarwal et al., 2024) 的实现方式

在 verl 中,对于第一种方案,我们的配置为

use_policy_gradient=true
loss_mode=k1

对应的 reward 如 公式 所示。

对于第二种方案,我们的配置为

use_policy_gradient=false
loss_mode=forward_kl_topk

verl 中的 OPD 实现方式为:

  1. student 进行 rollout
  2. Agent Loop 调用 _compute_teacher_logprobs 来给 student model 生成的 rollout 计算 logprobs
  3. 计算时,使用 AsyncTeacherLLMServerManager 来管理 teacher model:
    1. 单教师的话,忽略 routing key
    2. 多教师的花,使用 sample[teacher_key] (默认为 data_source) 来选取对应的教师
  4. 对应的 teacher model 进行 prefill, max_tokens=1, prompt_logprobs=topk|0, 对整段 prompt + response 进行打分,不生成新内容
  5. 将teacher model 的结果写入 teacher_ids/teacher_logprobs, 随 DataProto 进行训练

最终 loss 计算有以下几种方式:

  1. topK mode (GKD)
  2. estimator mode (k1, k2, k3)
  3. aggregation mode
  4. task reward mode

topK mode (Li et al., 2026; Ma et al., 2026) 的基本思想是解决 vocabulary size 过大导致 loss 计算带来的显存占用过高问题,其做法是,记录 teacher model prefill 时每个 token 上 topK token 对应的 logprobs, 然后计算 KL divergence 时,使用如下近似

KL(πθ(yty<t,x)πT(yty<t,x))=vVπθ(vy<t,x)πθ(vy<t,x)πT(vy<t,x)vtopK(v)πθ(vy<t,x)πθ(vy<t,x)πT(vy<t,x)\begin{aligned} \mathrm{KL}(\pi_\theta(y_t\mid y_{<t}, x)\mid\mid \pi_T(y_t\mid y_{<t}, x)) &= \sum_{v\in\mathcal{V}} \pi_\theta(v\mid y_{<t}, x) \frac{\pi_\theta(v\mid y_{<t}, x)}{\pi_T(v\mid y_{<t}, x)}\\ &\approx \sum_{v\in\mathrm{topK}(v)} \pi_\theta(v\mid y_{<t}, x) \frac{\pi_\theta(v\mid y_{<t}, x)}{\pi_T(v\mid y_{<t}, x)} \end{aligned}

计算完之后,再通过 clamp 进行截断,并记录 student model 和 teacher model 在 topK 上的 mass 以及 overlap (Li et al., 2026) 用于诊断.

estimator mode 则是使用 KL divergence 的不同估计,详情见 KL divergence. 但是,最近的工作包括 DeepSeek-V4 (DeepSeek-AI, 2026) 倾向于使用 KL divergence 定义来计算,避免近似产生误差,但在全量词表上进行计算会提高显存占用,因此需要适当进行优化。

aggregation mode 则是在 policy gradient 场景下将 per token loss matrix 压缩为标量的方法。这一点见 verl.

task reward mode 则是在 KL divergence 的基础上加上任务相关奖励,即最终的目标函数为

L=LPPO+λLOPD\mathcal{L} = \mathcal{L}_{PPO} + \lambda \mathcal{L}_{OPD}

这里 λ\lambdadistillation_loss_coef, 这个模式默认启用,可以使用 use_task_rewards=false 来关闭。

  1. Agarwal, R., Vieillard, N., Zhou, Y., Stanczyk, P., Garea, S. R., Geist, M., & Bachem, O. (2024). On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes. The Twelfth International Conference on Learning Representations. https://openreview.net/forum?id=3zKtaqxLhW
  2. DeepSeek-AI. (2026). DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence. https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro/blob/main/DeepSeek_V4.pdf
  3. Li, Y., Zuo, Y., He, B., Zhang, J., Xiao, C., Qian, C., Yu, T., ang Huan-Gao, Yang, W., Liu, Z., & Ding, N. (2026). Rethinking On-Policy Distillation of Large Language Models: Phenomenology, Mechanism, and Recipe. https://arxiv.org/abs/2604.13016 back: 1, 2
  4. Ma, W., Wei, J., Zhao, L., Zhang, H., Xiao, B., Li, L., Yang, Q., Gao, B., Wang, Y., Li, R., Dong, J., Sui, Z., & Luo, F. (2026). MOPD: Multi-Teacher On-Policy Distillation for Capability Integration in LLM Post-Training. https://arxiv.org/abs/2606.30406

Recent Progress

这一节我们介绍当前一些针对 OPD 的改进以及工业级应用。

Mechanism

为什么 OPD 的 student model 会超过 teacher model:

  1. teacher model 基于 student model 的输出给予建议,student model 可以学习
  2. KL matching 并不是 reward maximization, KL matching 有更高的 bias

MiMo-V2-Flash (Team et al., 2026)

总结: RL 和 OPD 效果比 SFT 更好的原因是因为 on-policy (Chen et al., 2025).

但是在 OPD 中,学生模型倾向于从输出差异比较大的那些 ‘pivot token’ 中进行学习,因此,一小部分 token 占据了大部分的 training signal.

(Li et al., 2026; Ma et al., 2026) 发现 teacher model 并不是越强越好,teacher model 和 student model 差距过大会导致两者的 distribution gap 很大难以跨越。

(Jiang et al., 2026) 发现一旦 student model 输出了一个错误的 token, teacher model 便很难纠正这个错误的路径。

发现对于 OPSD, 因为教师模型有更多的 privilege information, student model 学习到的是通用的解决问题的方法,对于特定任务,student model 可能会随着训练进行逐渐丧失这些能力,也就是 thinking collapse.

发现由于 OPD 提供了细粒度的 supervision signal, student model 会产生 thinking collapse.

Nemotron 3 Ultra 发现对于 self-contained reasoning domain, OPD 的提升有限,这是因为 teacher model 主要是用 off-policy data 中获取相关知识,这回导致 teacher model 和 student model 之间差距过大。

Optimization

MOPD (Ma et al., 2026) 认为 OPD advantage 仅使用了采样 token 的概率来计算 KL divergence, 这会导致较大的方差,因此作者使用了 teachers’ topK token 来进行计算,最终的损失函数为

LOPD(θ)=ExD,yπθ(x)[1yt=1yvTtπθ(v)(logπθ(v)πT(v)1πθ(v)πT(v))]\mathcal{L}_{OPD}(\theta) = \mathbb{E}_{x\sim\mathcal{D},y\sim\pi_{\theta}(\cdot\mid x)}\left[\frac{1}{|y|}\sum_{t=1}^{|y|}\sum_{v\in\mathcal{T}_{t}}\pi_{\theta}(v)\left(\log\frac{\pi_{\theta}(v)}{\pi_{T}(v)}-1-\frac{\pi_{\theta}(v)}{\pi_{T}(v)}\right)\right]

这里 Tt=TopK(πT(x,y<t))\mathcal{T}_t=\mathrm{TopK}(\pi_{T}(\cdot\mid x, y_{<t})) 是教师模型在位置 tt 出的 topK token 的概率。KL divergence 使用了 k3 estimator.

Nemotron 3 Ultra 发现使用 topK/full vocab 来计算 KL divergence 对模型表现提升不大,作者认为,full-distribution matching 对 prefix 限制比较大,特别是 support 不一致的情况下,而 sampled-token objective 可以提供一个稳定的 on-policy learning signal.

为了避免 training-inference mismatch, Nemotron Cascaded 2 (Yang et al., 2026) 使用了 TIS 策略。 Nemotron 3 Ultra 使用了 IcePop [@IcePop] 提出的 token level masking.

MOPD

MOPD (Multi-teacher On Policy Distillation) (Ma et al., 2026) 在 OPD 的基础上使用了多个专家来指导学生模型,每个 teacher model 可以单独进行训练和优化,降低了 pipeline RL 或者 multi-task RL 训练优化的难度,现在已经称为了大模型后训练的一个主流范式。

MOPD 有以下优势:

  1. OPD 可以保持 student model 的表现, 并且有 token level credit assignment, fast convergence, 避免了 exposure bias, distribution mismatch
  2. modular and scalable: 每个专家可以独自进行优化,还可以与 ORM 进行结合
  3. 可以让 teacher 和 student 一起进化

使用 MOPD 的模型

Model#teachers#teachers per sampleDescriptions
MiMo-V2-flashunknown1uses task reward
DeepSeek-V4~10allweighted sum over experts
Nemotron-3-Super>101multi-round MOPD
Mach-mind-4-flash101multi-round MOPD
Kimi-k391

MiMo-V2-flash (Team et al., 2026) 采用了 policy gradient 的建模方式,其 advantage 如下所示

AOPD,t=sg[logπθ(yty<t,x)logπTi(yty<t,x)]+αAORMA_{OPD,t} = \mathrm{sg}\left[\log\pi_\theta(y_t\mid y_{<t}, x)-\log\pi_{T_i}(y_t\mid y_{<t}, x)\right] + \alpha A_{ORM}

这里 TiT_ixx 对应的 domain expert. 作者还使用了 truncated importance sampling 策略来解决 training inference mismatch 问题,

DeepSeek-V4 (DeepSeek-AI, 2026) 训练了十几个 specialist, 然后使用加权的方式来训练模型。 MiniCPM-5 [@MiniCPM5] 训练了不同的 specialist, 然后再进行 OPD.

KAT-Coder-V2 (F. Li et al., 2026) 采用了先训练不同 specialist 然后进行 OPD 来训练模型的做法,与 DeepSeek-V4 不同,KAT-Coder-V2 每次只选取对应任务的专家作为 teacher.

Mach-Mind-4-Flash (F. M. Team, 2026) 将 teacher models 分为了三类

CategoryDomains
ReasoningMath, Code,STEM
GeneralIF, Writing, Safe
AgenticCode, Tool Use, DeepSearch, Claw

Nemotron-3-Super (NVIDIA et al., 2026) 和 MOPD 尝试进行 multi-round MOPD 来提高模型的表现,实验发现 MOPD 可以持续提高教师模型的表现。

Nemotron 3 Ultra (NVIDIA, :, Blakeman, et al., 2026) 发现,直接进行 MOPD 的训练时,效果会比较差,作者认为原因在于不同教师模型经历了不同的 SFT 和 RL 训练阶段,其思考方式与学生模型可能会存在较大不同。 为了解决这个问题,作者提出了 MOPD warmup, 也就是在对应 domain OPD 训练时,先通过一个轻量化的 SFT 来对学生模型和教师模型的输出分布,然后再进行 OPD, 作者发现这样可以有效提高学生模型的表现,实验结果如下表所示

|Benchmark |Student| Warmup| No Warmup| Teacher| |---|---|---|---|---| |GDPVal |28.9| 46.7 |35.3| 49.5 | |BrowseComp| 31.0| 44.4 |33.0 |51.0 | |HLE (no tools) 25.6| 26.7 |26.3 |32.1|

实验结果显示,对于 agentic domain, warmup 可以有效提高学生模型的表现。 但是,对于通用推理任务,warmup 提升有限。

Nemotron 3 Ultra 还提出了 multi-round MOPD, 即使用 MOPD 训练出来的 student model 初始化训练得到新的 teacher model, 再进行下一轮的 MOPD 的训练。 作者发现这种 multi-round 策略可以有效提高模型的表现。

OPSD

OPD 的问题在于,其要求教师模型满足 same-family, 而实际上,对于 flagship model, 我们可能没有一个更强的教师模型,比如 DeepSeek-R1 (Guo et al., 2025). 为了解决这个问题, 我们可以使用 self-distillation, 即我们的教师模型和学生模型是同一个,我们通过 prompt engineering 或者 in context learning 来将一个模型转换为 teacher model, 相关工作有 SDFT (Shenfeld et al., 2026) 以及 OPSD (Zhao et al., 2026) 等。

最近研究发现 OPSD 会让模型更关注 style token, 而不是 reasoning token. 这个问题的解决方法是使用 per-token clipping 机制。

  1. SFT 的 reward signal 更 dense, 但是这会影响模型原有表现
  2. RL 的更新与数据相关,数据 diverse, 更新就慢,数据 consistent, 更新就快
  3. RL 更新更稀疏,只有一部分网络参数会被更新,SFT 更新更加 dense

CTOPD

已有的 OPD 方案有两点要求:

  1. teacher model 和 student model 的 training recipe 相同
  2. teacher model 和 student model 共享 tokenizer

这限制了 OPD 跨 model family distillation 的能力,因此,有一些研究开始探究如何针对不同 model family 的 student 和 teacher 来实现 OPD, 也就是 cross tokenizer opd (CTOPD).

CTOPD 的主要难点有:

  1. tokenizer 不同,导致 KL divergence 没办法计算。注意到 KL divergence 是

(Boizard et al., 2025) 提出了 universal logit distillation (ULD) loss 来实现 CTOPD

首先,为了解决 vocabulary 不同的问题,ULD 使用了 Wasserstein distance 来代替 KL divergence

W1(p,q)=minTΠ(p,q)i=1ΩSj=1ΩTTijCij\mathcal{W}_{1}(\mathbf{p},\mathbf{q}) = \min_{T\in\Pi(\mathbf{p},\mathbf{q})}\sum_{i=1}^{|\Omega_S|}\sum_{j=1}^{|\Omega_T|}T_{ij}C_{ij}

其中 ΩS\Omega_S, ΩS\Omega_S 分别是两个模型的 vocabulary, p,q\mathbf{p},\mathbf{q} 分别是在对应 vocabulary 上的一个分布,Π(p,q)\Pi(\mathbf{p},\mathbf{q}) 是 marginal distribution 为 p\mathbf{p}q\mathbf{q} 的联合分布,CijpC_{ij}^p 是 cost matrix, TT 是 transport plan.

这样,ULD 的损失函数就是

L=t=1xW1(pθS(x<tS),qθT(x<tT))\mathcal{L} = \sum_{t=1}^{|\mathbf{x}|}\mathcal{W}_{1}(\mathbf{p}_{\theta_S}(\cdot\mid \mathbf{x}_{<t}^S),\mathbf{q}_{\theta_T}(\cdot\mid \mathbf{x}_{<t}^T))

其中 x=min(xS,xT)|\mathbf{x}|=\min(|\mathbf{x}^S|,|\mathbf{x}^T|).

ULD 的问题在于,其简单使用两条 sequence 中较短的那条来计算损失,导致信息丢失,另一方面,token misalignment 可能导致语义信息丢失

为了解决这两个问题,(Patiño et al., 2025) 提出了 GOLD, 一个通过 merge 来对齐不同 vocabulary, 不同 length 的 sequence 来解决 CTOPD 的方法。 GOLD 的关键思想在于,token sequence 对应的 raw text sequence 是一致的,只是 encoding 的方式不同,因此,我们可以基于 raw text sequence 来对齐不同的 token.

对齐的具体做法就是,基于 BPE, 获取每个 token 对应 raw text sequence 的起始和终止字节区间,然后通过合并区间来保证不同 token chunk 对应的 raw text 一致,并且,为了防止 chat template 或者 special token 导致的起始 token 不一致性,GOLD 会从 response token 部分开始计算。

同时,ULD 使用了 sort 来对齐两个 vocabulary 的分布,但是,一些 token 对应的 raw text 在不同的 vocabulary 中是一致的,因此对于这些 token, 我们可以构建一一对应的关系,降低计算复杂度,对于不匹配的 token, 再 fall back 到 ULD 的计算方式上

Multi-turn OPD

对于面向 multi-turn agent 场景,也有一些方法正在解决 long-horizon 带来的 distribution shift 问题:

  1. Guided OPD 通过在 turn level 混合 teacher 和 student 的 action 来逐步引导 student model
  2. ReOPD 复用收集到的 teacher trajectories, 选择 某个 turn, 回放此前的 prefix, 让学生模型执行 action, 再由 teacher 给予 supervised signal
  3. TurnOPD 解决了 vanilla OPD 花费大量时间在 tail turns 和 long turns 中的学习速度慢的问题
  4. DASH-OPD 根据轨迹的上下文来决定是否需要 teacher signal.
  1. Boizard, N., Haddad, K. E., Hudelot, C., & Colombo, P. (2025). Towards Cross-Tokenizer Distillation: the Universal Logit Distillation Loss for LLMs. https://arxiv.org/abs/2402.12030
  2. Chen, H., Razin, N., Narasimhan, K., & Chen, D. (2025). Retaining by Doing: The Role of On-Policy Data in Mitigating Forgetting. https://arxiv.org/abs/2510.18874
  3. DeepSeek-AI. (2026). DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence. https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro/blob/main/DeepSeek_V4.pdf
  4. Guo, D., Yang, D., Zhang, H., Song, J., Wang, P., Zhu, Q., Xu, R., Zhang, R., Ma, S., Bi, X., Zhang, X., Yu, X., Wu, Y., Wu, Z. F., Gou, Z., Shao, Z., Li, Z., Gao, Z., Liu, A., … Zhang, Z. (2025). DeepSeek-R1 incentivizes reasoning in LLMs through reinforcement learning. Nature, 645(8081), 633–638. 10.1038/s41586-025-09422-z
  5. Jiang, L., Xu, H., Ding, Y., & Zhang, A. (2026). Trajectory-Refined Distillation. https://arxiv.org/abs/2606.08432
  6. Li, F., Zhang, H., Huang, H., Wang, J., Hao, J., Yuan, K., Li, M., Zhang, M., Xu, P., Zhuang, W., Shao, Y., Feng, Z., Tang, C., Wang, C., Tong, C., Yang, F., Xiong, G., Gao, H., Gao, H., … Chen, B. (2026). KAT-Coder-V2 Technical Report. https://arxiv.org/abs/2603.27703
  7. Li, Y., Zuo, Y., He, B., Zhang, J., Xiao, C., Qian, C., Yu, T., ang Huan-Gao, Yang, W., Liu, Z., & Ding, N. (2026). Rethinking On-Policy Distillation of Large Language Models: Phenomenology, Mechanism, and Recipe. https://arxiv.org/abs/2604.13016
  8. Ma, W., Wei, J., Zhao, L., Zhang, H., Xiao, B., Li, L., Yang, Q., Gao, B., Wang, Y., Li, R., Dong, J., Sui, Z., & Luo, F. (2026). MOPD: Multi-Teacher On-Policy Distillation for Capability Integration in LLM Post-Training. https://arxiv.org/abs/2606.30406 back: 1, 2, 3
  9. NVIDIA, :, Blakeman, A., Thomas, A., Jhunjhunwala, A., Gupta, A., Khattar, A., Rajfer, A., Renduchintala, A., Asif, A., Vavre, A., Miranda, A. F., Bilal, A., Zaman, A., Hotchandani, A., Shukla, A., Bercovich, A., Ficek, A., Gronskiy, A., … Wertheimer, Z.-A. (2026). Nemotron 3 Ultra: Open, Efficient Mixture-of-Experts Hybrid Mamba-Transformer Model for Agentic Reasoning. https://arxiv.org/abs/2606.15007
  10. NVIDIA, :, Chandiramani, A., Blakeman, A., Olaoye, A., Gupta, A., Somasamudramath, A., Khattar, A., Adesoba, A., Renduchintala, A., Asif, A., Agrawal, A., Vavre, A., Kiswani, A., Padmakumar, A., Hotchandani, A., Shukla, A., Bercovich, A., Ficek, A., … Ahmed, Z. (2026). Nemotron 3 Super: Open, Efficient Mixture-of-Experts Hybrid Mamba-Transformer Model for Agentic Reasoning. https://arxiv.org/abs/2604.12374
  11. Patiño, C. M., Rasul, K., Gallouédec, Q., Burtenshaw, B., Paniego, S., Srivastav, V., Frere, T., Beeching, E., Tunstall, L., von Werra, L., & Wolf, T. (2025). Unlocking On-Policy Distillation for Any Model Family. https://huggingface.co/spaces/HuggingFaceH4/on-policy-distillation
  12. Shenfeld, I., Damani, M., Hübotter, J., & Agrawal, P. (2026). Self-Distillation Enables Continual Learning. https://arxiv.org/abs/2601.19897
  13. Team, C., Xiao, B., Xia, B., Yang, B., Gao, B., Shen, B., Zhang, C., He, C., Lou, C., Luo, F., Wang, G., Xie, G., Zhang, H., Lv, H., Li, H., Chen, H., Xu, H., Zhang, H., Liu, H., … Yue, Z. (2026). MiMo-V2-Flash Technical Report. https://arxiv.org/abs/2601.02780 back: 1, 2
  14. Team, F. M. (2026). Mach-Mind-4-Flash Technical Report. https://arxiv.org/abs/2607.09375
  15. Yang, Z., Liu, Z., Chen, Y., Dai, W., Wang, B., Lin, S.-C., Lee, C., Chen, Y., Jiang, D., He, J., Pi, R., Lam, G., Lee, N., Bukharin, A., Shoeybi, M., Catanzaro, B., & Ping, W. (2026). Nemotron-Cascade 2: Post-Training LLMs with Cascade RL and Multi-Domain On-Policy Distillation. https://arxiv.org/abs/2603.19220
  16. Zhao, S., Xie, Z., Liu, M., Huang, J., Pang, G., Chen, F., & Grover, A. (2026). Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models. https://arxiv.org/abs/2601.18734