kefirski.me
ICMLPaper 0120269 min read

The Differences Between Direct Alignment Algorithms are a Blur

We put eight direct alignment algorithms on one training protocol and the brand differences dissolve: whether the objective ranks pairwise or pointwise is what actually moves alignment quality.

One recipe, many logos

DPO started a small industry. Skip the reward model and the reinforcement-learning loop, train the policy directly on preference pairs, and alignment becomes a supervised objective. Dozens of successors followed, each modifying the loss and claiming an edge: IPO, SimPO, NCA, Cal-DPO, APO-Zero, and the one-stage odds-ratio family of ORPO and ASFT. Reading their results side by side is nearly impossible, because each method arrives with its own training protocol, its own hyperparameter conventions, and its own favorite benchmark.

We wanted the comparison the literature kept not making: fix the pipeline, fix the search budget, and ask which design choices actually move alignment quality. Two axes organize every method we tested, and the axis nobody advertises turned out to be the one that matters.

Two axes hide inside every loss

The first axis is the scalar score a method optimizes. The DPO family scores a completion by how far the policy has moved from a frozen reference, rθref=logπθ(yx)πref(yx)r^{\mathrm{ref}}_\theta=\log\frac{\pi_\theta(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)}. ORPO and ASFT instead use the odds of generating the sequence, rθodds=logπθ(yx)1πθ(yx)r^{\mathrm{odds}}_\theta=\log\frac{\pi_\theta(y\mid x)}{1-\pi_\theta(y\mid x)}, with no reference policy at all.

The second axis is how the score enters the loss. Pairwise objectives, DPO, IPO, SimPO, ORPO, optimize the gap between chosen and rejected, in the classic form logσ(βrwβrl)-\log\sigma(\beta r_w-\beta r_l). Pointwise objectives, APO-Zero, NCA, Cal-DPO, ASFT, push each side independently: raise rwr_w, lower rlr_l, no comparison required. Learning-to-rank research treats this split as fundamental; DAA papers rarely mention it.

Where each method actually lives

The design space
Sort the methods by their real coordinates and the branding falls away: a scalar-score column and a ranking-objective row. Our experiments say the row is what you should care about.

Putting every method on the same footing

Two obstacles blocked a clean comparison. ORPO and ASFT are one-stage recipes: they bolt an alignment term onto the SFT loss and train straight from the base model. And they ship without the temperature β\beta that every DPO-family method tunes. Neither trait is essential. The alignment terms already contain the SFT signal, ASFT's is exactly a binary cross-entropy, and LORPOLASFT\mathcal{L}_{\mathrm{ORPO}}\le\mathcal{L}_{\mathrm{ASFT}}, so the explicit SFT term is redundant.

So we unify. Train SFT first, then apply only the alignment term, tempered: logσ(βrθodds(yw,x))logσ(βrθodds(yl,x))-\log\sigma(\beta r^{\mathrm{odds}}_\theta(y_w,x))-\log\sigma(-\beta r^{\mathrm{odds}}_\theta(y_l,x)) for ASFT, and logσ(βrθodds(yw,x)βrθodds(yl,x))-\log\sigma(\beta r^{\mathrm{odds}}_\theta(y_w,x)-\beta r^{\mathrm{odds}}_\theta(y_l,x)) for ORPO. Setting β=1\beta=1 recovers the originals, so nothing is lost, and every method now lives in the same two-stage pipeline and the same hyperparameter space.

From one-stage folklore to one protocol

The unification
The change looks bureaucratic and is anything but: the two-stage shape with a tunable temperature is exactly what lets odds-ratio methods reach their real performance.

An explicit SFT stage is worth ten points

The conversion is not a formality. On Llama 3.1 8B with UltraFeedback, one-stage ORPO trained from the base model reaches 14.8 length-controlled win rate on AlpacaEval 2. The same objective, run as alignment-only on top of an SFT checkpoint, reaches 24.1, right next to DPO's 23.4. Keeping the combined loss but merely starting from SFT is worse than either at 13.4, so the separation itself does the work, not the initialization.

Same objective, three recipes

AlpacaEval 2 LC win rate, %
one-stage, base initone-stage, SFT inittwo-stage, align only
Same objective, three recipes Llama 3.1 8B on UltraFeedback. Splitting SFT from alignment beats the combined loss regardless of initialization; SFT alone sits at 6.7 and two-stage DPO at 23.4 for reference. ORPO: one-stage, base init 14.8; one-stage, SFT init 13.4; two-stage, align only 24.1 ASFT: one-stage, base init 14.5; one-stage, SFT init 11.4; two-stage, align only 16.4 08162432 14.8one-stage, base init: ORPO, 14.813.4one-stage, SFT init: ORPO, 13.424.1two-stage, align only: ORPO, 24.1ORPO14.5one-stage, base init: ASFT, 14.511.4one-stage, SFT init: ASFT, 11.416.4two-stage, align only: ASFT, 16.4ASFT AlpacaEval 2 LC win rate, %
Llama 3.1 8B on UltraFeedback. Splitting SFT from alignment beats the combined loss regardless of initialization; SFT alone sits at 6.7 and two-stage DPO at 23.4 for reference.

ASFT follows the same pattern at a lower level, 14.5 to 16.4. The SFT stage itself is also cheaper than folklore suggests: across every method we tested, training the SFT checkpoint on just 5 to 10 percent of UltraChat already delivers at least 95 percent of the full-data alignment score.

