atlas

Research map / Large language models / Alignment and preferences

ComPO: Preference Alignment via Comparison Oracles

NeurIPS 2025 · Large language models › Alignment and preferences · approach: Robust and calibrated DPO · 0 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Proposes ComPO, a zeroth-order preference alignment method that uses pairwise comparison oracles (from likelihood changes on noisy preference pairs) to estimate sparse gradients of the output layer, applied after DPO on clean pairs, to reduce verbosity and likelihood displacement.

Problem

Direct alignment methods like DPO suffer from likelihood displacement and verbosity, which are driven by noisy preference pairs whose preferred and dispreferred responses have similar likelihood under the reference model.

Approach

Treat the preference data as a comparison oracle (sign of change in preferred/dispreferred likelihoods) and run a 1-bit, zeroth-order sparse gradient estimator with random perturbations of only the output layer weights, applied as a micro-finetuning step on noisy pairs after DPO on clean pairs.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Add ComPO on noisy pairs after DPO_cleanMistral-Base-7B · AlpacaEval 2LC (%): 9.41 -> 11.66Helped
Add ComPO on noisy pairs after DPO_cleanMistral-Instruct-7B · Arena-HardWR (%): 14.4 -> 10.5Hurt
Add ComPO on noisy pairs after DPO_cleanLlama-3-Base-8B · Arena-HardWR (%): 12.1 -> 12.1No clear effect
Add ComPO on noisy pairs after DPO_cleanLlama-3-Instruct-8B · AlpacaEval 2LC (%): 32.92 -> 35.79Helped
Add ComPO to SimPOMistral-Instruct-7B · AlpacaEval 2LC (%): 40.22 -> 42.27Helped
Increase perturbation count from m=800 to m=5400 (ablation)ComPO on Mistral-Instruct-7B · AlpacaEval 2LC (%): 24.72 ± 1.02 (25.12) -> 26.49 ± 0.81 (27.20)Helped
Perturb 3 layers instead of 1 (ablation)ComPO on Mistral-7B-Instruct · AlpacaEval 2LC (%): 25.02 ± 0.91 (26.17) -> 26.00 ± 0.89 (27.09)Helped
Set λg to retain 1%-5% of gradient entries rather than over-filtering or retaining all entries (ablation)ComPO on Mistral-7B-Instruct · AlpacaEval 2WR (%): 15.72 ± 0.77 (16.34); 19.02 ± 0.62 (20.15); 19.21 ± 0.58 (20.25); 16.10 ± 0.11 (16.21)Mixed
Increase noisy preference pairs from 100 to 300 (ablation)ComPO on Mistral-7B-Instruct · AlpacaEval 2WR (%): 19.21 ± 0.58 (20.25) -> 20.07 ± 0.99 (21.35)Helped
Increase noisy preference pairs from 100 to 300 (ablation)ComPO on Mistral-7B-Instruct · Arena-Hard (GPT 4.1)WR (%): 11.02 ± 0.13 (11.2) -> 11.76 ± 0.30 (12.1)Helped

Surprising findings

Limitations

Experimental setup

Datasets: UltraFeedback (trl-lib/ultrafeedback_binarized) HuggingFaceH4/ultrafeedback_binarized

Benchmarks: AlpacaEval 2 Arena-Hard MT-Bench

Metrics: length-controlled win rate win rate MT-Bench score log-likelihood of preferred and dispreferred responses

Baselines: DPO DPO_clean SimPO

Builds on: DPO SimPO 1-bit compressed sensing zeroth-order optimization

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy