Zenaique
Part ofAI Product Manager·Week 3: Strategy & EvaluationView roadmap →

PPO vs DPO, what's the practical difference?

Flashcard·Medium·4.6 · 89·~30s·Asked atKpmgSambanovaSharechat·Relevant atDeepseekTogether Ai
Attempt it
TL;DR

PPO runs an RL loop against a trained reward model with a KL leash; DPO collapses that into one supervised loss over preference pairs, no reward model, no RL.

Memory aid
Sign in to see the mnemonic that makes this stick.
Easy to grasp

Imagine teaching a chef to cook the way customers like. The PPO way: hire a food critic (a reward model), train them up, then put the chef in a kitchen where the critic scores every dish and the chef adjusts, dish after dish, in a feedback loop. It's powerful but expensive: you need the critic, the kitchen, and lots of iterations. The DPO way: skip the critic entirely. Show the chef pairs of dishes, here's a winner, here's a loser, and use a single math trick that nudges the chef toward winners and away from losers without any feedback loop. Both end up with a chef who pleases customers. DPO is cheaper and simpler; PPO can sometimes get a slightly better chef if you're patient.

Concept explanation~2 min read

Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.

PPO and DPO are the two dominant ways to align an LLM with human preferences after supervised fine-tuning. PPO is the original recipe from the InstructGPT paper that powered the first generation of ChatGPT. DPO is the 2023 reformulation that turned the same problem into a supervised loss and now dominates the production landscape.

The interview question 'PPO vs DPO' has a deceptively simple short answer (one needs a reward model, the other doesn't) and a much richer long answer (why DPO works at all, when PPO still beats it, what the DPO family extensions fix).

This deep dive walks through the shared objective both methods optimize, the operational and mathematical differences, the regimes where each wins, and the 2026 production picture.

The shared objective

Both methods optimize the same fundamental objective: maximize expected reward from a learned preference model, subject to a KL constraint that keeps the policy close to an SFT reference. The constraint matters; without it, the policy will reward-hack into degenerate outputs that score high but are unusable.

Formally, the objective is:

maxπExD,yπ[r(x,y)]βDKL(ππref)\max_\pi \, \mathbb{E}_{x \sim \mathcal{D}, y \sim \pi}[\, r(x, y) \,] - \beta \, D_{KL}(\pi \,\Vert\, \pi_{ref})

where r is the reward (learned from human preference data) and pi_ref is the SFT model. Beta controls the strength of the KL leash, a small beta gives the policy more freedom to chase reward, a large beta keeps it tight to the reference.

The two methods differ in how they solve this. PPO solves it by trial: train a reward model, then use RL to climb the objective. DPO solves it analytically: the optimal policy has a closed form, which can be substituted back into the preference-pair likelihood to produce a single supervised loss.

PPO: the operational path
DPO: the analytical path
When PPO still wins
DPO family extensions and the 2026 picture
Sign in to unlock the full deep dive.

Situations where this technique stops working.

Sign in to see when this approach fails.

2–4 min · Everything important, quickly.

Sign in to see the quick scan of the deep dive.
ConcernPPODPO
Reward model neededYes, trained separatelyNo, derived analytically
Training loopRL with rollouts + advantagesSupervised over preference pairs
Memory footprint3 models (policy, reference, reward)2 models (policy, reference)
Hyperparameter sensitivityHigh (beta, clip, lr, KL target)Moderate (mainly beta)
Wall clock costDays to weeksHours to days
Quality ceilingHigher with tuningComparable in most cases

Real products, models, and research that use this idea.

  • InstructGPT and the original ChatGPT alignment used PPO, the canonical reference architecture for RLHF.
  • Llama 3 and Llama 3.1's instruct variants adopted DPO and rejection sampling for alignment; Meta's Llama 4 stack continues the DPO dominant pattern.
Sign in to see more production examples.

What an interviewer would ask next. Try answering before peeking at the approach.

QHow would you debug a DPO run that's producing degenerate outputs?
A

Check KL from reference, plot beta sweep, inspect preference-pair quality. Degenerate outputs usually mean beta too low (policy ran away) or noisy pair labels.

2 more follow-ups an interviewer would ask next. Sign in to reveal them.

Red flags & common mistakes

The phrases that signal junior thinking. Click to expand.

Most common mistake

Calling DPO 'just SFT on chosen responses'. DPO uses both chosen and rejected; the contrastive loss is the whole point.

Sign in to see all red flags and common mistakes.

60 second bullets to scan on the way to the call.

  • The pieces a PPO stack needs vs what DPO drops

  • The DPO loss form and what beta controls

Sign in to unlock the revision sheet.

Primary sources. Browse if you want the original framing.

Similar questions

Same topic, related formats. Practice these next.

4 curated
Next question
What is RLHF, and why is it used after pretraining?
MCQ·Easy