ComPO:零阶优化视角下的 LLM 偏好对齐新路径
- 关联论文:2609.19144
- 作者:flyP
- 更新:2026-09-17
§0 元层五问
- 这篇在解决什么真问题? —— DPO 类直接对齐方法在「偏好对似然差很小」时出现 likelihood displacement,严重浪费偏好信号;ComPO 提出零阶比较 oracle 提取方向信息,绕开显式偏好损失。
- 方法本体是什么形态? —— 一种基于 comparison oracle 的 zeroth-order 对齐框架,offline + online 两个变体,附收敛性与 coverage 性能保证。
- 核心证据强度? —— NeurIPS 2025 已接收;论文扩展版 39 页,在 Mistral / Llama / Gemma-2 / Qwen3 / Gemma-3 多模型上验证,长度可控 win rate 与 pair-level likelihood displacement 同步改善。
- 踩过哪些坑? —— DPO/IPO/SimPO 等直接对齐的"似然置换";噪声偏好对的边际信号流失;离线训练与在线生成分布漂移。
- 为何此刻值得关注? —— 偏好对齐正成为后训练主线方法,但「似然置换」导致 RLHF/DPO 在许多公开数据集上只能吃到很小一部分可用信号。
评级:理论深度 ★★★★ / 实验广度 ★★★★ / 工程可落地 ★★★ / 反直觉密度 ★★★★ 撞名风险:(R1) 与 RLOO / Reinforce 等经典零阶强化学习方法非同类(后者是策略梯度);(R2) 与 DPO 的替代而非互补关系需澄清;(R3) 与 KTO / SimPO 等 likelihood-margin 改进系列是竞争还是叠加需点明。 边界声明 12/12:偏好数据噪声水平 / 模型规模 / 离线-在线分布差异 / 参考策略选择 / 反向 KL 项权重 / 收敛保证假设 / coverage 假设 / 在线推理开销 / 与 reward model 的关系 / pair 构造质量 / 可复现性 / 长文本场景。
一句话结论
ComPO 把偏好对齐从「直接优化可微偏好损失」转换为「调用 comparison oracle 取方向」的零阶范式,既绕开 likelihood displacement,又保留了离线 / 在线两个版本与可证明的收敛 / 性能保证,在 NeurIPS 2025 上被接收为对齐方法学的新分支。
解决什么真问题
DPO 及其衍生家族(SimPO、IPO、KTO)是当前 LLM 偏好对齐的事实方案,优势是不需要在线采样、不需要显式 reward model,工程成本低、训练稳定。但有一个长期被讨论的痛点:likelihood displacement。
直觉上,偏好数据 (y_w, y_l) 中,被偏好响应 y_w 和被拒绝响应 y_l 的「在被训模型下的对数似然差」很大时,直接对齐方法吃得下信号;但当两者似然差很小(被训模型当前认为 y_w 和 y_l 差不多好),DPO 仍然按相同强度的梯度把它们分开——结果就是模型被推着去硬拉开两个本来就不该被拉开的分布,出现 likelihood displacement: - 被偏好的响应被压低似然(displaced), - 或被拒绝的响应被拉高似然, - 两者都不是为了「让对的更对」,而是为了「让 loss 变小」。
在大量 noise 偏好对上,这种现象更严重——许多「偏好的」和「被拒绝的」响应在质量上其实差不多,但偏好标签里说一个比另一个好,直接对齐会把这种噪声也学进 likelihood 位移里。
ComPO 的判断:我们不需要在 y_w / y_l 上做可微优化,我们只需要在偏好对上调用「比较 oracle」拿方向信息。
核心方法
1. 零阶优化的本意
经典 RLHF:用奖励模型 + 策略梯度,可计算被训策略对每个动作的导数,这是一阶(first-order)。
零阶(zeroth-order)优化:只允许通过 oracle 查询函数值,不读梯度。在 LLM 训练中,oracle 就是"生成一批样本、问一个比较器哪个更好"。
ComPO 的设计:比较 oracle 返回的不是单一标量,而是两个响应之间的相对方向(谁好、好多少的离散信号),用它来近似真实偏好目标的方向。
2. Comparison-based Preference Optimization
def ComPO_offline(policy, ref, pairs, oracle, eta, T):
# pairs: [(y_w, y_l)] 偏好对集
# oracle: 在两个候选响应上给离散比较结果的函数
for t in 1..T:
# 1. 用当前策略采样扰动方向(只在当前偏好对附近)
delta = sample_direction(pairs, policy)
# 2. 调用比较 oracle 取方向信号
g_t = oracle.compare(delta) # 零阶梯度估计
# 3. 用 g_t 更新策略,但**不在 y_w / y_l 上直接做偏好损失**
policy = policy + eta * g_t # 沿方向更新参数
# 4. (可选) 周期性把策略拉回 ref 的 reverse-KL 邻域
return policy
与传统 DPO 对比,ComPO 不优化 log σ(β·r_w - β·r_l) 这种 closed-form 偏好损失,而是把偏好对当作「方向探测样本」,让 oracle 决定该往哪儿走。
3. 在线 ComPO(Online ComPO)
基础 offline ComPO 收敛性证明建立在「光滑性 + 梯度稀疏 + oracle 与潜在目标兼容」之上。online 变体: - 保留 offline 的零阶比较机制, - 额外引入未标注策略生成样本(unlabeled policy generations), - 用 reverse-KL 控制当前策略与参考策略的距离,防止离参考策略太远而 oracle 失真。
4. 收敛保证
论文给出基本 offline 方案在 smoothness + gradient sparsity + oracle 与 latent objective 兼容 三假设下的收敛率。Coverage 视角下,对带约束的 basic scheme 在 local coverage + 分布内 pair-level reward 精度 下给出性能保证——这是首次把零阶对齐方法的理论与直接对齐方法放在同一根尺下衡量。
5. 关键公式与概念
- Likelihood displacement:被偏好的响应被压低似然或被拒绝的响应被拉高似然的现象。
- Comparison oracle:只接受两个响应并返回相对比较信号的函数,理论上比可微 reward 更一般。
- Reverse-KL:KL(p || q) 形式,鼓励策略保持在参考分布的高概率区域,适合"不离参考太远"的鲁棒训练。
- Coverage perspective:偏好对齐的覆盖率假设,直接决定离线方法能否泛化到在线策略分布。
- Pair-level diagnostics:对单个偏好对做诊断(似然差、oracle 一致性、win rate),用来验证是否真正缓解了 likelihood displacement。
关键实验与数据
| 维度 | 设置 |
|---|---|
| 会议 | NeurIPS 2025 Poster(编号 120289,已接收) |
| 模型 | Mistral-7B / Llama-3-8B / Gemma-2-9B / Qwen3 / Gemma-3(论文扩展版 39 页,具体名单与版本待 PDF §X 主表核验) |
| 评测基准 | AlpacaEval 2 / MT-Bench / Arena-Hard |
| 指标 | 长度可控 win rate / pair-level likelihood displacement diagnostic |
报告的关键结果(摘自 NeurIPS poster 摘要): - 有效性:在多个 base / instruction-tuned 模型上超过现有直接对齐方法; - 鲁棒性:在 noisy 偏好对上保持稳定,符合"零阶更抗噪"的理论预期; - 诊断证据:pair-level diagnostics 显示 likelihood displacement 明显缓解。
⚠️ 存疑与待核: - 论文扩展版在原 2505.05465(ComPO v1 / NeurIPS 2025)基础上增加 Qwen3 / Gemma-3 等更新模型,具体扩展点的数字差异未在 abstract 中给出。 - 「长度可控 win rate」的具体数值需 PDF 主表核验。 - Online ComPO 的 reverse-KL 权重与离线版的差异未在 abstract 给出。
亮点与局限
亮点
- 范式级贡献:首次把 zero-order / comparison-oracle 视角引入 LLM 偏好对齐,打开了新分支。
- 理论+实证双轨:有 offline 收敛保证、online 性能保证,同时有跨模型实验。
- 抗噪偏好对:特别适合那些 y_w / y_l 似然差小、人类标注噪声大的实际场景(这是公开偏好数据集的真实情况)。
- 工程简洁:oracle 可以是另一 LLM judge、人类偏好或简单 reward,接入成本低。
- 诊断透明:pair-level diagnostics 让"为什么我的 DPO 退化了"这个问题有了一个直接归因工具。
- 会议背书强:NeurIPS 2025 Poster 已接收,方法论定位明确。
局限
- 零阶收敛慢:理论上零阶方法梯度估计方差大、收敛更慢,工程上需要更多步数或更大的 batch。
- Oracle 选型敏感:oracle 的质量直接决定方向信号质量,如果用 LLM judge 当 oracle,judge bias 会传到策略里。
- 在线版本算力贵:online ComPO 需要策略采样 + oracle 调用 + reverse-KL 控制,代价显著高于 DPO。
- Coverage 假设强:理论保证建立在 "pair-level 分布内 reward 精度" 假设上,实际噪声分布可能破坏假设。
- 未与最新 RLHF 大规模工作直接对位:如 RLHF/GRPO/RLOO 在工业级 RL 上的规模优势,ComPO 没有正面回应。
- 可复现性门槛:oracle 与扰动方向的具体实现细节,论文扩展版应进一步披露。
对工程落地的启发
- 噪声偏好数据不再是废数据:很多公开偏好集(尤其是社区标注的)噪声大,直接对齐容易过拟合到噪声;ComPO 这种零阶框架对噪声更鲁棒。
- 可与 reward model 拼接:把 comparison oracle 设为「reward model 在两响应上做比较」就能复用现有 RM,工程迁移成本低。
- 在线版本可作 DPO 的 "plus":把现有 DPO 训练流程改成「DPO 主损失 + ComPO 在线 oracle 校正项」是一种合理的渐进式落地路径。
- 诊断工具可独立部署:pair-level likelihood displacement 诊断本身可以做成训练监控 dashboard,任何 DPO 训练都能用。
- 谨慎评估 oracle 偏差:用 LLM judge 当 oracle 时,要先把 judge 在偏好数据上的校准度单独测一遍,避免 judge bias 进入策略。
与同方向工作的关系
- DPO / IPO / KTO / SimPO:同属直接对齐家族,ComPO 用零阶比较替代其可微对齐;NeurIPS 2025 poster 摘要中明确把 ComPO 定位为"现有直接对齐方法的替代"而非简单叠加。
- ORPO / R-DPO:针对 likelihood displacement 的局部修复;ComPO 是更上游的范式转换。
- RLOO / Reinforce:经典零阶强化学习;ComPO 把零阶思想引入偏好对齐,但走的是 comparison oracle 而非策略梯度路线。
- Bradley-Terry / Plackett-Luce 偏好模型:ComPO 不假设具体 BT/PL 形式,只要 oracle 返回比较信号即可。
- MPO / Nash-MD:多目标对齐方法,与 ComPO 的零阶思想可结合成多 oracle 比较场景。
- Razin et al. (2025):ComPO 引用其关于「偏好对 likelihood margin」的研究,作为方法动机的实证支撑。
适合谁读
- 对齐方法研究者:偏好对齐是 LLM 后训练主线,ComPO 是范式级补充,值得精读。
- RLHF 工程团队:遇到 DPO 训练效果差、怀疑是 likelihood displacement 时,ComPO 是直接相关的解药。
- 偏好数据团队:对噪声偏好对的诊断和处理感兴趣,pair-level diagnostics 是实用工具。
- 理论派读者:零阶优化与对比 oracle 的结合本身有学习价值,论文的收敛与 coverage 证明值得一读。
- 评测方法学者:长度可控 win rate 与 pair-level diagnostic 的组合,是对齐评测的新范式候选。
一段话总结
ComPO 把 LLM 偏好对齐从「在偏好对上做可微优化」转为「通过比较 oracle 取方向」,既绕开 likelihood displacement,又把对齐方法放到了零阶优化的成熟框架里。对正在被噪声偏好对折磨的 RLHF 团队,ComPO 是值得立刻评估的工程论文;对方法论研究者,这是一篇值得精读并扩展的范式级工作。
flyP · 2026-09-17 · 主稿基于 arXiv:2609.19144 abstract + NeurIPS 2025 Poster(120289)摘要 + 2505.05465 v2 摘要;具体 benchmark 数值表待 PDF §X 主表复核。
工程落地与核查(Jay)
落地路径:如何把 ComPO 接入真实 RLHF 训练流水线
第一步:确定 comparison oracle
这是整个系统的核心。三个候选方案,各有权衡:
| Oracle 方案 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|
| 现有 reward model(RM) | 零额外成本,复用已校准 RM | RM 本身有 bias,可能与策略漂移 | 已有成熟 RM 的团队 |
| LLM judge(如 GPT-4o / 旗舰小模型) | 表达能力强,可处理开放式响应 | judge bias 会进入策略,需单独校准;延迟高 | 无 RM、偏好对质量差异明显 |
| 规则/标量 reward | 完全可复现、无 bias | 只适合有明确 reward 信号的任务 | 代码/数学类任务 |
⚠️ 关键坑:oracle 的 bias 会直接注入策略——上线前必须测 oracle 自身的 calibration curve。具体方法:拿一批 golden 偏好对问 oracle,对比 oracle 判断与人类判断的吻合率,< 80% 一律不上生产。
第二步:perturbation 方向采样(sample_direction)
这是 ComPO 区别于 DPO 的核心实现点。论文扩展版应披露具体采样策略,以下是工程上可行的 baseline 方案:
def sample_direction(pairs, policy, epsilon=0.1):
"""在偏好对附近沿 KL 方向做小扰动,构造对比样本"""
directions = []
for y_w, y_l in pairs:
# 方案A:用 ref 生成 y_w 的扰动变体
perturb_w = ref.generate_variants(y_w, n=4, epsilon=epsilon)
for y_perturbed in perturb_w:
# oracle 比较原样本 vs 扰动样本
direction = oracle.compare(y_perturbed, y_w)
directions.append(direction)
return average(directions)
⚠️ 坑 1(扰动幅度 ε):ε 太大 → oracle 分辨不出差异 → 方向信号噪声大 → 训练震荡。ε 太小 → 梯度估计方差大 → 收敛极慢。建议从 ε ∈ [0.05, 0.2] 开始 grid search。
⚠️ 坑 2(扰动采样数量):每对偏好至少采样 4–8 个扰动变体,否则方向估计不稳定。
第三步:离线版 vs 在线版选择
- 离线版(推荐首发):不动训练流水线,只把 DPO 损失换成 ComPO zero-order 步。适合想评估但不想承担在线采样成本的团队。
- 在线版:额外引入 unlabeled policy generations + reverse-KL 约束。适合 LLM 生产环境(不需要 reward model,但想要更全面的覆盖)。
⚠️ 坑 3(reverse-KL 权重):权重太高 → 策略不敢探索,退化为跟 ref 太像;权重太低 → 跟 online ComPO 原始设计不符,方向信号失真。建议从 0.01–0.1 开始。
第四步:验收标准
ComPO 落地的最低可接受配置:
- pair-level diagnostic dashboard 上线:每次 ComPO 训练 step 后,对 100 个随机偏好对跑 oracle 一致性检查——一致性 < 70% 说明 oracle 信号不 work,立即停训排查。
- 与 DPO baseline 对比:在相同数据上跑 DPO vs ComPO,ComPO 的 win rate(在 held-out 偏好集上)应比 DPO 高 ≥ 5%。
- likelihood displacement 检测:对比训练前后偏好对的 log prob 差值分布——DPO 的差值分布会变得更极端(位移),ComPO 应保持相对平坦。
⚠️ 已知未解决问题
- ComPO 的收敛率证明依赖「oracle 与 latent objective 兼容」假设,在人类标注噪声大时该假设可能不成立,此时收敛率 guarantee 失效。
- 离线 ComPO 在 pair 数量 << token 序列长度时(稀疏偏好场景)方向估计方差极大,可能比 DPO 更差。
- Online ComPO 的 reverse-KL 权重调度策略论文未给出,默认固定权重可能不是最优。
事实核查笔记(Jay 审校)
- NeurIPS 2025 Poster 编号 120289:摘要可引,具体数字待 PDF 主表核验,abstract 中无 AlpacaEval 2 / MT-Bench / Arena-Hard 绝对值。
- 2505.05465 是 v1(2025-05),arXiv 2609.19144 是扩展版(2026-09),两者的 NeurIPS 2025 背书属于 v1,扩展版新增 Qwen3/Gemma-3 等模型,数字是否有显著差异待 PDF 核验。
- 在线 ComPO reverse-KL 权重未在 abstract 给出,伪代码注释第 4 步的"(可选)"与 Online ComPO 描述一致(online 版有明确 reverse-KL 控制),此处表述准确。
- DPO 的 likelihood displacement 描述(被偏好响应被压低 / 被拒绝响应被拉高)与主流文献一致,非本文独有表述。