Notes · Overview

Post-training algorithms

Every method used to turn a base model into a deployed one, in eight families, each as a card: the objective in a line, what it fixes in its predecessor, and which of the ten reports ships it. The RLHF Book is the source for the classical entries; everything from 2025 on links its paper. Each card links to a full reference entry below — the loss in real notation, what changed versus the predecessor, why it works, the numbers, pitfalls.

Fig 1 · Family map

how on-policy the data is → offline datasomeone else's, or fixed own samples, filteredrejection / verifier own samples, rewardedonline RL own samples vs a teacheron-policy distillation demonstrations SFT off-policy distillation RFT · STaR · ReST-EM GKD · OPD · MOPD cross-stage OPD PivotRL preferences DPO · IPO · KTO · ORPO SimPO · APO · RPO · QRPO Delta learning online DPO · online RPO RLHF (PPO + RM) BOND / WARP verifiable or scalar reward expert iteration REINFORCE · RLOO REINFORCE++ · GRPO Dr. GRPO · DAPO · GSPO GMPO · SAPO · CISPO PPO · VAPO corrections for the online columns TIS / MIS · IcePop · double-sided IS VCPO · partial rollouts · routing replay signal type ↑
Two axes explain most of the taxonomy. Down: what the signal is — a demonstration, a preference, or a reward you can compute. Across: how on-policy the data is — a fixed dataset, your own samples filtered by a verifier, your own samples scored online, or your own samples scored against a teacher's distribution. The amber column is where 2025 happened (the GRPO family); the teal column is where 2026 is happening (on-policy distillation replacing mixed RL). The grey strip is the layer nobody had to think about until the sampler and the learner became different programs.

If you only read ten: GRPO · Dr. GRPO · DAPO · GSPO · CISPO · VAPO · Truncated / masked importance sampling · IcePop · On-policy distillation (OPD) · DPO · QRPO (quantile reward)

AImitation and distillation

Learn from demonstrations — someone else's, your own filtered ones, or a teacher's token distributions.

SFT

— · book

Maximize log-likelihood of curated prompt–response pairs; token-level cross-entropy.

RLHF Book · Nemotron details
\[\mathcal{L}_{\text{SFT}}(\theta)= -\sum_{t}\log \pi_\theta\!\left(y_t \mid x, y_{<t}\right)\]
What changed
The starting point; every later objective is a modification of what this does to the logits.
Why it works
Maximum likelihood on curated pairs teaches format immediately and skill slowly: Phi-4 saw the think-tag format appear within a few hundred steps while accuracy kept climbing for 16k steps. What the loss is averaged over matters as much as the data.
Numbers & settings
  • Normalization: token-level global average weights long outputs heavily; per-conversation average weights every conversation equally. Nemotron 3 Super runs both, in that order, because token-level alone broke long-input / short-output tasks.
  • OLMo 3: two epochs, learning-rate sweep, then a linear soup of the two best checkpoints.
  • Phi-4-reasoning: lr 1e-5, batch 32, 32k context, ~16k steps, 8.3B unique tokens seen 2+ times.
  • Llama-Nemotron: 33M samples; small models needed higher lr (1e-4) and several epochs because length-dependent averaging shrinks the per-token gradient on long traces.
Pitfalls
  • Response length drifts with the normalization choice, not the data.
  • Forgetting of base-model capabilities when the mixture is narrow; Phi-4 saw none on general benchmarks with a broad mix.
  • Exposure bias: the model never sees its own mistakes as context — the motivation for every on-policy method below.
Where it ships
Nemotron
Sources
RLHF Book

Rejection-sampling FT / STaR / ReST-EM

2022–23 · Zelikman; Google

Sample K responses, keep those a verifier accepts, SFT on them; iterate.

\[\mathcal{D}_{k+1}=\{(x,y)\;:\; y\sim\pi_k(\cdot\mid x),\; V(x,y)=1\},\qquad \pi_{k+1}=\arg\max_\pi \sum_{(x,y)\in\mathcal{D}_{k+1}}\log \pi(y\mid x)\]
What changed
SFT where the demonstrations are your own accepted samples. ReST-EM shows this is expectation–maximization: sampling-and-filtering is the E-step, fine-tuning the M-step.
Why it works
No gradient passes through the reward, so it is stable and cheap; the model sees its own successful trajectories, which halves the exposure-bias problem. STaR adds rationalization: on failures, show the answer as a hint and keep the rationale that reaches it.
Numbers & settings
  • ReST-EM (PaLM 2): a few iterations on MATH and APPS beat SFT on human data; gains saturate after ~3 rounds and overfit after.
  • Llama-Nemotron: multiple solutions per problem filtered by answer match, majority vote as the label when none is extractable.
  • GLM-5: rejection-sampled logical-reasoning data, and a rejection-sampling round after slide-generation RL to fold RL gains back into SFT data.
