Beyond supervised fine-tuning
SFT teaches the model what to say. Alignment teaches it to prefer better responses over worse ones. Use alignment when your data is preference pairs (preferred / rejected) rather than instruction → response.
DPO (Direct Preference Optimization)
Train with pairs of (preferred, rejected) responses. Simpler than RLHF — no separate reward model needed. Requires a reference model (frozen base) for the KL constraint.
ORPO (Odds Ratio Preference Optimization)
Combines SFT and alignment into a single training step — no reference model. Faster and more memory-efficient than DPO. In TRL v1.0, available under trl.experimental.orpo.
SimPO (Simple Preference Optimization)
Uses average log probability as the implicit reward (no reference model). Reported to outperform DPO by ~6.4 points on AlpacaEval 2 with 20% less compute. Available via CPOTrainer with loss_type="simpo".
Method comparison
| Method | Data format | Reference model? | Best for |
|---|---|---|---|
| SFT | instruction → response | No | Teaching specific behaviors |
| DPO | preferred / rejected pairs | Yes | Improving response quality |
| ORPO | preferred / rejected pairs | No | Single-stage alignment |
| SimPO | preferred / rejected pairs | No | Best quality, efficient |