Learn › Inference & Serving
·FREE·PAPER·14 min read

Paper Walkthrough: No Gold Answers, No Stronger Teacher — How u-OPSD Distills From Its Own Majority Vote

u-OPSD (arXiv:2608.06296) replaces the gold solution in on-policy self-distillation with the model's own majority vote, then corrects only the rollouts that disagree with it. A from-scratch walkthrough grounded solely in the paper.

Key points

  • On-policy self-distillation (OPSD) has only the teacher see the worked solution, so the information that makes the teacher smarter comes from outside.
  • u-OPSD replaces the gold solution with the majority vote over eight of the model's own attempts at the same problem, using only problem statements.
  • Distillation is applied only on the disagreeing rollouts outside the majority, and only for prompts whose self-consistency score reaches the threshold τ.
  • Showing the teacher only the final answer drops performance by 10.3% to 15.8%, landing below the base model's 43.57.
  • In non-thinking mode, Qwen3-8B goes from 43.57 to 54.31 on the five-benchmark average, above OPSD's 52.04.
ModalitytextTaskinference

On-Policy Self-Distillation without Any Supervision

Primary source — what this article is built on

undefined2026-08-06→undefined2026-08-13same month

On-Policy Self-Distillation without Any SupervisionYijiang Li, Bingyang Wang, Yijun Liang et al. · 2026-08-06 · v2arXiv:2608.06296Paper page·PDF
undefined