Pitfalls
  • Nothing pushes toward hard prompts; the accepted set skews easy unless you filter for difficulty.
  • Diversity collapses across iterations without temperature or dedup control.
  • Majority-vote labels drift on hard items — the R-Zero failure in slow motion.
Where it ships
Llama-Nemotron GLM-5
Sources
arXiv · alphaXiv · RLHF Book

Off-policy distillation

2015→ · Hinton; Phi-4; Llama-Nemotron

SFT on a stronger teacher's traces.

\[\mathcal{L}=\;-\sum_t \log \pi_\theta(y^{T}_t\mid x, y^{T}_{<t}),\quad y^{T}\sim \pi_{T}(\cdot\mid x)\qquad\text{or}\qquad \sum_t \mathrm{KL}\!\left(\pi_T(\cdot\mid x,y_{<t})\,\|\,\pi_\theta(\cdot\mid x,y_{<t})\right)\]
What changed
SFT on a stronger model's outputs (sequence level) or forward KL on its logits (token level). The data distribution is the teacher's, not the student's.
Why it works
The dominant 2025 recipe because it is one forward pass per example and needs no verifier. The student inherits the teacher's behaviour — including its ceiling and its mistakes — so prompt selection ends up being the main lever.
Numbers & settings
  • Phi-4-reasoning: 1.4M prompts, o3-mini traces; o3-mini medium matched DeepSeek-R1 as a teacher at fewer tokens.
  • Llama-Nemotron: DeepSeek-R1 traces (16 per math problem); SFT approached R1 but could not exceed it — the report's stated reason for adding RL on Ultra.
  • Nemotron 3 Super distills from a committee (DeepSeek v3.2, Kimi K2, Qwen3-Coder-480B, GPT-OSS-120B, MiniMax M2.5) per domain.
Pitfalls
  • Ceiling = teacher (Llama-Nemotron shows it explicitly).
  • Train/inference mismatch: the student is trained on prefixes it would never produce.
  • Proprietary teachers make the recipe non-reproducible (Phi-4, Gemma).
Sources
arXiv · alphaXiv · RLHF Book

GKD (generalized knowledge distillation)

2023 · Google DeepMind

Distill on student-generated sequences, per-token, with reverse KL or JSD instead of forward KL on teacher data.

arXiv · alphaXiv details
\[\mathcal{L}_{\text{GKD}}=(1-\lambda)\,\mathbb{E}_{y\sim\mathcal{D}}\!\left[\mathcal{D}(\pi_T\|\pi_\theta)(y)\right]+\lambda\,\mathbb{E}_{y\sim\pi_\theta}\!\left[\mathcal{D}(\pi_T\|\pi_\theta)(y)\right],\quad \mathcal{D}\in\{\text{fwd KL},\ \text{rev KL},\ \text{JSD}_\beta\}\]
What changed
Two dials on distillation: what fraction of training sequences are sampled from the student \((\lambda )\), and which divergence is used per token.
Why it works
Sampling from the student fixes exposure bias; reverse KL is mode-seeking, so a small student stops smearing mass over teacher modes it cannot represent. The combination is what every 2025–26 ‘on-policy distillation’ reuses.
Numbers & settings
  • T5 students on summarization, translation, arithmetic: on-policy \((\lambda =1)\) with reverse KL or JSD beat SFT-style distillation consistently.
  • Requires a teacher forward pass on every student sample — the cost that later systems engineer around.
Pitfalls
  • Reverse KL can under-cover when the student is far from the teacher early on; JSD interpolates.
  • Teacher quality on the student's off-distribution prefixes is the hidden assumption.
Where it ships
— (not in the ten reports)
Sources
arXiv · alphaXiv · RLHF Book

On-policy distillation (OPD)

