POST-TRAINING & DISTILLATION

MODULE 4: PREFERENCE & ALIGNMENT · SCENE 12

DPO and Its Heirs: KTO, IPO, SimPO

Eliminating the reward model, the implicit-reward insight, and the variant family that followed.

CHOSEN LOG-RATIOREJECTEDβL = 0.474 · IMPLICIT MARGIN 0.50
y_wy_lLoss pushes the chosen response's implicit reward up, the rejected one down.

No reward model: the policy's log-ratio vs the reference IS the reward. IPO adds a margin target; KTO uses win/loss labels; SimPO drops the reference and length-normalizes.

ARCHITECTURE & FORMULATIONModule 4: Preference & Alignment

DPO: alignment without the reward model

DPO's insight is algebraic: the closed-form solution of the KL-constrained reward maximization lets you rewrite the reward in terms of the policy itself. Substitute that into Bradley-Terry and the reward model disappears — you optimize the policy directly on preference pairs.

Implicit Reward

r(x, y) = β·log(π(y|x)/π_ref(y|x)) + constant. The policy's log-ratio against the reference IS the reward.

Simpler Pipeline

Two models in memory (policy + reference), one supervised loss, no rollouts. DPO is to PPO what a sedan is to a crane.

The Heirs

IPO adds a margin target to fight overfitting; KTO drops pairs for win/loss labels; SimPO drops the reference model and length-normalizes instead.

MATHEMATICAL FORMULATION · DPO LOSS
L_DPO = −log σ( β·[ (log π(y_w) − log π_ref(y_w)) − (log π(y_l) − log π_ref(y_l)) ] )

With β=0.1, pushing the chosen response's implicit reward 5 nats above the rejected one gives σ(0.5) ≈ 0.62 → loss 0.48; separation must reach 20+ nats before the loss approaches zero.

REAL-WORLD PRODUCTION ENGINEERING
  • DPO's biggest practical win is operational: one stage, offline data, standard SFT infrastructure.
  • Known failure mode: unbounded log-ratios push chosen and rejected likelihoods both DOWN — monitor absolute log-probs, not just the margin. SimPO/IPO exist partly for this.
Agent-native web · research mode

Experimental WebMCP · evolving community-group draft, not a W3C Standard or on the Standards Track.

Native status: Initializing. Registered: none

DOM → inferred capabilities · WebMCP → declared capabilities. Tools read real CUDA/Inference Atlas content. Calls may highlight temporary UI state. No backend or remote telemetry.

Local harness verifies application logic; it does not demonstrate native discovery or a browser agent.

Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Local log: last 100 calls while this panel is open. Inputs may contain personal text; review before sharing.

[]