The temperature they shipped without

Tempering is the second missing piece. On the Reddit TL;DR setup the effect is dramatic: a tuned β\beta lifts ASFT by 43.4 GPT-4 win-rate points, from 43.8 to 87.2, and ORPO by 7.0. On the harder 8B UltraFeedback setup the gains are 8.27 and 3.46 length-controlled points. A knob the original methods did not expose turns out to be a first-order control on their quality.

What tuning β buys the odds-ratio methods

AlpacaEval 2 LC, Llama 3.1 8B
β = 1 (original)β tuned
24.8 28.3
ORPO
12.6 20.8
ASFT
Both odds-ratio methods gain from tempering, ASFT by 8.27 points. At the original fixed value of one, ASFT was being evaluated far below its actual capability.

The axis that survives unification

With everything unified, we ran the comparison properly: at least six β\beta values times four learning rates per method, 651 GPU-days in total. The advertised differences between scalar scores dissolve; rθrefr^{\mathrm{ref}}_\theta and rθoddsr^{\mathrm{odds}}_\theta methods land on top of each other. What separates the field at 8B is the ranking axis: every pairwise method beats every pointwise method on both AlpacaEval 2 and ArenaHard.

Eight methods, two clusters

ArenaHard win rate, %
pairwise objectivespointwise objectives
Eight methods, two clusters Llama 3.1 8B on UltraFeedback, each method at its best configuration. The clusters are the finding: ranking style separates the methods, scalar score does not. NCA and Cal-DPO land almost exactly on top of each other. pairwise objectives: DPO, LC 26.8, AH 19.0; IPO, LC 28.2, AH 19.1; SimPO, LC 27.7, AH 21.5; ORPO, LC 28.3, AH 20.9 pointwise objectives: APO-Zero, LC 23.2, AH 17.3; NCA, LC 23.2, AH 15.1; Cal-DPO, LC 23.2, AH 15.2; ASFT, LC 20.8, AH 13.5 12151821242022.52527.530 APO-Zeropointwise objectives: APO-Zero, LC 23.2, AH 17.3NCApointwise objectives: NCA, LC 23.2, AH 15.1Cal-DPOpointwise objectives: Cal-DPO, LC 23.2, AH 15.2ASFTpointwise objectives: ASFT, LC 20.8, AH 13.5DPOpairwise objectives: DPO, LC 26.8, AH 19.0IPOpairwise objectives: IPO, LC 28.2, AH 19.1SimPOpairwise objectives: SimPO, LC 27.7, AH 21.5ORPOpairwise objectives: ORPO, LC 28.3, AH 20.9 AlpacaEval 2 LC win rate, % ArenaHard win rate, %
Llama 3.1 8B on UltraFeedback, each method at its best configuration. The clusters are the finding: ranking style separates the methods, scalar score does not. NCA and Cal-DPO land almost exactly on top of each other.

The split is statistically real and robust. Permutation tests over all 70 pairwise-versus-pointwise group assignments give p=0.014p=0.014 on every 8B metric, and ranking by each method's top three configurations instead of its single best preserves the ordering, so no lucky hyperparameter is responsible. Mistral 7B reproduces the separation, and on Qwen 2.5 math reasoning it reappears at 14B, including under AlphaPO and forward-KL score families.

Llama 3.1 8B UltraFeedback, best configuration per method

MethodRankingAlpacaEval 2 LC %ArenaHard WR %
ORPOpairwise28.2520.9
IPOpairwise28.1819.1
SimPOpairwise27.6521.5
DPOpairwise26.8219.0
NCApointwise23.2115.1
Cal-DPOpointwise23.1915.2
APO-Zeropointwise23.1517.3
ASFTpointwise20.8213.5
SFT onlynone10.272.6
Standard deviations on LC stay under 0.9 for every method; the pairwise-pointwise gap is several times larger than any within-family difference.

Why ranking style matters more than the score

Every score family defines a per-prompt average bθ(x)=Ey[rθ(x,y)]b_\theta(x)=\mathbb{E}_y[r_\theta(x,y)], a bias the model inherits from its data. Pointwise losses keep pushing chosen scores up and rejected scores down even on pairs they already order correctly, which amounts to spending capacity unlearning bθ(x)b_\theta(x). Pairwise losses are structurally indifferent to such uniform shifts, their total score gradient per prompt is zero, so the same capacity goes to the examples that still need it.

That account predicts where the gap should live: nowhere at the easy or hopeless extremes, and squarely at intermediate difficulty. It is exactly what we observe. On easy TL;DR summarization every method wins roughly 90 percent of GPT-4 comparisons, ASFT trailing at 87.2. At 3B on UltraFeedback the methods blur into overlapping confidence intervals. At 8B, where capacity suffices to unlearn bias but not to also master the hard examples, the families separate.

The scope is deliberate: offline alignment on static binary preference pairs, with judge-based results cross-checked on verifiable math benchmarks up to 14B. Online preference optimization may behave differently. Within that scope our advice is blunt: before believing a new direct alignment algorithm is better, check whether it changed the ranking objective or just redrew the logo.

Put direct alignment algorithms on one protocol and the brand differences blur; whether the loss ranks pairs or pushes points is what moves quality.