2025 · Qwen3; Thinking Machines

Student samples; reward per token = \(\operatorname{sg}[\log \pi _{T}(y_{t}) - \log \pi _{\theta}(y_{t})]\); optimize with the RL machinery.

\[\hat{A}_t=\operatorname{sg}\!\left[\log \pi_T(y_t\mid x,y_{<t})-\log \pi_\theta(y_t\mid x,y_{<t})\right],\qquad y\sim\pi_\theta,\quad \nabla\mathcal{J}=\mathbb{E}\!\left[\sum_t \hat{A}_t\,\nabla\log\pi_\theta(y_t\mid\cdot)\right]\]
What changed
GKD's reverse-KL term rewritten as a per-token advantage so the existing RL trainer can run it: sample from the student, score each token by the teacher's log-ratio.
Why it works
Dense reward at every token instead of one scalar at the end; the teacher supplies credit assignment. Thinking Machines report reasoning parity with RL at roughly a tenth of the GPU hours, and that it repairs capabilities lost during a domain fine-tune.
Numbers & settings
  • Qwen3: small models get an off-policy distillation phase (mode-switching from the teacher's /think and /no_think outputs), then on-policy distillation.
  • Thinking Machines: Qwen3-8B-Base student, Qwen3-32B teacher; ~150 steps of OPD recovered AIME'24 to the level a long RL run reached.
  • Kimi K3 clips the per-token log-ratio to \(\pm R_{\text{max}}\) for stability; top-k distillation objectives gave no advantage.
Pitfalls
  • The per-token estimate of the KL is high-variance (DeepSeek V4's stated reason for full-vocabulary OPD).
  • Teacher must be reasonable on the student's prefixes; a teacher that never sees such states gives noisy advantages.
  • Ceiling is the teacher's knowledge, though the student can be more sample-efficient at using it.
Where it ships
Qwen Kimi K3

Multi-teacher / full-vocabulary OPD

2026 · Kimi K3; DeepSeek V4

\(\sum _{i} w_{i} \cdot \mathrm{KL}(\pi _{\theta} \| \pi _{E_i})\) on student samples, one teacher per domain (and per effort level).

\[\mathcal{L}_{\text{OPD}}(\theta)=\sum_{i=1}^{N} w_i\;\mathbb{E}_{y\sim\pi_\theta}\Big[\mathrm{KL}\big(\pi_\theta(\cdot\mid x,y_{<t})\,\|\,\pi_{E_i}(\cdot\mid x,y_{<t})\big)\Big]\quad\text{(full vocabulary, every position)}\]
What changed
Train one specialist per domain (and per reasoning effort) with SFT + GRPO, then merge them into one student by reverse-KL OPD. DeepSeek V4 computes the KL over all |V| logits rather than the sampled-token estimate.
Why it works
Reverse KL is mode-seeking per prompt: on a math prompt the student's samples are scored mainly by the math expert, so it learns whichever expert is relevant without weight merging or a mixed RL run that pits objectives against each other.
Numbers & settings
  • DeepSeek V4: more than ten teachers; the mixed RL stage of V3.2 was deleted entirely in favour of this.
  • Kimi K3: nine experts (3 domains × 3 effort levels) merged by MOPD with clipped per-token rewards.
  • Infra cost: teacher weights offloaded and loaded on demand, last-layer hidden states cached, logits reconstructed through the head, samples ordered by teacher, exact KL in a TileLang kernel.
Pitfalls
  • Choosing \(w_{i}\) and which teacher scores which prompt is a routing problem in disguise.
  • Materializing |V|>100k logits per teacher per token is the engineering bottleneck.
  • A student cannot exceed the union of its teachers.
Where it ships
DeepSeek V4 Kimi K3
Sources
arXiv · alphaXiv · RLHF Book

Cross-stage OPD

2026 · GLM-5

Same objective, but the teachers are the model's own final checkpoints from earlier stages (SFT, reasoning RL, general RL).

arXiv · alphaXiv · GLM-5 details
\[\hat{A}_{i,t}=\operatorname{sg}\!\left[\log\frac{\pi^{\text{infer}}_{\theta_{\text{teacher}}}(y_{i,t}\mid x,y_{i,<t})}{\pi^{\text{train}}_{\theta}(y_{i,t}\mid x,y_{i,<t})}\right],\qquad G=1,\;\text{batch}=1024\]
What changed
Same estimator as OPD; the teachers are the model's own final checkpoints from SFT, reasoning RL and general RL, prompted on their own stages' data.
Why it works
Sequential RL stages erode each other's gains; distilling from the earlier checkpoints restores them cheaply at the end. With a teacher gap as the advantage there is no need for a group, so throughput goes up.
Numbers & settings
  • GLM-5: final stage of the pipeline; prompts mixed from the teachers' RL sets; teacher logits fetched from the inference engine.
  • Planned migration to computing teacher logits in the training engine (MQA mode of MLA) to remove one more mismatch.
Pitfalls
  • It is a regularizer toward past selves, not a source of new capability.
  • Inference-engine teacher logprobs bring the train/infer mismatch back in through the advantage.
Where it ships
GLM-5
Sources
arXiv · alphaXiv · RLHF Book

Delta learning

2025 · Ai2 (Geng et al.)

Preference-tune on pairs whose *difference* is informative even when both sides are weak: chosen from a stronger model, rejected from a much weaker one.

arXiv · alphaXiv · OLMo 3 details
\[\mathcal{L}_{\text{DPO}}\big(x,\;y_c\sim\pi_{\text{strong}},\;y_r\sim\pi_{\text{weak}}\big)\qquad\text{quality}(y_c)\;\text{may be low; only}\;\;\Delta=q(y_c)-q(y_r)\;\;\text{needs to be large}\]
What changed
Ordinary DPO on pairs whose two sides come from models of different strength. The hypothesis: the useful signal is the delta, so weak absolute data still teaches.
Why it works
Preference tuning moves the policy along the direction chosen−rejected; that direction is informative even when both samples are worse than the policy. SFT on the same chosen samples would drag the policy down toward them.
Numbers & settings
  • Ai2: Tülu-3-8B-SFT improved with pairs from a 3B model vs a 1.5B model, while SFT on the 3B outputs hurt.
  • OLMo 3 Think: chosen = Qwen3-32B thinking, rejected = Qwen3-0.6B thinking, 200k pairs, one epoch; further SFT on the same Qwen3-32B traces had hurt.
Pitfalls
  • Needs a genuine capability gap between the two sources; a length gap will be learned instead (OLMo caps chosen−rejected length at 100 tokens in the Instruct variant).
  • Rejected responses are left unfiltered on purpose — a wrong rejected sample is still a useful contrast.
Where it ships
OLMo 3
Sources
arXiv · alphaXiv · RLHF Book

PivotRL

2026 · NVIDIA

Turn-level RL over offline SFT expert trajectories: update only at ‘pivot’ turns where the policy is uncertain, reward similarity to the expert action.

\[r_t=\operatorname{sim}\!\big(a_t^{\pi},\;a_t^{\text{expert}}\big)\quad\text{only at pivot turns } t\in\mathcal{P}=\{t:\ H[\pi(\cdot\mid s_t)]\ \text{high}\}\]
What changed
Turn-level RL that reuses offline SFT expert trajectories: run the policy at the turns where it is uncertain, reward similarity to the expert's action, skip the rest.
Why it works
Between SFT (cheap, degrades out of domain) and end-to-end RL (robust, one live rollout per update) — credit for similar actions rather than exact imitation, on the turns that matter.
Numbers & settings
  • Nemotron 3 Super: applied to agentic programming, search, terminal use, conversational tool use; reported as a large efficiency gain without SFT's OOD degradation.
  • No paper yet (Yi et al., 2026 announced).
Pitfalls
  • A similarity reward is a learned or heuristic signal over actions — gameable, and domain-specific by construction.
  • Pivot detection depends on the policy's entropy estimate being calibrated.
Where it ships
Nemotron

Sources

The RLHF Book — Nathan Lambert; updated Aug 2026. Chapters on policy gradients, direct alignment, rejection sampling, on-policy distillation, regularization · baseline for every classical entry
LLM report diff — where each algorithm is used in practice, stage by stage
Per-algorithm papers are linked on each card; the 2025–26 additions not in the book: Dr. GRPO, DAPO, GSPO, GMPO, SAPO, CISPO, VAPO, IcePop, VCPO, QRPO, Delta learning, multi-teacher / full-vocabulary / cross-stage OPD, actor-as-judge, PivotRL.