On-policy (Self-)Distillation (OPD / OPSD) has shown strong potential for post-training large language models (LLMs). However, existing methods still rely heavily on external supervision, including ground-truth signals, environmental feedback, or guidance from larger models, and therefore fall short of genuine "self"-distillation. In this study, we show that on-policy self-distillation can be achieved using only a model's own generations via internal consistency. We propose unsupervised on-policy self-distillation (U-OPSD). U-OPSD first samples multiple rollouts and constructs a pseudo solution by majority vote under a self-consistency threshold. It then conditions the model's distribution on the pseudo-solution and distills itself on the disagreeing completions, allowing the model to correct itself precisely where it is confidently wrong. Across diverse benchmarks, base models, and training settings, U-OPSD consistently improves over the base models and matches or surpasses supervised methods with ground truth (GT) such as OPSD and GRPO. On five mathematical reasoning benchmarks, i.e., AIME24, AIME25, HMMT25, MATH500, and AMC23, U-OPSD improves over the base model by 8.5% and 10.7% on Qwen3 non-thinking mode at 4B and 8B scales, and outperforms OPSD by 3.2% and 2.3% on average, respectively. In thinking mode, U-OPSD stays on par with OPSD, ahead by 0.9% at 4B and level at 8B and surpassing GRPO by 0.7% and 1.1%, respectively. Code is available at [https://github.com/williamium3000/u-opsd](https://github.com/williamium3000/u-opsd).


A study room where someone took the answer key away

Picture two students in a study room who happen to be the same person. One of them — the teacher — has the worked solution in hand and solves the problem while looking at it. The other — the student — sees only the problem statement. Now force the student to copy, token by token, what the teacher believes the next move should be. That is on-policy self-distillation (OPSD). Teacher and student share weights, which is why it is called "self" distillation. But what makes the teacher smarter is the worked solution, and that came from outside.

The paper pushes on exactly that point: does the teacher in on-policy self-distillation actually need a ground-truth solution, or can a model build its own privileged context and perform genuine self-distillation (§1)? The answer is u-OPSD. In place of the gold solution it drops in the majority vote over eight of the model's own attempts at the same problem. All it consumes is the problem statement — no gold labels, no environmental feedback, no larger teacher model.

The map: what each recipe was borrowing from outside

Method Training signal Required from outside
GRPO A scalar: correct/incorrect, normalized within the sampled group. Every token of a rollout shares one value Gold answer a⋆a^\star
OPD (on-policy distillation) A teacher model's next-token distribution, dense at the states the student actually visits A stronger teacher model
OPSD (on-policy self-distillation) The same model's next-token distribution while it can see the gold solution y⋆y^\star Gold solution y⋆y^\star
u-OPSD (this paper) The same model's next-token distribution while it can see its own majority-vote answer Nothing (problem statements only)

GRPO's weakness is that its signal is sparse: a rollout thousands of tokens long receives one bit of information. OPD and OPSD made it dense, telling the model at every single token what the distribution should have been. But as the paper points out, OPSD is self-distillation only in the sense that the parameters are shared — the information that makes the teacher capable still arrives from outside (§1). That is what capped these methods at labeled problems.

The core idea: one sample is unreliable, agreement among eight is a signal

The observation is simple: "although an individual rollout may be unreliable, agreement among multiple independently sampled rollouts provides an endogenous confidence signal" (§1). Wrong answers scatter. A correct chain of reasoning tends to converge on one value, while mistakes land wherever the model happened to slip, so if six of eight rollouts land on the same answer, that answer is worth more than any single one of them.

There is a second payoff. The rollouts that fall outside the majority are, by construction, a list of the places worth fixing. Distillation is applied only there. In the paper's words, this lets the model "correct itself precisely where it is confidently wrong" (Abstract).

FIG 1What u-OPSD compares is exactly this bar chart — the next-token distribution over the vocabulary. Raise the temperature and it flattens, the eight rollouts scatter, and the vote splits. Training-time sampling in the paper runs at temperature 1.1 (§4.1)

Three steps: sample, vote, distill

Algorithm 1 lays out the per-prompt procedure in three stages (§3.2).

(1) Sample. For each problem xx, draw GG rollouts at the training temperature from πˉ\bar\pi, a stop-gradient copy of the current policy. Pull the final answer a(g)a^{(g)} out of \boxed{...} with normalization and canonicalization. Anything unparsable — usually a truncation — is marked invalid.

(2) Vote. The plurality among the valid answers becomes the pseudo-answer a~(x)\tilde a(x), with ties broken uniformly at random. That splits the rollouts into an agreeing set Yx+\mathcal{Y}^+_x and a disagreeing set Yx−\mathcal{Y}^-_x. Invalid rollouts join neither, because a generation that was cut off is evidence of neither a correct nor an incorrect belief. Confidence in the vote is measured by the self-consistency score:

c(x)=1G∑g=1G1 ⁣[a(g)=a~(x)]c(x)=\frac{1}{G}\sum_{g=1}^{G}\mathbb{1}\!\left[a^{(g)}=\tilde a(x)\right]
(1)

c(x)c(x) is the self-consistency score, GG the number of rollouts, a(g)a^{(g)} the answer the gg-th rollout ended up with, a~(x)\tilde a(x) the answer that won the vote, and 1[⋅]\mathbb{1}[\cdot] a counter that returns 1 when the condition inside holds and 0 otherwise. Put in words, it says: count how many of the eight attempts came back with the same answer as the winner, then divide by eight. Equation (1) is a show of hands written as a fraction, and nothing more. One detail matters more than it looks: the denominator is GG, the total drawn, not the number of valid ones. A prompt that truncates often loses confidence for that reason alone and gets filtered out automatically (§3.2).

(3) Distill. Only prompts whose c(x)c(x) reaches the threshold τ\tau are used. One agreeing rollout y+y^+ is promoted to stand in for the gold solution y⋆y^\star, and a subset Bx−⊆Yx−\mathcal{B}^-_x \subseteq \mathcal{Y}^-_x of the disagreeing rollouts becomes the distillation target.

Lu-OPSD(θ)=Ex∼U E{y(g)}∼πˉ(⋅∣x)[1 ⁣[Yx−≠∅]1∣Yx−∣∑y−∈Yx−1∣y−∣∑n=1∣y−∣Dβ ⁣(πˉ(⋅∣x,y+,y<n−) ∥ πθ(⋅∣x,y<n−))]\mathcal{L}_{\text{u-OPSD}}(\theta)=\mathbb{E}_{x\sim\mathcal{U}}\ \mathbb{E}_{\{y^{(g)}\}\sim\bar\pi(\cdot\mid x)}\left[\mathbb{1}\!\left[\mathcal{Y}^-_x\neq\emptyset\right]\frac{1}{|\mathcal{Y}^-_x|}\sum_{y^-\in\mathcal{Y}^-_x}\frac{1}{|y^-|}\sum_{n=1}^{|y^-|} D_\beta\!\Big(\bar\pi(\cdot\mid x, y^+, y^-_{<n})\ \big\|\ \pi_\theta(\cdot\mid x, y^-_{<n})\Big)\right]
(2)

It is long, but it reads as one sentence: take the rollouts that fell outside the majority one at a time, show both sides the first nn tokens of one — but let the teacher πˉ\bar\pi also see the majority answer y+y^+ — then pull the two next-token distributions together under a divergence DβD_\beta, averaged over every token and every disagreeing rollout. U\mathcal{U} is the pool of unlabeled problems, y<n−y^-_{<n} is a prefix of a disagreeing rollout, ∣y−∣|y^-| is that rollout's length in tokens, θ\theta are the trained parameters, and πˉ\bar\pi is the same network with gradients detached. Strip the notation away and what is left is a single instruction, one which says: at every step the model took down a wrong path, compare what it thought at that moment with what it would have thought had it known the group's answer — and close the gap. The two expectations stacked at the front mean only "average this over all the problems, and over the rollouts you drew for each one," and the two fractions in the middle mean only "count each disagreeing rollout once, and each of its tokens once," so that a long answer does not outweigh a short one. Two kinds of prompt are skipped: those where c(x)<τc(x) < \tau, so the vote cannot be trusted, and those where Yx−\mathcal{Y}^-_x is empty, so there is nothing to correct.

As pseudocode, the whole per-prompt procedure is this short:

ys = [sample(pi_frozen, x) for _ in range(G)]      # (1) draw G rollouts
ans = [extract_boxed(y) for y in ys]               #     None means invalid
a_hat = plurality([a for a in ans if a is not None])
c = sum(a == a_hat for a in ans) / G               # (2) denominator is G, not len(valid)
if c < tau: return                                 #     vote not trusted
pos = [y for y, a in zip(ys, ans) if a == a_hat]
neg = [y for y, a in zip(ys, ans) if a not in (a_hat, None)]
if not neg: return                                 #     nothing to correct
y_plus = max(pos, key=len)                         # (3) the teacher's reference
loss = mean(fwd_kl(teacher(x, y_plus, y[:n]), student(x, y[:n]))
            for y in neg for n in range(len(y)))

This is also where u-OPSD separates itself from ordinary majority-vote self-training. The paper is explicit: it "does not simply imitate the selected response under teacher-forced prefixes. Instead, it transfers the solution-conditioned next-token distribution along the model's own disagreeing trajectories" (§3.2). Rather than copying out the winning answer, the model copies what a version of itself that already knows that answer would think while walking down the wrong path.

A teacher shown only the final answer is worse than the base model

The ablation that best exposes the design philosophy belongs here rather than later (§4.3, Figure 5). When the teacher's reference is stripped down to just the \boxed{} pseudo-label, performance drops by 10.3% to 15.8%, and all three label-only settings land below the base model's 43.57. The paper's conclusion: effective distillation requires the teacher to condition on the longer, full reasoning trace rather than only the final answer. What gets transferred is not the answer but the shape of thinking of someone who knows how the answer was reached.

Which rollout you pick matters much less. Choosing the longest, the shortest, or a random one puts seven of the nine full-reference settings within 2.1% of the best, and the best configuration — teacher on the longest agreeing rollout, distilling the longest disagreeing one — scores 59.00.

What the experiments actually measured

Qwen3-4B and 8B in both non-thinking and thinking modes, plus Qwen3-4B-Instruct-2507 and Qwen3-30B-A3B-Instruct-2507. The same checkpoint serves as both student and teacher. Training data is a 30k subset of OpenThoughts, and u-OPSD uses only the problem statements, never the solution field. The baselines are trained on identical prompts: three supervised ones that do use gold data (SFT, GRPO, OPSD) and three label-free self-rewarding RL methods (TTRL, RENT, Intuitor). Evaluation covers AIME24, AIME25 and HMMT25 at avg@12 and MATH500 and AMC23 at avg@4, decoded with vLLM at temperature 1.0 with a 38k generation cap (§4.1).

The training recipe largely follows OPSD: forward KL (β=0\beta=0) over the full vocabulary with per-token pointwise clipping, a teacher frozen at the initial policy, LoRA of rank 64 (α=128\alpha=128), learning rate 5×10−65\times10^{-6}, sampling at temperature 1.1 with top-pp 0.95 and top-kk 20, and 150 steps with a checkpoint every 25. Only three settings are specific to u-OPSD: G=8G=8, τ=0.5\tau=0.5, and raising the maximum completion length from 1,024 to 4,096 tokens.

Results: the label-free method beats the labeled ones

Non-thinking mode (Table 1) is where the gap is widest. On the five-benchmark average, Qwen3-4B goes from a base of 40.96 to 49.49 with u-OPSD, above SFT (42.73), GRPO (45.86) and OPSD (46.29); Qwen3-8B goes from 43.57 to 54.31, above OPSD's 52.04. The paper describes this as "8.5% and 10.7%" over the base and "3.2% and 2.3%" over OPSD (§4.2); as the raw table numbers show, these are differences in average accuracy — percentage points.

By contrast, the label-free RL baselines running on the same rollout budget gain at most 1.5% over the base models. The paper's reading is that consensus works better "as privileged teacher context for token-level distillation, rather than reducing them to scalar rewards" (§4.2). Same majority vote, different outcome depending on whether you compress it into one bit or hand it over as a distribution across the whole vocabulary.

Thinking mode (Table 2) narrows the gap: 74.85 → 77.05 at 4B and 76.09 → 77.99 at 8B, essentially tied with OPSD (76.20 / 77.97) and ahead of GRPO. The explanation offered is that consensus-based self-distillation works best when the base model is reliable enough to produce informative consensus while still leaving substantial headroom, and stronger thinking-mode models leave less. On the instruction-tuned models (Table 3), Qwen3-30B-A3B goes from 75.77 to 77.46 and Qwen3-4B-Instruct from 67.00 to 68.78 — the former offered as evidence that the same recipe transfers to a substantially larger mixture-of-experts model without model-specific tuning.

Which knobs actually matter

Including the places where the paper says outright that its own defaults are not optimal (all from §4.3, Qwen3-8B non-thinking):

FIG 2Push the learning rate up and the ball clears the valley and never comes back — the feel of an optimization that breaks. The paper's reverse-KL run broke in the same one-way fashion (§4.3). What you are moving here is the learning rate, not the paper's actual cause of divergence

The reverse-KL failure is documented concretely enough to be worth reading. Average generation length runs 2.7k characters at step 25, 12k at step 50, 76k at step 75, and 99k — the ceiling — from step 125 onward, while the fraction of rollouts with a parsable boxed answer falls from 99% to 33%. Inspecting the completions shows a loss of termination rather than of coherent reasoning: a phrase, a LaTeX command pair, or a nesting bracket repeated until the budget runs out.

How good are the pseudo-labels?

Measured on 64 training prompts under the full training configuration (G=8G{=}8, a 4,096-token budget, τ=0.5\tau{=}0.5), 96.3% of rollouts yield a parsable boxed answer, 94.0% of prompts clear the self-consistency threshold and receive a pseudo-label, and 86.7% of those pseudo-labels match the gold answer from the data source (§4.3). Fewer than 10% of valid rollouts disagree with their prompt's vote, so the distillation set is small and concentrated. That means 13.3% of the supervision is simply wrong — and in non-thinking mode the method still beats OPSD trained on real gold solutions. That contrast is the most interesting thing in the paper.

What the paper does not establish

§5 is candid about the limits. Reported without embellishment:

One reading of my own to add: the headline numbers are the best score across checkpoints evaluated every 25 steps, applied identically to u-OPSD and OPSD (§4.1). That is symmetric as a comparison, but in production you have to pick a checkpoint without a benchmark to select on, and the paper does not address that.

How this shows up in practice

Who, and when. A post-training engineer who has plenty of in-domain problem statements but no worked solutions and no verifier, and who cannot use a stronger model as a teacher for licensing reasons. All u-OPSD needs is problem statements plus an output format whose answer can be extracted mechanically. If gold solutions are plentiful, just run OPSD; this method earns its keep when labels are expensive, unreliable, or unavailable (§1).

Two numbers to measure before you commit. First, the base model's in-domain accuracy; second, its self-consistency rate when you draw eight rollouts per problem. The pattern in the paper — large gains in non-thinking mode, small ones in thinking mode — depends on sitting in the band where the model is smart enough to vote well and still fallible enough to have headroom. At either extreme (too weak and the vote is noise, too strong and there is nothing left to gain) the compute is not worth it.

Knobs to reach for first. (1) max_completion_length from 1,024 to 4,096 — a rollout that never reaches \boxed{} is invalid, and since c(x)c(x) divides by GG, that silently drags confidence down; tuning τ\tau before fixing this is backwards. (2) τ\tau at 0.3 rather than the default 0.5. (3) GG at 12 when generation is not the bottleneck — sampling cost is linear in GG and dominates the bill. (4) top-kk at 100 instead of the full vocabulary. (5) an EMA teacher at decay 0.995 instead of a frozen one.

Failure modes worth knowing about.

The question a design review will ask. "With no gold labels, why does this beat TTRL-style methods that turn the same majority vote into a reward?" The answer is what happens to the information: collapsed into a single scalar versus distributed across every token as a distribution over the vocabulary. In the paper's numbers, the former gains at most 1.5% over the base model and the latter gains 8.5–10.7% (§4.2).

Further reading

References

  1. Yijiang Li, Bingyang Wang, Yijun Liang, Yunjie Tian et al.. (2026-08-06) On-Policy Self-Distillation without Any Supervision. arXiv:2608.06296Paper page·PDF

This article is written from the source paper above. Where they differ, the original is authoritative.

Published by TechAthletes · Editorial policy · How we cite · Corrections

Comments

Sign in to comment