<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Post-training | YuyaoGe's Website</title><link>https://geyuyao.com/tag/post-training/</link><atom:link href="https://geyuyao.com/tag/post-training/index.xml" rel="self" type="application/rss+xml"/><description>Post-training</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Tue, 11 Aug 2026 00:00:00 +0000</lastBuildDate><image><url>https://geyuyao.com/media/icon_hucac340dfc176d8b4c8a8aa7a23204f12_18561_512x512_fill_lanczos_center_3.png</url><title>Post-training</title><link>https://geyuyao.com/tag/post-training/</link></image><item><title>From SFT and RL to On-Policy Distillation: A Third Paradigm for Post-Training</title><link>https://geyuyao.com/post/on-policy-distillation-en/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://geyuyao.com/post/on-policy-distillation-en/</guid><description>
&lt;div class="travel-langswitch" role="group" aria-label="Language">
&lt;span class="travel-langswitch__btn is-active" aria-current="true">English&lt;/span>
&lt;a class="travel-langswitch__btn" href="https://geyuyao.com/post/on-policy-distillation/">中文&lt;/a>
&lt;/div>
&lt;p>Since the release of DeepSeek-R1, GRPO has become the default choice for post-training, and the &amp;ldquo;SFT + RL&amp;rdquo; recipe has found its way into virtually every technical report. Yet beginning with Qwen3 in 2025, one flagship model after another has independently placed the same method on its critical path: on-policy distillation (OPD).&lt;/p>
&lt;p>The first flagship report to adopt it was &lt;a href="https://arxiv.org/abs/2505.09388" target="_blank" rel="noopener">Qwen3&lt;/a>, in the form of strong-to-weak distillation. The flagship models still went through the full four-stage post-training procedure, but the lightweight models from 0.6B to 14B no longer repeated that procedure individually; they were distilled instead from Qwen3-32B or Qwen3-235B-A22B. The report notes that this yielded higher performance while consuming roughly one tenth of the GPU hours required by the four-stage pipeline.&lt;/p>
&lt;p>Six months later, Xiaomi&amp;rsquo;s &lt;a href="https://arxiv.org/abs/2601.02780" target="_blank" rel="noopener">MiMo-V2-Flash&lt;/a> named the method &lt;strong>MOPD&lt;/strong> (&lt;strong>M&lt;/strong>ulti-Teacher &lt;strong>O&lt;/strong>n-&lt;strong>P&lt;/strong>olicy &lt;strong>D&lt;/strong>istillation) and framed it explicitly as a post-training paradigm. Its post-training is organised into three stages: general SFT, then per-domain teachers trained with RL or SFT, and finally MOPD to merge those teachers back into a single student. Its teachers are the domain specialists produced by the independent RL runs of Stage 2.&lt;/p>
&lt;p>Moonshot&amp;rsquo;s &lt;a href="https://arxiv.org/abs/2607.24653" target="_blank" rel="noopener">Kimi K3&lt;/a> pushes the same idea one step further. It partitions specialists not only by domain but also by reasoning effort, training three levels — low, high and max — within each of three domains, for nine specialists in total, and again merges them with MOPD.&lt;/p>
&lt;p>Zhipu&amp;rsquo;s &lt;a href="https://arxiv.org/abs/2602.15763" target="_blank" rel="noopener">GLM-5&lt;/a> takes a different route. Its teacher is neither a larger model nor a domain specialist, but the model&amp;rsquo;s own checkpoints from earlier training stages; OPD sits at the very end of the post-training pipeline and serves to repair the capability degradation introduced by sequential RL.&lt;/p>
&lt;p>The most aggressive adoption is &lt;a href="https://arxiv.org/abs/2606.19348" target="_blank" rel="noopener">DeepSeek-V4&lt;/a>, whose report states outright that the mix-RL stage of the V3.2 era has been replaced in its entirety by OPD: a specialist is first trained for each of more than ten domains — mathematics, code, agentic tasks, instruction following and so on — and multi-teacher OPD then merges them back into a single unified model.&lt;/p>
&lt;p>The five labs differ in where they place the method, where their teachers come from, and at what granularity they compute the KL, but the underlying recipe is identical: &lt;strong>the student samples its own trajectories, and the teacher scores every token along them.&lt;/strong> A method that once appeared only in the distillation literature has, within two years, moved onto the critical path of five flagship reports. This article addresses three questions: where exactly SFT and GRPO break down, what the mathematical form of OPD is, and what problem each of these reports uses it to solve.&lt;/p>
&lt;h2 id="1-sft-dense-supervision-but-exposure-bias">1. SFT: Dense Supervision, but Exposure Bias&lt;/h2>
&lt;p>2023 was the breakout year for large language models, and SFT broke out along with them; for many practitioners it was the first thing they ever trained. SFT is the step that turns a pretrained model, capable only of continuation, into a usable assistant. Its rise can be traced along two lines of work:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>First, in 2021, &lt;a href="https://arxiv.org/abs/2109.01652" target="_blank" rel="noopener">FLAN&lt;/a> and related work showed that fine-tuning on multi-task instruction data enables zero-shot instruction following, establishing instruction tuning as a standard step;&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Second, in 2023, open-source efforts such as Alpaca and Vicuna replaced human annotation with &lt;strong>the outputs of a stronger model&lt;/strong> — using &lt;a href="https://arxiv.org/abs/2212.10560" target="_blank" rel="noopener">Self-Instruct&lt;/a> to generate tens of thousands of responses from GPT-3.5 and training small models directly on them, producing usable assistants at very low cost. It is this second line, the distillation setting, that concerns us here.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>Applied to distillation, SFT proceeds as follows:&lt;/p>
&lt;ol>
&lt;li>the teacher generates a complete high-quality response, yielding a full token sequence $y$;&lt;/li>
&lt;li>at every position $t$, the &lt;strong>teacher-generated prefix&lt;/strong> is fed to the student, which outputs logits for the next token;&lt;/li>
&lt;li>the teacher&amp;rsquo;s actual token $y_t$ at that position serves as the target, against which the student&amp;rsquo;s distribution is scored by cross-entropy.&lt;/li>
&lt;/ol>
&lt;p>The loss is therefore&lt;/p>
$$
\mathcal{L}_{\mathrm{SFT}}(\theta) = -\,\mathbb{E}_{(x, y) \sim \mathcal{D}_T} \sum_{t=1}^{|y|} \log \pi_\theta(y_t \mid x, y_{\lt t})
$$
&lt;p>Two details are worth committing to memory: &lt;strong>the prefix comes from the teacher, and the supervision target is a single hard token produced by the teacher.&lt;/strong>&lt;/p>
&lt;p>This form makes SFT&amp;rsquo;s central advantage immediate — &lt;strong>the supervision is dense&lt;/strong>. A sequence of length $T$ supplies $T$ gradient signals, and the further the student deviates at a given position, the larger the loss and the update at that position. Combined with the fact that the objective is standard maximum likelihood, that no sampling is required during training, and that results are stable and reproducible, SFT remains the first step of the distillation pipeline nearly everywhere, from DeepSeek-R1-Distill to the lightweight Qwen3 variants.&lt;/p>
&lt;p>At scale, however, several problems have surfaced.&lt;/p>
&lt;p>&lt;strong>The first is distribution shift.&lt;/strong> Every prefix presented to the student during training comes from a flawless teacher trajectory, whereas at inference the prefix it continues is whatever it has just produced itself. The moment the student makes an error the teacher would never make, it enters a state absent from the training data; the remaining tokens are generated without guidance, and the error compounds along the sequence. In sequence generation this is known as &lt;a href="https://arxiv.org/abs/1506.03099" target="_blank" rel="noopener">exposure bias&lt;/a>; in imitation learning it is called compounding error. &lt;a href="https://arxiv.org/abs/1011.0686" target="_blank" rel="noopener">DAGGER&lt;/a> argued as early as 2010 that the only remedy is to let the apprentice act on its own and then obtain expert labels &lt;strong>at the states the apprentice actually reaches&lt;/strong>. The gap is quantitative: Tencent&amp;rsquo;s &lt;a href="https://arxiv.org/abs/2604.00626" target="_blank" rel="noopener">&lt;em>A Survey of On-Policy Distillation&lt;/em>&lt;/a> formalises it by showing that the compounding error of off-policy imitation grows roughly with the &lt;strong>square&lt;/strong> of the sequence length, whereas taking feedback on the student&amp;rsquo;s own distribution reduces it to &lt;strong>linear&lt;/strong>.&lt;/p>
&lt;p>&lt;strong>The second is the superficiality of imitation.&lt;/strong> Gudibande et al. provide empirical evidence in &lt;a href="https://arxiv.org/abs/2305.15717" target="_blank" rel="noopener">&lt;em>The False Promise of Imitating Proprietary LLMs&lt;/em>&lt;/a>: imitation training readily transfers the teacher&amp;rsquo;s style and confidence rather than its factual accuracy. The reason is not hard to see — the teacher can produce that response because an entire body of knowledge and reasoning ability stands behind it, while the student observes only the token sequence and can imitate only the part that &amp;ldquo;looks right&amp;rdquo;.&lt;/p>
&lt;p>&lt;strong>The third is mode covering&lt;/strong>, in which the student is forced to cover every mode of the teacher&amp;rsquo;s distribution and ends up mastering none of them.&lt;/p>
&lt;p>Concretely, suppose a problem admits two entirely different solution paths — setting up an equation and solving it, or enumerating and verifying candidates directly — and the teacher assigns them 20% and 80% probability respectively. The SFT loss is an expectation under the teacher&amp;rsquo;s distribution, which means every solution the teacher samples is used to examine the student. Consequently, if the student were to abandon path A and drive its probability to zero, then at the positions where the teacher generates A we would have $\log \pi_\theta(\text{A}) = -\infty$ and the loss would diverge.&lt;/p>
&lt;p>The student therefore has no choice but to reserve probability mass for every mode:&lt;/p>
&lt;figure id="figure-forward-kl--mode-covering-the-student-is-forced-to-assign-probability-to-both-modes-leaving-mass-even-in-the-region-between-them">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Under forward KL the student is forced to cover both modes of the teacher" srcset="
/post/on-policy-distillation-en/figures/mode-covering_hub1ab65a2147b72b2a3a9bea99fb03758_47248_f81a35d6992479b1dcd3639dc90e4bc8.webp 400w,
/post/on-policy-distillation-en/figures/mode-covering_hub1ab65a2147b72b2a3a9bea99fb03758_47248_d766258e98ce46c45364a13b1f0116ed.webp 760w,
/post/on-policy-distillation-en/figures/mode-covering_hub1ab65a2147b72b2a3a9bea99fb03758_47248_1200x1200_fit_q82_h2_lanczos_3.webp 1200w"
src="https://geyuyao.com/post/on-policy-distillation-en/figures/mode-covering_hub1ab65a2147b72b2a3a9bea99fb03758_47248_f81a35d6992479b1dcd3639dc90e4bc8.webp"
width="760"
height="333"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
&lt;strong>Forward KL — mode covering&lt;/strong>: the student is forced to assign probability to both modes, leaving mass even in the region between them.
&lt;/figcaption>&lt;/figure>
&lt;p>Given ample capacity this need not be harmful, but the student&amp;rsquo;s capacity is precisely what is limited: unable to master both paths at once, it converges to an interpolation of the two. What it samples at inference is neither a complete equation-based solution nor a complete enumeration, but an internally inconsistent hybrid of the two.&lt;/p>
&lt;p>The root of this behaviour is the &lt;strong>zero-avoiding&lt;/strong> property of forward KL: wherever $\pi_T(x) &amp;gt; 0$, the student is not permitted to let $\pi_\theta(x) \to 0$, or the loss diverges. In other words, the behaviour is dictated by the direction of the divergence itself — the SFT cross-entropy is, in form, a forward KL, a point developed in Section 4. It was on exactly this basis that &lt;a href="https://arxiv.org/abs/2306.08543" target="_blank" rel="noopener">MiniLLM&lt;/a> argued in 2023 that distilling small models calls for the &lt;strong>zero-forcing&lt;/strong> reverse KL instead, so that the student converges onto a single mode rather than covering all of them.&lt;/p>
&lt;h2 id="2-grpo-no-distribution-shift-but-sparse-reward">2. GRPO: No Distribution Shift, but Sparse Reward&lt;/h2>
&lt;p>After DeepSeek-R1, the default on the RL side became GRPO. Where PPO requires an additional value network of comparable size to the policy in order to estimate the advantage, GRPO removes the critic altogether: it samples a group of $G$ responses for the same prompt and uses the group-normalised return as the advantage.&lt;/p>
$$
\hat{A}_{i} = \frac{R_i - \mathrm{mean}(\{R_1, \dots, R_G\})}{\mathrm{std}(\{R_1, \dots, R_G\})}
$$
&lt;p>This simplification suits the RLVR setting, where each trajectory carries a single verifiable scalar reward at the end. A mathematics task requires only checking whether the answer is correct, a coding task only whether the predefined unit tests pass, so the reward function can be kept extremely simple.&lt;/p>
&lt;p>More importantly, RL resolves SFT&amp;rsquo;s distribution shift at the root: trajectories are generated by the model itself, the state distribution during training matches the one at inference exactly, and exposure bias does not arise.&lt;/p>
&lt;p>The cost of this route is equally clear, and it is concentrated in one place: &lt;strong>it provides a single scalar at the end of an entire trajectory.&lt;/strong>&lt;/p>
&lt;p>Concretely, the student writes a 500-token chain of reasoning and the verifier replies with one sentence: wrong answer, reward = 0. Thinking Machines Lab offers an information-theoretic comparison (from &lt;a href="https://thinkingmachines.ai/blog/lora/" target="_blank" rel="noopener">&lt;em>LoRA Without Regret&lt;/em>&lt;/a>): reinforcement learning conveys $O(1)$ bits to the model per episode, whereas distillation conveys $O(N)$ bits per episode, where $N$ is the number of tokens.&lt;/p>
&lt;p>&lt;strong>The first consequence is that the student does not know where it went wrong.&lt;/strong> Since that single bit must be distributed across 500 tokens for credit assignment, the student learns only that it lost, and cannot localise whether step 17 miscalculated, step 200 skipped too far in its reasoning, or the final step inverted a sign. The only thing it can do is suppress the probability of the entire trajectory — including the intermediate steps that were in fact correct.&lt;/p>
&lt;p>&lt;strong>The second consequence is time and compute.&lt;/strong> Because the information content of a single feedback signal is fixed, developing a capability requires accumulating volume through repeated sampling: dozens of rollouts per problem, hundreds of thousands of prompts, until the statistical differences emerge. Notably, the bulk of this compute is not spent on gradient updates but on sampling and exploration. The Qwen3 report, for instance, records 17,920 GPU hours of mathematics and code RL for the 8B model.&lt;/p>
&lt;p>One direct line of attack is to make the reward itself dense. OpenAI&amp;rsquo;s &lt;a href="https://arxiv.org/abs/2305.20050" target="_blank" rel="noopener">&lt;em>Let&amp;rsquo;s Verify Step by Step&lt;/em>&lt;/a> demonstrates that process supervision outperforms outcome supervision by training a process reward model to score each step, which amounts to densifying a sparse reward by hand; the price is a large volume of step-level annotation, and the PRM is itself susceptible to being hacked.&lt;/p>
&lt;p>Placing the two routes side by side:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Method&lt;/th>
&lt;th>Sampling source&lt;/th>
&lt;th>Feedback density&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>SFT / off-policy distillation&lt;/td>
&lt;td>Off-policy&lt;/td>
&lt;td>Dense (every token)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Reinforcement learning&lt;/td>
&lt;td>On-policy&lt;/td>
&lt;td>Sparse (one scalar per trajectory)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>On-policy distillation&lt;/strong>&lt;/td>
&lt;td>&lt;strong>On-policy&lt;/strong>&lt;/td>
&lt;td>&lt;strong>Dense&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="3-opd-dense-reward-on-on-policy-trajectories">3. OPD: Dense Reward on On-Policy Trajectories&lt;/h2>
&lt;p>The construction of on-policy distillation follows directly from the empty cell in that table: &lt;strong>the student samples the trajectory, and the teacher scores it token by token.&lt;/strong>&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="The position of OPD along the two axes of sampling source and feedback density" srcset="
/post/on-policy-distillation-en/figures/quadrant_hu1dfa2f9716eeb0a1735c6fa6c2bccb93_87532_b1c4ddafcb68636400f78eebd9436463.webp 400w,
/post/on-policy-distillation-en/figures/quadrant_hu1dfa2f9716eeb0a1735c6fa6c2bccb93_87532_bcedacfe35d18f8e618f5d09801bf519.webp 760w,
/post/on-policy-distillation-en/figures/quadrant_hu1dfa2f9716eeb0a1735c6fa6c2bccb93_87532_1200x1200_fit_q82_h2_lanczos_3.webp 1200w"
src="https://geyuyao.com/post/on-policy-distillation-en/figures/quadrant_hu1dfa2f9716eeb0a1735c6fa6c2bccb93_87532_b1c4ddafcb68636400f78eebd9436463.webp"
width="760"
height="436"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>Relative to SFT, OPD proceeds as follows:&lt;/p>
&lt;ol>
&lt;li>the &lt;strong>student&lt;/strong> first generates a complete response under its current policy, yielding a trajectory $\hat{y}$;&lt;/li>
&lt;li>at every position $t$, the &lt;strong>student&amp;rsquo;s own prefix&lt;/strong> is fed to both the student and the teacher, each of which outputs a distribution over the next token;&lt;/li>
&lt;li>the supervision target is no longer a single hard token but &lt;strong>the teacher&amp;rsquo;s full conditional distribution given that prefix&lt;/strong>, with the KL divergence measuring the gap between the two distributions.&lt;/li>
&lt;/ol>
&lt;p>In other words, OPD changes exactly two things relative to SFT: &lt;strong>the prefix comes from the student rather than the teacher, and the supervision target becomes the teacher&amp;rsquo;s full distribution rather than one hard token.&lt;/strong> The first change eliminates distribution shift; the second raises the information carried at each position from a single token to an entire distribution over the vocabulary.&lt;/p>
&lt;p>The reward at each position is correspondingly defined as the negative reverse KL:&lt;/p>
$$
R_t = -\,\mathrm{KL}\big(\pi_\theta(\cdot \mid x, y_{\lt t}) \,\|\, \pi_T(\cdot \mid x, y_{\lt t})\big)
$$
&lt;p>There is no reward model here and no additional regularisation term: the KL is the entire optimisation signal, and it is defined at every token.&lt;/p>
&lt;p>This per-token scoring can be visualised directly. The figure below is a real trajectory from the TML blog; darker tokens carry higher reverse KL, meaning stronger disagreement from the teacher:&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="A student trajectory scored by the teacher; darker red tokens correspond to higher reverse KL. Source: Thinking Machines Lab, On-Policy Distillation"
src="https://geyuyao.com/post/on-policy-distillation-en/figures/example-kl-illustration.svg"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>One counter-intuitive detail stands out: the final, incorrect answer token is not heavily penalised. The reason is that once the earlier reasoning has gone astray, that answer is in fact &amp;ldquo;predictable&amp;rdquo; conditional on the flawed premise; what gets penalised are the intermediate tokens at which the reasoning diverged. RL, by contrast, can only assign one scalar to the whole trajectory and has no way to distinguish between these two kinds of position.&lt;/p>
&lt;h2 id="4-why-it-has-to-be-reverse-kl">4. Why It Has to Be Reverse KL&lt;/h2>
&lt;p>Classical distillation uses forward KL; OPD uses reverse KL. The two merely swap the positions of $P$ and $Q$, yet they behave very differently.&lt;/p>
&lt;h3 id="forward-kl-mode-covering">Forward KL: mode covering&lt;/h3>
$$
\mathrm{KL}(\pi_{T} \| \pi_{\theta}) = \mathbb{E}_{x \sim \pi_{T}}\left[\log \frac{\pi_{T}(x)}{\pi_{\theta}(x)}\right]
$$
&lt;p>When taking gradients with respect to $\theta$ the first term is constant, and what remains is the expectation of $-\log \pi_\theta$ under the teacher&amp;rsquo;s distribution — that is, a cross-entropy. Comparing this with the SFT loss above shows that the two are formally the same objective: SFT minimises a forward KL, the only difference being that its teacher distribution degenerates to a one-hot label, whereas in distillation it is the teacher&amp;rsquo;s full soft distribution.&lt;/p>
&lt;p>This also explains the mode covering of Section 1: because the expectation is taken under the teacher&amp;rsquo;s distribution, every mode the teacher would generate must be covered, and omitting any one of them causes the loss to diverge.&lt;/p>
&lt;p>Beyond mode covering, this direction has a complementary blind spot: since the expectation is taken under the teacher, the loss is entirely insensitive to how the student allocates probability in &lt;strong>regions where the teacher&amp;rsquo;s probability is zero&lt;/strong>. The student is free to pile up probability where the teacher never ventures without incurring any penalty — which is the other half of the explanation for &amp;ldquo;right style, wrong answer&amp;rdquo;.&lt;/p>
&lt;h3 id="reverse-kl-mode-seeking">Reverse KL: mode seeking&lt;/h3>
$$
\mathrm{KL}(\pi_{\theta} \| \pi_{T}) = \mathbb{E}_{x \sim \pi_{\theta}}\left[\log \frac{\pi_{\theta}(x)}{\pi_{T}(x)}\right]
$$
&lt;p>Splitting the log-ratio into two terms reveals a further reading:&lt;/p>
$$
\mathrm{KL}(\pi_{\theta} \| \pi_{T}) = \mathbb{E}_{x \sim \pi_{\theta}}\left[\log \pi_{\theta}(x)\right] - \mathbb{E}_{x \sim \pi_{\theta}}\left[\log \pi_{T}(x)\right]
$$
&lt;p>By definition the first term is the negative entropy of the student, $-H(\pi_\theta)$, and the second, with its sign flipped, is the cross-entropy of the student against the teacher, $H(\pi_\theta, \pi_T)$. Hence&lt;/p>
$$
\mathrm{KL}(\pi_\theta \| \pi_T) = \underbrace{H(\pi_\theta, \pi_T)}_{\text{cross-entropy to the teacher}} - \underbrace{H(\pi_\theta)}_{\text{student's own entropy}}
$$
&lt;p>Minimising the reverse KL therefore does two things at once: it lowers the student&amp;rsquo;s cross-entropy against the teacher and &lt;strong>raises the student&amp;rsquo;s own entropy&lt;/strong>. Were the cross-entropy minimised alone, the objective would be linear in $\pi_\theta$ and its optimum would lie at a vertex of the simplex, placing all probability on the single token the teacher deems most likely and collapsing to a point mass. The entropy term counteracts precisely this concentration: when the two terms carry equal weight, the optimum is exactly $\pi_\theta = \pi_T$. Even when the student lacks the capacity to cover more than a subset of the teacher&amp;rsquo;s support, the optimum is the teacher&amp;rsquo;s conditional distribution restricted to that subset, preserving the relative proportions within it. Mode seeking therefore means deciding which modes to abandon, not sharpening the distribution within the modes that are retained.&lt;/p>
&lt;p>Returning to behaviour: because the expectation is now taken under the student&amp;rsquo;s distribution, the teacher only evaluates what the student actually writes. Take the same two solution paths: if the student concentrates all its probability on path B, the teacher assigns B 80% and the KL is small; path A is ignored entirely, but since the student never samples A, that region contributes nothing to the loss.&lt;/p>
&lt;figure id="figure-reverse-kl--mode-seeking-the-student-concentrates-all-probability-mass-on-the-one-mode-the-teacher-endorses-and-abandons-the-other-outright">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Under reverse KL the student concentrates probability mass on a single mode" srcset="
/post/on-policy-distillation-en/figures/mode-seeking_hu434b72ed0fddb18adc0534d323f97178_45742_e3d6b928efd794d4243ef00411ca0287.webp 400w,
/post/on-policy-distillation-en/figures/mode-seeking_hu434b72ed0fddb18adc0534d323f97178_45742_16e6c3d5e61ffe2c6edaaf97464033cc.webp 760w,
/post/on-policy-distillation-en/figures/mode-seeking_hu434b72ed0fddb18adc0534d323f97178_45742_1200x1200_fit_q82_h2_lanczos_3.webp 1200w"
src="https://geyuyao.com/post/on-policy-distillation-en/figures/mode-seeking_hu434b72ed0fddb18adc0534d323f97178_45742_e3d6b928efd794d4243ef00411ca0287.webp"
width="760"
height="333"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
&lt;strong>Reverse KL — mode seeking&lt;/strong>: the student concentrates all probability mass on the one mode the teacher endorses and abandons the other outright.
&lt;/figcaption>&lt;/figure>
&lt;p>Mode seeking is better aligned with the actual objective of distillation. The student&amp;rsquo;s capacity is far smaller than the teacher&amp;rsquo;s, so requiring it to cover every teacher mode is unrealistic to begin with; under forward KL, insufficient capacity leads directly to the mode covering of Section 1, in which neither solution path is learned. Reverse KL relaxes the requirement to &amp;ldquo;the one mode the student selects must be endorsed by the teacher&amp;rdquo;, allowing the student to concentrate its probability mass on a single solution path and learn it to a usable standard.&lt;/p>
&lt;p>The second property of reverse KL is that it is &lt;strong>unhackable&lt;/strong>. Because the expectation is taken under the student&amp;rsquo;s distribution, a low KL necessarily means that every token the student actually generates is assigned high probability by the teacher; there is no solution that scores well on the metric while producing poor output. Two contrasts convey the weight of this property: when a learned reward model provides the signal, the policy can find regions the reward model does not cover and inflate its score there — reward hacking; forward KL, meanwhile, imposes no penalty at all in regions where the teacher&amp;rsquo;s probability is zero. Reverse KL admits neither loophole, for the simple reason that the object being evaluated is exactly what the student itself produces.&lt;/p>
&lt;p>The choice of direction is not a new conclusion. Besides MiniLLM, mentioned in Section 1, Google DeepMind&amp;rsquo;s &lt;a href="https://arxiv.org/abs/2306.13649" target="_blank" rel="noopener">Generalized Knowledge Distillation (GKD)&lt;/a> wrote down the full recipe of &amp;ldquo;on-policy sampling plus token-level KL&amp;rdquo; in the same year, and today&amp;rsquo;s industrial OPD variants can largely be viewed as special cases of the GKD framework.&lt;/p>
&lt;!-- It should be added that reverse KL is not the only admissible divergence. Forward KL, reverse KL and JSD are all special cases of an **f-divergence**, differing only in the choice of $f$; the survey mentioned above formalises OPD precisely as f-divergence minimisation over student-sampled trajectories. GKD studies one such family, the generalised JSD. Pure reverse KL has a known stability issue: when the student generates a token the teacher considers near-zero probability, $\log(\pi_\theta / \pi_T)$ diverges, which is especially easy to trigger early in training while the student is still weak. JSD bounds each term by $\log 2$ through the mixture $M = \frac{1}{2}(\pi_T + \pi_\theta)$ and thereby avoids exploding gradients. Industrial implementations nevertheless converge on reverse KL, for the two properties above and for a more practical engineering reason discussed in the next section. -->
&lt;h2 id="5-the-further-degeneration-of-advantage-estimation">5. The Further Degeneration of Advantage Estimation&lt;/h2>
&lt;p>OPD can be dropped into an existing RL framework at almost no engineering cost by setting the per-token advantage directly to the log-probability difference between teacher and student. The GLM-5 report gives the cleanest formulation, stating explicitly that this replaces the advantage term in the GRPO loss:&lt;/p>
$$
\hat{A}_{i,t} = \mathrm{sg}\left[\log \frac{\pi_{\theta_{\mathrm{teacher}}}(y_{i,t} \mid x, y_{i,\lt t})}{\pi_{\theta}(y_{i,t} \mid x, y_{i,\lt t})}\right]
$$
&lt;p>Placing this alongside the GRPO advantage from Section 2 reveals a clear line of development. PPO requires a value network of comparable size to the policy in order to estimate the advantage; GRPO removes the value network in favour of group normalisation; with OPD, even the group normalisation becomes unnecessary.&lt;/p>
&lt;p>The GLM-5 report is direct on this point: during training it sets the GRPO group size to 1 and the batch size to 1024 to increase throughput, and this is feasible precisely because &lt;strong>the advantage can now be computed directly from the gap to the teacher&lt;/strong>, without maintaining a group of samples per prompt to estimate it. Reducing the group size from the usual 8–16 down to 1 multiplies throughput several times over. &lt;strong>PPO → GRPO → OPD is essentially a trajectory along which advantage estimation degenerates until no estimation is required at all&lt;/strong>: credit assignment, the hardest problem in RL, is circumvented by the teacher&amp;rsquo;s per-token scoring.&lt;/p>
&lt;p>A second property that lowers cost is that the teacher performs prefill only and never decodes. The student&amp;rsquo;s complete response is already available, so when the teacher computes $\log \pi_T(y_t \mid y_{\lt t})$ all positions can be processed in parallel in a single forward pass.&lt;/p>
&lt;!-- The TML blog also emphasises this asymmetry: querying the teacher's log-probabilities requires only one forward pass of the large model, while the trajectories are generated by the smaller and cheaper student. -->
&lt;p>In addition, OPD typically takes a discount factor of zero, optimising only the current token at each position without multi-step rollout. This means reward computation need not wait for a trajectory to finish sampling: training can use shorter or even partial rollouts, and there is no need to extend the context merely to await a terminal reward.&lt;/p>
&lt;h3 id="vocabulary-granularity-sampled-token-top-k-or-full-vocabulary">Vocabulary granularity: sampled-token, top-k, or full vocabulary&lt;/h3>
&lt;p>The KL is defined over the entire vocabulary, but an implementation need not evaluate all of it. Three options exist, and they are identical in teacher forward cost — a single prefill in every case — differing only at the loss computation.&lt;/p>
&lt;p>In the table below, $B$ is the batch size, $T$ the sequence length, $V$ the vocabulary size, and $k$ the number of tokens retained by top-k:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Variant&lt;/th>
&lt;th>Loss complexity&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Sampled-token&lt;/td>
&lt;td>$O(BT)$&lt;/td>
&lt;td>Uses only the log-probability of the single token the student actually sampled&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Top-k&lt;/td>
&lt;td>$O(BTk)$&lt;/td>
&lt;td>Sums over the top-k tokens&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Full-vocabulary&lt;/td>
&lt;td>$O(BTV)$&lt;/td>
&lt;td>Sums over the entire vocabulary at every position&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The gap between the two extremes is the vocabulary size itself:&lt;/p>
$$
\frac{O(BTV)}{O(BT)} = V
$$
&lt;p>With Qwen3&amp;rsquo;s vocabulary of $V = 151{,}669$, this ratio is roughly $1.5 \times 10^5$, or five orders of magnitude. In concrete terms, at $B = 8$ and $T = 8192$ the full-vocabulary variant must materialise $8 \times 8192 \times 151{,}669 \approx 9.9 \times 10^9$ logit entries, about 20 GB in bf16, and one copy is needed for the teacher and one for the student; the sampled-token variant keeps a single log-probability per position, $8 \times 8192 = 65{,}536$ numbers in total, under 1 MB.&lt;/p>
&lt;p>Given a cost gap this large, is a single token sufficient? That depends on two things: whether it is statistically sound, and whether it discards useful signal.&lt;/p>
&lt;p>&lt;strong>From a statistical standpoint.&lt;/strong> Monte Carlo estimation requires that samples be drawn from the distribution under which the expectation is taken. The reverse KL expectation is taken under $\pi_\theta$, and the trajectory was sampled by the student in the first place, so estimating it with the token the student actually generated is &lt;strong>unbiased&lt;/strong>, requiring only one gathered log-probability per position. This also settles the engineering question left open in the previous section: the forward KL expectation is taken under $\pi_T$, so an unbiased estimate would require teacher sampling, yet in OPD the teacher only prefills and never decodes, so no teacher-sampled tokens exist. &lt;strong>Using sampled-token therefore forces the choice of reverse KL; using forward KL forces one to abandon sampling and evaluate the sum explicitly over the top-k or the full vocabulary.&lt;/strong>&lt;/p>
&lt;p>&lt;strong>From a signal standpoint.&lt;/strong> &lt;a href="https://arxiv.org/abs/2604.13016" target="_blank" rel="noopener">&lt;em>Rethinking On-Policy Distillation&lt;/em>&lt;/a>, from Tsinghua&amp;rsquo;s thunlp group, provides mechanistic evidence: successful OPD manifests as a progressive alignment of high-probability tokens between student and teacher at student-visited states (the overlap rises from 72% to 91%), and this shared token set concentrates 97%–99% of the probability mass of both distributions. They further verify that supervising only the overlapping tokens matches the full top-k. Since the gradient signal is already concentrated on a handful of tokens, the additional vocabulary contributes little.&lt;/p>
&lt;p>Taken together, sampled-token has become the industrial default in single-teacher settings. The one exception arises with multiple teachers, discussed in Section 6.2 on DeepSeek-V4.&lt;/p>
&lt;!-- As an aside, "granularity" has two layers. The discussion above concerns the vocabulary; the other layer is whether the loss is defined over tokens or over whole sequences. Token-level attends only to the divergence at the current step, giving very low variance but bias, since it ignores the effect of the current token on subsequent generation; sequence-level uses the accumulated divergence over the whole trajectory, which is unbiased but whose variance grows rapidly with length. MiniLLM once interpolated between the two, but industrial practice is consistent: the variance of the sequence-level objective is too large to converge, so nearly all implementations adopt token-level and trade acceptable bias for stability. This mirrors the Monte Carlo versus temporal-difference trade-off in RL, except that in OPD the bias and variance arise from the granularity of the reward rather than from value estimation. -->
&lt;h2 id="6-how-the-five-technical-reports-use-it">6. How the Five Technical Reports Use It&lt;/h2>
&lt;p>The differences across the five labs reduce to two dimensions: &lt;strong>where the teacher comes from&lt;/strong>, and &lt;strong>where OPD sits in the post-training pipeline.&lt;/strong> The following sections proceed along these two axes.&lt;/p>
&lt;h3 id="61-qwen3-strong-to-weak-distillation-for-lightweight-models">6.1 Qwen3: strong-to-weak distillation for lightweight models&lt;/h3>
&lt;p>The post-training of the Qwen3 flagship models comprises four stages: long-CoT cold-start SFT, reasoning RL, thinking mode fusion (further SFT that merges the think and no-think modes into a single model), and general RL.&lt;/p>
&lt;p>The position of OPD here is unusual: rather than being inserted at one of the four stages, it &lt;strong>replaces the pipeline in its entirety&lt;/strong>. The lightweight models from 0.6B to 14B no longer repeat the four-stage procedure individually, and are instead distilled from Qwen3-32B or Qwen3-235B-A22B, which have already completed it — that is, strong-to-weak distillation. The report&amp;rsquo;s stated rationale is that distilling the teacher&amp;rsquo;s output logits directly into lightweight students both improves performance and preserves fine-grained control over their reasoning process.&lt;/p>
&lt;p>The distillation itself proceeds in two phases, off-policy first and on-policy second.&lt;/p>
&lt;ul>
&lt;li>The first phase performs response distillation on teacher outputs collected in both think and no-think modes, so that the student first acquires basic reasoning ability and learns to switch between the two modes;&lt;/li>
&lt;li>Only in the second phase does training become on-policy: prompts are sampled, the student generates its own responses, and its logits are then aligned with those of the teacher (Qwen3-32B or Qwen3-235B-A22B) by minimising the KL divergence.&lt;/li>
&lt;/ul>
&lt;p>The reason for this design is that if the output styles of student and teacher differ too much, most of the token-level KL will be stylistic noise rather than knowledge. An off-policy round is therefore needed first to move the student&amp;rsquo;s distribution near the teacher&amp;rsquo;s, before the on-policy phase begins.&lt;/p>
&lt;p>Table 21 of the report gives the resulting comparison. All three rows start from the same off-policy-distilled 8B checkpoint, differing only in whether RL or on-policy distillation follows; pass@64 is given in parentheses:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Method&lt;/th>
&lt;th>AIME'24&lt;/th>
&lt;th>AIME'25&lt;/th>
&lt;th>MATH500&lt;/th>
&lt;th>LiveCodeBench&lt;/th>
&lt;th>GPQA-Diamond&lt;/th>
&lt;th>GPU Hours&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Off-policy distillation&lt;/td>
&lt;td>55.0 (90.0)&lt;/td>
&lt;td>42.8 (83.3)&lt;/td>
&lt;td>92.4&lt;/td>
&lt;td>42.0&lt;/td>
&lt;td>55.6&lt;/td>
&lt;td>–&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>+ Reinforcement learning&lt;/td>
&lt;td>67.6 (90.0)&lt;/td>
&lt;td>55.5 (83.3)&lt;/td>
&lt;td>94.8&lt;/td>
&lt;td>52.9&lt;/td>
&lt;td>61.3&lt;/td>
&lt;td>17,920&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>+ On-policy distillation&lt;/td>
&lt;td>&lt;strong>74.4 (93.3)&lt;/strong>&lt;/td>
&lt;td>&lt;strong>65.5 (86.7)&lt;/strong>&lt;/td>
&lt;td>&lt;strong>97.0&lt;/strong>&lt;/td>
&lt;td>&lt;strong>60.3&lt;/strong>&lt;/td>
&lt;td>&lt;strong>63.3&lt;/strong>&lt;/td>
&lt;td>&lt;strong>1,800&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>On AIME'24 the gain is 6.8 points at one tenth of the GPU hours. More telling are the pass@64 figures in parentheses: RL leaves the 64-sample ceiling entirely unchanged (90.0 → 90.0), whereas on-policy distillation pushes it to 93.3. The report attributes this to the fact that distilling from the teacher&amp;rsquo;s logits expands the student&amp;rsquo;s exploration space and raises its reasoning potential, with the pass@64 improvement as the evidence; reinforcement learning, by contrast, produced no pass@64 gain at all.&lt;/p>
&lt;h3 id="62-deepseek-v4-replacing-mix-rl-with-multi-teacher-opd">6.2 DeepSeek-V4: replacing mix RL with multi-teacher OPD&lt;/h3>
&lt;p>Compared with Qwen3, DeepSeek-V4 has more than ten teachers, each strong in a single domain, and the problem OPD solves is &lt;strong>capability merging&lt;/strong>. Accordingly it is no longer a side branch for lightweight models but sits on the critical path: the report states that post-training retains the overall structure of V3.2 and that the one key methodological substitution occurs at this step, with the mixed reinforcement learning stage &lt;strong>replaced entirely&lt;/strong> by on-policy distillation.&lt;/p>
&lt;p>The resulting procedure has two stages. In the first, a specialist is trained independently for each domain — mathematics, code, agentic tasks, instruction following and so on — each obtained by a separate SFT-plus-GRPO run. In the second, multi-teacher OPD merges the ten-plus specialists back into a single unified model.&lt;/p>
&lt;p>OPD here therefore takes on the &lt;strong>final merging step&lt;/strong> of the pipeline; what it replaces is not the algorithm inside any single RL stage but the entire approach to optimising several objectives at once. Its objective is&lt;/p>
$$
\mathcal{L}_{\mathrm{OPD}}(\theta) = \sum_{i=1}^{N} w_i \cdot D_{\mathrm{KL}}\big(\pi_\theta \,\|\, \pi_{E_i}\big)
$$
&lt;p>where $w_i$ is the weight of each expert. The report&amp;rsquo;s rationale is that this mechanism consolidates knowledge dispersed across expert weights into a unified parameter space through &lt;strong>alignment at the logits level&lt;/strong>, thereby avoiding the performance degradation commonly seen with parameter merging and mix RL.&lt;/p>
&lt;p>Another notable engineering decision is that DeepSeek-V4 adopts full-vocabulary KL rather than the industry-standard token-level estimate. The report is explicitly critical of the latter: existing work typically reduces the full-vocabulary KL to a token-level estimate at each position and reuses the RL framework with $\mathrm{sg}[\log \pi_E / \pi_\theta]$ as a per-token advantage; while economical, this incurs &lt;strong>high variance in the gradient estimate and frequently destabilises training&lt;/strong>.&lt;/p>
&lt;p>The formulation being criticised is exactly the one given in Section 5. The trade-off is determined by the difference noted above: with a single teacher the variance of the Monte Carlo estimate is tolerable, whereas V4 must align more than ten teachers at the same token position, which amplifies the variance substantially.&lt;/p>
&lt;p>The cost falls on memory. With a vocabulary above 100,000, materialising logits for all teachers is infeasible, so V4 caches only the teachers&amp;rsquo; final-layer hidden states and reconstructs the logits through the prediction head during training; samples are sorted and dispatched by teacher index so that each teacher head is loaded once per mini-batch and at most one resides in memory at a time; the exact KL is computed by a dedicated TileLang kernel.&lt;/p>
&lt;h3 id="63-mimo-v2-flash-mopd-combined-with-outcome-reward">6.3 MiMo-V2-Flash: MOPD combined with outcome reward&lt;/h3>
&lt;p>Xiaomi&amp;rsquo;s MiMo-V2-Flash names the method MOPD (Multi-Teacher On-Policy Distillation) and positions it as a post-training paradigm rather than a training trick. Its pipeline has three stages: Stage 1 establishes instruction-following ability through general SFT; Stage 2 trains per-domain teachers with RL and SFT (including both non-agentic and agentic RL); Stage 3 uses MOPD to merge those teachers back into one student.&lt;/p>
&lt;p>The motivation the report gives for this design is &lt;strong>capability imbalance&lt;/strong>, which it calls the see-saw effect: when several capabilities are improved in sequence on the same model, gains in one are often accompanied by regressions in another. Training each domain separately and merging at the end is precisely how this effect is circumvented, and MOPD, at the third stage, performs the merge. Its reverse KL loss is written as&lt;/p>
$$
\mathcal{L}_{\text{reverse-KL}}(\theta) = -\,\mathbb{E}_{x \sim \mathcal{D},\, y \sim \pi(\cdot \mid x)} \log \frac{\pi_{\mathrm{domain}}(y_t \mid x, y_{\lt t})}{\pi_\theta(y_t \mid x, y_{\lt t})}
$$
&lt;p>MiMo&amp;rsquo;s overall structure closely resembles V4&amp;rsquo;s — domain-wise teachers first, multi-teacher OPD to merge afterwards — but differs in two substantive respects. First, V4&amp;rsquo;s objective contains the KL alone, whereas MiMo adds the distillation advantage to an outcome reward, $\hat{A} = \hat{A}^{\mathrm{MOPD}} + \hat{A}^{\mathrm{ORM}}$; OPD does not displace RL, and both signals coexist. Second, MiMo permits the student itself to enter the teacher set, so in domains lacking a stronger teacher MOPD effectively degenerates into self-distillation — visible directly in Table 7 below.&lt;/p>
&lt;p>Table 7 of the report reports the student before distillation, the best teacher, and the student after distillation, from which the boundary of MOPD&amp;rsquo;s benefit can be read off directly:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Benchmark&lt;/th>
&lt;th>Student Before MOPD&lt;/th>
&lt;th>Best Teacher&lt;/th>
&lt;th>Student After MOPD&lt;/th>
&lt;th>Δ(Student − Teacher)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>AIME 2025&lt;/td>
&lt;td>89.3&lt;/td>
&lt;td>93.9 (RL)&lt;/td>
&lt;td>94.1&lt;/td>
&lt;td>+0.2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>HMMT Feb. 2025&lt;/td>
&lt;td>76.9&lt;/td>
&lt;td>82.6 (RL)&lt;/td>
&lt;td>84.4&lt;/td>
&lt;td>+1.8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>LiveCodeBench&lt;/td>
&lt;td>77.5&lt;/td>
&lt;td>82.6 (RL)&lt;/td>
&lt;td>83.2&lt;/td>
&lt;td>+0.6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GPQA-Diamond&lt;/td>
&lt;td>84.9&lt;/td>
&lt;td>84.9 (Self)&lt;/td>
&lt;td>84.3&lt;/td>
&lt;td>−0.6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Arena-Hard (Hard Prompt)&lt;/td>
&lt;td>50.0&lt;/td>
&lt;td>50.0 (Self)&lt;/td>
&lt;td>54.1&lt;/td>
&lt;td>+4.1&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Arena-Hard (Creative Writing)&lt;/td>
&lt;td>90.1&lt;/td>
&lt;td>90.1 (Self)&lt;/td>
&lt;td>86.2&lt;/td>
&lt;td>−3.9&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SWE-Bench Verified&lt;/td>
&lt;td>67.8&lt;/td>
&lt;td>74.2 (RL)&lt;/td>
&lt;td>73.4&lt;/td>
&lt;td>−0.8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Tau2-Bench&lt;/td>
&lt;td>75.9&lt;/td>
&lt;td>79.6 (RL)&lt;/td>
&lt;td>80.3&lt;/td>
&lt;td>+0.7&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>BrowseComp&lt;/td>
&lt;td>42.5&lt;/td>
&lt;td>51.7 (SFT)&lt;/td>
&lt;td>45.4&lt;/td>
&lt;td>−6.3&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Three observations follow from this table.&lt;/p>
&lt;ul>
&lt;li>First, in domains with a strong teacher (mathematics, code, agentic tasks) the student essentially matches or slightly exceeds the best teacher, with Δ within ±1.&lt;/li>
&lt;li>Second, in the rows marked Self, the best-teacher figure is identical to the student before distillation, meaning no teacher on that benchmark is stronger than the student itself; any gain must then come from the added ORM term, and MOPD serves only to preserve performance, or may even lose points.&lt;/li>
&lt;li>Third, BrowseComp drops by 6.3 points, and its teacher happens to be an SFT model — suggesting that when the behavioural patterns of teacher and student diverge too far, token-level alignment may fail to transfer the capability. &lt;strong>This table in effect provides direct evidence that the teacher constitutes a capability ceiling.&lt;/strong>&lt;/li>
&lt;/ul>
&lt;h3 id="64-kimi-k3-nine-specialists-partitioned-by-domain--reasoning-effort">6.4 Kimi K3: nine specialists partitioned by domain × reasoning effort&lt;/h3>
&lt;p>Moonshot&amp;rsquo;s Kimi K3 follows the same route as the previous two but adds one more dimension to the partition. Its post-training is likewise three-staged: SFT cold start to establish basic agentic ability, RL to train domain specialists, and MOPD to merge.&lt;/p>
&lt;p>The difference lies in how the second stage is partitioned. K3 divides RL into three broad domains — general, general agents and coding agents — and trains low, high and max reasoning-effort variants within each, giving &lt;strong>nine specialists in total&lt;/strong>. The effort levels are obtained by controlling the token budget during RL: an initial budget is estimated for each problem, trajectories exceeding a threshold of $\tau$ times that budget receive a reward of $-1$, and annealing $\tau$ yields the max, high and low levels in turn.&lt;/p>
&lt;p>K3&amp;rsquo;s MOPD therefore merges not only capabilities but also thinking lengths: the behaviour of nine specialists is compressed into a single model that can switch effort levels on demand at inference. This effectively brings budget distillation of the long-to-short variety under the same mechanism.&lt;/p>
&lt;p>In implementation, K3 does not go full-vocabulary as V4 does, but retains the token-level formulation with clipping applied:&lt;/p>
$$
r^{d}_{\mathrm{opd}}(y_t \mid e, x, y_{\lt t}) = \mathrm{clip}\left(\mathrm{sg}\left(\log \frac{\pi^{(d,e)}_{\mathrm{teacher}}(y_t \mid x, y_{\lt t})}{\pi_\theta(y_t \mid e, x, y_{\lt t})}\right), -R_{\max}, R_{\max}\right)
$$
&lt;p>where $R_{\max}$ is the clipping threshold constraining extreme advantage signals. The report explains that, defined this way, OPD is simply an ordinary dense reward that plugs into an existing RL framework, allowing infrastructure optimisations for long-horizon tasks such as partial rollout to be reused. Notably, they also tried a finer-grained top-$k$ distillation objective but &lt;strong>observed no clear advantage in either convergence speed or final performance&lt;/strong> — consistent with the conclusion of Section 5.&lt;/p>
&lt;p>For context, on K2 and K2.5 Moonshot still generated candidate responses with K1.5 and a number of internal domain specialists, filtered them, and trained with SFT — sequence-level off-policy distillation. Only with K3 did the recipe shift to student sampling with per-token scoring by nine specialists.&lt;/p>
&lt;h3 id="65-glm-5-cross-stage-distillation-with-historical-checkpoints-as-teachers">6.5 GLM-5: cross-stage distillation with historical checkpoints as teachers&lt;/h3>
&lt;p>GLM-5&amp;rsquo;s post-training is a long sequential pipeline: multi-task SFT (introducing the interleaved thinking mode) → reasoning RL → agentic RL → general RL. The three RL stages optimise different objectives, which brings a known problem: later stages erode capabilities acquired in earlier ones.&lt;/p>
&lt;p>OPD is therefore placed at the &lt;strong>very end&lt;/strong> of the chain as a dedicated repair stage. The report describes it as follows: optimising different objectives in sequence within a multi-stage RL pipeline causes &lt;strong>cumulative degradation&lt;/strong> of existing capabilities; to mitigate this, the final stage performs on-policy cross-stage distillation, &lt;strong>taking the final checkpoint of each preceding training stage as a teacher&lt;/strong>, with training prompts sampled from the corresponding teacher&amp;rsquo;s RL training set and mixed in proportion.&lt;/p>
&lt;p>This is the most fundamental difference from the other four. Elsewhere the teacher is an external model stronger than the student, or at least stronger in some domain; GLM-5&amp;rsquo;s teacher is a snapshot of the student itself from an earlier stage and is no stronger than it. OPD here therefore does not transfer new capability; it realigns a distribution that has drifted back toward that checkpoint, recovering the capabilities overwritten by subsequent stages.&lt;/p>
&lt;p>Two findings support why this works.&lt;/p>
&lt;ul>
&lt;li>First, the gains from RL are highly localised: it fine-tunes only a small subnetwork of the model (&lt;a href="https://arxiv.org/abs/2505.11711" target="_blank" rel="noopener">&lt;em>Reinforcement Learning Finetunes Small Subnetworks in Large Language Models&lt;/em>&lt;/a>), which makes strengthening one domain liable to damage another — exactly the cumulative degradation GLM-5 describes.&lt;/li>
&lt;li>Second, the source of the data matters decisively when recovering capability: &lt;a href="https://arxiv.org/abs/2510.18874" target="_blank" rel="noopener">&lt;em>Retaining by Doing&lt;/em>&lt;/a> shows that training on the model&amp;rsquo;s own on-policy data substantially mitigates forgetting, and &lt;a href="https://arxiv.org/abs/2509.04259" target="_blank" rel="noopener">&lt;em>RL&amp;rsquo;s Razor&lt;/em>&lt;/a> explains from a KL perspective why online methods forget less than offline SFT.&lt;/li>
&lt;/ul>
&lt;p>Together these imply that generating data with the old checkpoint and running another round of SFT would perform markedly worse — &lt;strong>capability recovery must itself be on-policy.&lt;/strong>&lt;/p>
&lt;h3 id="66-thinking-machines-lab-self-distillation-for-continual-learning">6.6 Thinking Machines Lab: self-distillation for continual learning&lt;/h3>
&lt;p>Thinking Machines Lab generalises this usage to the continual-learning setting in &lt;a href="https://thinkingmachines.ai/blog/on-policy-distillation/" target="_blank" rel="noopener">&lt;em>On-Policy Distillation&lt;/em>&lt;/a> (the section on &lt;a href="https://thinkingmachines.ai/blog/on-policy-distillation/#distillation-for-personalization" target="_blank" rel="noopener">distillation for personalization&lt;/a>). The setting is a Qwen3-8B that has already completed post-training and into which internal enterprise document knowledge is then injected; OPD follows the domain injection and performs capability recovery.&lt;/p>
&lt;p>The problem arises in mid-training: internal QA rises from 18% to 43%, but IF-eval falls from 85% to 45%. The blog notes that this degradation is unrelated to the data mixture — &lt;a href="https://thinkingmachines.ai/blog/on-policy-distillation/#training-on-new-knowledge-degrades-learned-behavior" target="_blank" rel="noopener">IF-eval declines regardless of how the ratio is tuned&lt;/a> — and that constraining parameter updates with LoRA merely &amp;ldquo;learns less while still forgetting&amp;rdquo;.&lt;/p>
&lt;p>The recovery procedure is a round of OPD with the pre-mid-training Qwen3-8B itself as the teacher, using &lt;a href="https://thinkingmachines.ai/blog/on-policy-distillation/#on-policy-distillation-recovers-post-training-behavior" target="_blank" rel="noopener">prompts taken from Tulu3&lt;/a> that are entirely unrelated to the internal documents, for the sole purpose of restoring instruction following:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Model&lt;/th>
&lt;th>Internal QA (knowledge)&lt;/th>
&lt;th>IF-eval (conversation)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Qwen3-8B&lt;/td>
&lt;td>18%&lt;/td>
&lt;td>85%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>+ midtrain (100% documents)&lt;/td>
&lt;td>43%&lt;/td>
&lt;td>45%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>+ midtrain (70% documents)&lt;/td>
&lt;td>36%&lt;/td>
&lt;td>79%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>+ midtrain (70%) + distill&lt;/td>
&lt;td>&lt;strong>41%&lt;/strong>&lt;/td>
&lt;td>&lt;strong>83%&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The last row is the notable one: while IF-eval recovers from 79% to 83%, internal QA rises from 36% to 41% — what the blog calls &lt;strong>positive transfer&lt;/strong> between conversational ability and knowledge. This is the &lt;strong>same mechanism&lt;/strong> as GLM-5&amp;rsquo;s cross-stage distillation: in both cases the teacher is a historical snapshot of the model itself, and OPD repairs the capability loss caused by subsequent training.&lt;/p>
&lt;p>The same blog also reports a direct controlled experiment (&lt;a href="https://thinkingmachines.ai/blog/on-policy-distillation/#dense-supervision-greatly-improves-compute-efficiency" target="_blank" rel="noopener">dense supervision greatly improves compute efficiency&lt;/a>): starting from Qwen3-8B-Base, RL on DeepMath yields a policy, and OPD then distils that policy back into the same base model — teacher and student share an architecture and a parameter count, and the only difference is the mode of learning.&lt;/p>
&lt;p>&lt;strong>The result is that OPD requires roughly one seventh to one tenth of the gradient steps to acquire that RL policy (the AIME score is recovered within 10 steps, against RL&amp;rsquo;s 70), which translates into a 50–100× improvement in compute efficiency.&lt;/strong>&lt;/p>
&lt;p>An even more extreme setting is &lt;a href="https://thinkingmachines.ai/blog/on-policy-distillation/#distillation-can-effectively-reuse-training-data-for-data-efficiency" target="_blank" rel="noopener">training on a single prompt&lt;/a>: a limit problem is drawn at random from the dataset, 256 rollouts are sampled per step over 20 consecutive steps for 5,120 scored sequences in total, and the teacher&amp;rsquo;s AIME'24 performance is approximately reproduced. Under RL such training would almost certainly degenerate into memorising the answer; OPD, by contrast, fits the teacher&amp;rsquo;s full conditional distribution rather than any particular answer, and can therefore train repeatedly on the same set of prompts.&lt;/p>
&lt;p>The blog makes the reason the title of a section — &lt;a href="https://thinkingmachines.ai/blog/on-policy-distillation/#rl-searches-in-the-space-of-semantic-strategies" target="_blank" rel="noopener">RL searches in the space of semantic strategies&lt;/a> — which corroborates the judgement of Section 2: &lt;strong>the cost of RL belongs mostly to search rather than learning. What is expensive is discovering, by trial in the space of strategies, which mode of reasoning earns the reward; once that strategy has been found, transferring it to another model by distribution matching is cheap.&lt;/strong>&lt;/p>
&lt;h2 id="7-where-the-efficiency-of-opd-comes-from">7. Where the Efficiency of OPD Comes From&lt;/h2>
&lt;p>All five reports observe an efficiency gain, and none of them explains its origin. The most immediate explanation, that &amp;ldquo;dense supervision carries more information&amp;rdquo;, does not hold: SFT&amp;rsquo;s supervision is equally dense, yet it is not ten times more efficient than RL. Two works from 2026 answer the question, one at the level of phenomenology and one at the level of parameter dynamics.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Tsinghua&amp;rsquo;s &lt;a href="https://arxiv.org/abs/2604.13016" target="_blank" rel="noopener">&lt;em>Rethinking On-Policy Distillation&lt;/em>&lt;/a> answers &amp;ldquo;when does it fail&amp;rdquo;. It identifies two conditions for OPD to hold: the thinking patterns of student and teacher must be mutually compatible; and even with matching patterns and a higher score, the teacher must possess genuinely new capability the student has not seen. The weight of the latter is shown by a reverse control — running OPD between a 1.5B and a 7B model of the same family yields nearly identical final scores whether the direction is 7B → 1.5B or the reverse. Same-family models of different sizes are, in other words, nearly indistinguishable under the metric of token-level KL: superiority on benchmarks does not imply there is anything new to teach at the level of distributions. Two remedies follow: when the thinking patterns are incompatible, run a round of off-policy cold start first (as Qwen3 does); when the teacher has nothing new to teach, select only the prompts the teacher answers well and the student answers poorly.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>USTC and Tencent&amp;rsquo;s &lt;a href="https://arxiv.org/abs/2605.11739" target="_blank" rel="noopener">&lt;em>Learning to Foresee&lt;/em>&lt;/a> answers &amp;ldquo;why is it fast&amp;rdquo;. Their answer is foresight — OPD locks onto the direction toward the final solution very early in training, after which training mainly accumulates magnitude along that established direction. The evidence sits at two levels:&lt;/p>
&lt;ul>
&lt;li>At the module level, updates concentrate on the mid-layer MLPs that actually carry reasoning ability, whereas RL distributes a large share of the update norm over the embeddings and the first and last layers, which contribute little;&lt;/li>
&lt;li>At the direction level, an SVD of the parameter increments shows that OPD&amp;rsquo;s energy is markedly more low-rank and that its dominant direction aligns closely with the final one very early, while RL stabilises much later. The most direct ablation takes a checkpoint at 10% of training progress and rescales the update norm per module to its final magnitude while leaving the direction untouched, recovering roughly 80% of the final reasoning performance.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Together these yield a sharper judgement: &lt;strong>OPD is fast not because the signal is dense, but because the destination — the teacher&amp;rsquo;s distribution — is given in advance, so the direction need not be found by trial.&lt;/strong> And this is precisely what foreshadows its limits.&lt;/p>
&lt;h2 id="8-the-limits-of-opd">8. The Limits of OPD&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>The teacher constitutes a capability ceiling.&lt;/strong> The global optimum of OPD is a student distribution identical to the teacher&amp;rsquo;s, at which point both loss and gradient vanish. As long as the objective contains only the distillation term, the student cannot systematically surpass the teacher along any meaningful dimension. The Δ column in MiMo&amp;rsquo;s table, clustered near zero with several negative entries, is a direct manifestation of this property. Surpassing the teacher still requires RL to acquire new information from the environment — the ground-truth answer to a maths problem, the result of running code, the formal verification of a theorem — signals that do not pass through the teacher.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>A genuine capability gap must exist.&lt;/strong> If the teacher is merely a larger sibling with a slightly higher score, the two may differ almost not at all at the scale of token-level distributions. Superiority on benchmarks is not necessarily reflected in per-token conditional probabilities. This is also why Qwen3 runs a round of off-policy cold start first: only once the two behavioural patterns are aligned does the KL carry knowledge rather than stylistic noise.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>The dense signal is not free.&lt;/strong> The early directional lock-in of the previous section cuts both ways: the flip side of locking onto a direction is constrained exploration (though this is also, as discussed earlier, one of its advantages over SFT). &lt;em>Rethinking OPD&lt;/em> accordingly raises the question of whether OPD can scale to long-horizon distillation. Following a teacher token by token along a long reasoning chain tends to transfer its local token habits rather than its reasoning strategy.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>Looking back over the technical reports — Qwen3 uses it to train lightweight models, MiMo stacks it with an ORM reward, GLM-5 places it after three rounds of RL, DeepSeek-V4 and Kimi K3 place it after specialist RL — &lt;strong>not one of them replaces RL with OPD outright.&lt;/strong> OPD always performs capability transfer; capability creation is still done by RL.&lt;/p>
&lt;p>&lt;strong>What OPD saves is samples, not GPU compute.&lt;/strong> Every rollout the student runs requires an accompanying teacher forward pass, so training must sustain inference resources for both models simultaneously. Qwen3&amp;rsquo;s figure of 1,800 GPU hours presupposes that a 32B or 235B teacher is already in hand; for teams with limited compute, the result is not necessarily reproducible.&lt;/p>
&lt;h2 id="9-conclusion">9. Conclusion&lt;/h2>
&lt;p>OPD is not a new algorithm: on-policy sampling descends from the DAGGER line of imitation learning, training on student-sampled sequences was consolidated into a framework by Generalized Knowledge Distillation, reverse KL was established by MiniLLM, which also used the teacher-to-student log-probability ratio as a per-step reward, and the engineering scaffold is borrowed wholesale from PPO/GRPO with the advantage term as the only modification. Its real contribution is to have assembled these existing components into a form that is stable and cheap at industrial scale, making capability transfer, for the first time, a step that can be planned independently within post-training. The five labs had different motivations — lowering the training cost of lightweight models, merging domain specialists, repairing the degradation caused by sequential RL — but faced the same problem: as the cost of RL keeps rising and capability ends up dispersed across several specialist models, how does one move capability already paid for in compute into a single model at lower cost?&lt;/p>
&lt;h2 id="references">References&lt;/h2>
&lt;ul>
&lt;li>Thinking Machines Lab, &lt;a href="https://thinkingmachines.ai/blog/on-policy-distillation/" target="_blank" rel="noopener">On-Policy Distillation&lt;/a>, 2025&lt;/li>
&lt;li>Qwen Team, &lt;a href="https://arxiv.org/abs/2505.09388" target="_blank" rel="noopener">Qwen3 Technical Report&lt;/a>, 2025&lt;/li>
&lt;li>DeepSeek-AI, &lt;a href="https://arxiv.org/abs/2606.19348" target="_blank" rel="noopener">DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence&lt;/a>, 2026&lt;/li>
&lt;li>LLM-Core Xiaomi, &lt;a href="https://arxiv.org/abs/2601.02780" target="_blank" rel="noopener">MiMo-V2-Flash Technical Report&lt;/a>, 2026&lt;/li>
&lt;li>Moonshot AI, &lt;a href="https://arxiv.org/abs/2607.24653" target="_blank" rel="noopener">Kimi K3: Open Frontier Intelligence&lt;/a>, 2026&lt;/li>
&lt;li>Zhipu AI, &lt;a href="https://arxiv.org/abs/2602.15763" target="_blank" rel="noopener">GLM-5: from Vibe Coding to Agentic Engineering&lt;/a>, 2026&lt;/li>
&lt;li>Li et al., &lt;a href="https://arxiv.org/abs/2604.13016" target="_blank" rel="noopener">Rethinking On-Policy Distillation of Large Language Models: Phenomenology, Mechanism, and Recipe&lt;/a>, 2026&lt;/li>
&lt;li>Cai et al., &lt;a href="https://arxiv.org/abs/2605.11739" target="_blank" rel="noopener">Learning to Foresee: Unveiling the Unlocking Efficiency of On-Policy Distillation&lt;/a>, 2026 (EffOPD)&lt;/li>
&lt;li>Song &amp;amp; Zheng, &lt;a href="https://arxiv.org/abs/2604.00626" target="_blank" rel="noopener">A Survey of On-Policy Distillation for Large Language Models&lt;/a>, 2026&lt;/li>
&lt;li>Ye et al., &lt;a href="https://arxiv.org/abs/2511.10643" target="_blank" rel="noopener">Black-Box On-Policy Distillation of Large Language Models&lt;/a> (GAD), 2025&lt;/li>
&lt;li>Zhao et al., &lt;a href="https://arxiv.org/abs/2601.18734" target="_blank" rel="noopener">Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models&lt;/a>, 2026&lt;/li>
&lt;li>Agarwal et al., &lt;a href="https://arxiv.org/abs/2306.13649" target="_blank" rel="noopener">On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes&lt;/a>, ICLR 2024&lt;/li>
&lt;li>Gu et al., &lt;a href="https://arxiv.org/abs/2306.08543" target="_blank" rel="noopener">MiniLLM: Knowledge Distillation of Large Language Models&lt;/a>, 2023&lt;/li>
&lt;li>Shao et al., &lt;a href="https://arxiv.org/abs/2402.03300" target="_blank" rel="noopener">DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models&lt;/a>, 2024&lt;/li>
&lt;li>Ross et al., &lt;a href="https://arxiv.org/abs/1011.0686" target="_blank" rel="noopener">A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning&lt;/a>, 2010&lt;/li>
&lt;li>Gudibande et al., &lt;a href="https://arxiv.org/abs/2305.15717" target="_blank" rel="noopener">The False Promise of Imitating Proprietary LLMs&lt;/a>, 2023&lt;/li>
&lt;li>Lightman et al., &lt;a href="https://arxiv.org/abs/2305.20050" target="_blank" rel="noopener">Let&amp;rsquo;s Verify Step by Step&lt;/a>, 2023&lt;/li>
&lt;li>旷野, &lt;a href="https://www.zhihu.com/question/2037212225740464733/answer/2038982410788943397" target="_blank" rel="noopener">Zhihu answer&lt;/a>, 2026&lt;/li>
&lt;li>燕雄飞的一天, &lt;a href="https://zhuanlan.zhihu.com/p/2054573519611211883" target="_blank" rel="noopener">Zhihu article&lt;/a>, 2026&lt;/li>
&lt;li>JMXGODLZ, &lt;a href="https://zhuanlan.zhihu.com/p/2039659658575656354" target="_blank" rel="noopener">Zhihu article&lt;/a>, 2026&lt;/li>
&lt;li>吴宇斌, &lt;a href="https://zhuanlan.zhihu.com/p/1992696535025214593" target="_blank" rel="noopener">Zhihu article&lt;/a>, 2026&lt;/li>
&lt;li>JustBeClaw, &lt;a href="https://zhuanlan.zhihu.com/p/2019475304599536345" target="_blank" rel="noopener">Zhihu article&lt;/a>, 2026&lt;/li>
&lt;/ul></description></item></channel></rss>