Probability-Consistent Preference Optimization for Enhanced LLM Reasoning¶
会议: ACL 2025
arXiv: 2505.23540
代码: https://github.com/YunqiaoYang/PCPO
机构: CUHK MMLab, SenseTime Research, 上海AI Lab
一句话总结¶
PCPO 在偏好对选择阶段引入 token 级概率一致性指标,选出答案正确且推理过程与错误回答最"相似"的配对进行 DPO 训练,让模型聚焦关键推理差异,在多个数学推理 benchmark 上一致超越 IRPO/ScPO。
研究背景与动机¶
偏好优化(DPO 及其变体)已成为提升 LLM 数学推理能力的主流方法。核心步骤是构建 chosen/rejected 偏好对:
- IRPO: 用 gold label 判定答案正确 → chosen,错误 → rejected
- ScPO: 用投票一致性(self-consistency)选择多数答案为 chosen,少数为 rejected
问题: 两者都只关注最终答案(outcome-level),完全忽略了回答内部的推理逻辑一致性。不同回答即使答案相同,推理路径可能完全不同;如果随机配对,模型难以学到 chosen 与 rejected 之间的关键差异。
动机: 能否利用 token 级的条件概率信息来衡量两个回答的"内在一致性",从而选出最具信息量的偏好对?
方法详解¶
框架总览¶
PCPO 是一个迭代训练框架,每轮包含三步:
- 生成 & 候选配对: 用当前模型对每题生成 N=16 个回答,按答案正确性分为 \(Y_w\)(correct)和 \(Y_l\)(incorrect),通过 Levenshtein 距离筛选相似的候选偏好对
- 概率一致性评分 & 偏好对选择: 对候选对计算 token 级概率一致性加权分 \(s_w\),选得分最高的配对作为训练对
- PCPO Loss 训练: 用加权 DPO + NLL 损失训练下一轮模型
关键设计 1: Token 概率一致性评分¶
对一个候选偏好对 \((y_w, y_l)\),先用匹配函数(基于 SequenceMatcher 的最长公共子序列)对齐两个回答的公共 token。对每个匹配 token \(y_t\),计算一致性得分:
- \(c_t \in [0, 1]\),越接近 1 表示该 token 在两个回答中的条件概率越接近
- 直觉: 高一致性意味着两个回答在"犯错之前"的推理路径高度相似,差异集中在关键决策点
然后聚合为 pair-weighted score:\(s_w(y_w|y_l) = \sum_t c_t(y_w|y_l) / l_{y_l}\)
选择策略: 对每个 rejected 回答 \(y_l\),选 \(s_w\) 最高的 chosen 回答配对 → 保证偏好对之间推理路径最相似,差异最小且最关键。
关键设计 2: Levenshtein 距离预筛选¶
直接计算所有 \(p \times q\) 候选对的概率一致性代价过高。PCPO 先用 Levenshtein 编辑距离为每个 rejected 回答选出 top-k(k=8)最相似的 chosen 回答,大幅减少计算量。实验表明 rank 1-5 覆盖了 95.4% 的最终选中对。
关键设计 3: PCPO 损失函数¶
- 用 \(s_w\) 动态加权每个样本,高一致性对(更有信息量)获得更大梯度
- NLL 项防止模型偏离语言建模能力(\(\alpha=1, \beta=0.5\))
实验结果¶
主实验: 多模型多 Benchmark 对比¶
| 方法 | GSM8K Pass@1 | MATH-500 Pass@1 | OlympiadBench Pass@1 | AMC23 Pass@1 |
|---|---|---|---|---|
| Llama3-8B Seed | 71.3 | 30.8 | 8.1 | 10.0 |
| IRPO M2 | 81.1 | 30.6 | 6.7 | 0 |
| ScPO M2 | 81.6 | 32.2 | 7.9 | 5.0 |
| PCPO M2 | 82.8 | 33.2 | 9.5 | 10.0 |
| Mathstral-7B Seed | 84.3 | 57.2 | 21.8 | 25.0 |
| IRPO M2 | 87.7 | 58.4 | 24.6 | 20.0 |
| ScPO M2 | 87.6 | 60.4 | 24.1 | 27.5 |
| PCPO M2 | 89.0 | 61.8 | 25.2 | 32.5 |
泛化性: PCPO 数据 + 不同 DPO 变体¶
| 方法 | MATH-500 Pass@1 | OlympiadBench Pass@1 | AMC23 Pass@1 |
|---|---|---|---|
| IPO M1 | 24.4 | 8.1 | 10.0 |
| PCPO+IPO M1 | 32.2 | 9.9 | 15.0 |
| ORPO M1 | 27.0 | 8.0 | 10.0 |
| PCPO+ORPO M1 | 29.0 | 8.6 | 10.0 |
| TDPO M1 | 29.8 | 7.7 | 5.0 |
| PCPO+TDPO M1 | 30.4 | 8.4 | 5.0 |
PCPO 的偏好对选择策略可即插即用地提升 IPO/ORPO/TDPO/RPO 等多种 DPO 变体。
亮点与创新¶
- 首次在偏好对选择阶段引入 token 级概率一致性,而非仅依赖 outcome-level 信号,选出推理路径最相似但结果不同的"硬"样本对
- 通用框架: PCPO 的数据选择策略可与任意 DPO 变体组合使用,实验验证了对 5 种变体的泛化性
- Case study 直观: 通过具体案例展示 PCPO 能精确区分不同推理 pattern 并配对,而 outcome-only 方法完全随机
局限性¶
- 依赖 gold label: 偏好对构建需要已知正确答案,限制了对无标注数据场景的适用性
- 额外计算开销: token 概率计算使总训练时间增加约 15%(8.9 vs 7.7 GPU-hours/iteration)
- 仅验证数学推理: 未在代码生成、常识推理等其他推理任务上验证泛化性
- 7B 模型为主: 未在更大模型(70B+)上实验,在已充分优化的 Qwen2.5 系列上提升有限
相关工作¶
- 偏好优化 for 数学推理: DPO → IRPO(迭代+答案正确性)→ ScPO(自一致性投票)→ PCPO(token 概率一致性)
- Token-level 偏好优化: TDPO(token 级 KL 约束)、SparsePO(稀疏 token mask)、cDPO(关键 token 识别)——这些方法在优化阶段操作 token,PCPO 在数据选择阶段利用 token 信息
- DPO 变体: IPO(防过拟合)、ORPO(无参考模型)、RLCD(对比蒸馏)
评分¶
⭐⭐⭐⭐ — 从 token 概率角度重新审视偏好对选择是一个新颖且直觉清晰的切入点,实验覆盖 4 个模型 × 4 个 benchmark × 5 种 DPO 变体非常充分,但方法依赖 gold label 且仅限数学推理场景。