大语言模型 (LLM) 在处理复杂问题方面已变得非常出色——从编写代码到解决繁复的数学问题。这一成功的关键在于它们能够通过思维链 (Chain-of-Thought, CoT) 推理进行“大声思考”。通过生成中间步骤,LLM 能够逻辑地分解问题,并得出更加准确的解决方案。
然而,CoT 存在一个根本性的局限: 它就像一个人脱口而出脑海中浮现的第一个念头。推理过程仅沿着一条线性路径进行,而这条路径并不总是最佳或最合理的。这可能导致在需要深度、多步骤推理的任务中出现错误。
为了解决这一问题,研究人员提出了思维树 (Tree-of-Thought, ToT) 推理。ToT 使 LLM 能够同时探索多个推理路径——就像国际象棋大师在决定走法前评估不同的策略一样。在每一步,模型生成若干可能的思路,对它们进行评分,并剪去较弱的分支。这样得到的推理更加稳健且审慎。然而,这种增加的思考代价高昂:** 它极其缓慢且计算负担沉重**,使得 ToT 在实时应用中难以实用。
由此产生一个自然的问题:
我们能否将思维树的深度推理能力与思维链的高效性结合起来?
来自 Sea AI Lab 和 新加坡管理大学 的最新研究提出了突破性方法:** 偏好链优化 (Chain of Preference Optimization, CPO)** 。CPO 将 ToT 搜索过程中蕴含的智慧提炼到一个标准、快速的 LLM 中。它教会模型偏好好的推理步骤而非坏的步骤,将 ToT 的深度思考能力迁移到推理阶段仍保持高速的单路径 CoT 模型中。
思维链 (CoT)、思维树 (ToT) 和偏好链优化 (CPO) 的比较。CPO 从 ToT 的搜索树中收集偏好对,并用直接偏好优化 (DPO) 对模型进行微调,从而以 CoT 级别的效率实现 ToT 级别的推理质量。
在本文中,我们将探讨 CPO 的工作原理、有效性及其为何代表了提升 LLM 推理能力的重要一步。
背景: 思维链、思维树与偏好
在剖析 CPO 之前,让我们先回顾它所基于的基础方法。
1. 思维链 (CoT)
思维链提示帮助模型显式地展示其推理过程,而非直接跳到结论。例如,要回答“美国最东部的州的昵称是什么?”,一个 CoT 的回答可能如下:
步骤 1: 美国最东部的州是缅因州。
步骤 2: 缅因州的昵称是“松树之州”。
最终答案: 松树之州。
在这里,每个中间“思路” \(z_i\) 都是基于输入 \(x\) 和之前的思路 \(z_1, \dots, z_{i-1}\) 生成的。它高效、可解释且有效——但严格线性,限制了探索更多推理路径的能力。
2. 思维树 (ToT)
思维树将 CoT 泛化为对可能推理路径的搜索。在每一步,模型生成多个候选思路并评估其潜力。搜索与剪枝算法——如广度优先搜索 (BFS) ——引导探索过程。这种方法能带来更深度的分析和更优的答案,但在推理阶段需要大量计算,因为分支与评估是实时进行的。
3. 直接偏好优化 (DPO)
直接偏好优化是一种强大的微调技术,被广泛用于用偏好反馈 (如人类偏好) 对齐模型。它通过比较同一提示的两个输出——一个偏好的 (“胜出”) 答案 \(\hat{y}_w\),一个不偏好的 (“落败”) 答案 \(\hat{y}_l\)。模型通过最大化两者概率差异的比值来学习偏好正确的回答:
\[ \mathcal{L}_{\text{DPO}}(\pi_\theta; \pi_\text{ref}) = -\log\sigma\left(\beta\log\frac{\pi_\theta(\hat{y}_w|x)}{\pi_\text{ref}(\hat{y}_w|x)} - \beta\log\frac{\pi_\theta(\hat{y}_l|x)}{\pi_\text{ref}(\hat{y}_l|x)}\right) \]其中,\(\pi_\theta\) 是待训练的模型,\(\pi_\text{ref}\) 是参考模型 (通常为基础模型) ,\(\beta\) 控制正则化强度。此方法无需奖励模型或人工标签——可直接基于偏好数据优化模型。
CPO 巧妙地将 ToT 的探索能力与 DPO 的对齐方法相结合,让模型学习什么样的推理有效,以及什么样的推理无效。
核心方法: 偏好链优化的工作原理
CPO 重新定义了提升推理质量的方式。它不仅仅训练 ToT 的最终最佳推理路径,而是从所有中间分支中学习——包括那些被舍弃的次优选项。这些隐含偏好提供了丰富的训练信号。
该方法分为两阶段: 生成偏好数据 和 使用 CPO 损失训练模型。
CPO 工作流程: ToT 生成并评估多个推理分支;CPO 收集偏好与不偏好的思路,并基于这些按步偏好数据通过 DPO 训练一个快速 CoT 模型。
阶段一: 合成偏好链思路
为生成数据,采用 ToT 风格搜索:
思路生成:
从部分的推理状态出发,LLM 采样若干可能的下一步思路。
例如: 给定“最东部的州是缅因州”,可能的下一步思路包括“缅因州的首府是什么?”或“缅因州的昵称是什么?”。状态评估:
模型自评候选思路的有用性——判断其是否可能导向正确答案。这些得分用于剪枝弱分支。搜索与收集:
利用 BFS 等算法扩展有前景的节点,直到得到一个包含最终答案的完整推理路径。- 胜出路径上的思路 (\(z_i^w\)) 被标记为偏好;
- 同步的其他兄弟思路 (\(z_i^l\)) 被标记为不偏好。
这一过程自动构建出每个推理步骤的按步偏好对 \((z_i^w, z_i^l)\) 数据集,记为 \(\mathcal{D}\)。相较以往仅使用最终路径的方法,CPO 捕捉了整个推理链的偏好信息。
阶段二: 使用 CPO 目标进行训练
CPO 在每个推理步骤上应用 DPO 损失而非整条路径。对于每对 \((z_i^w, z_i^l)\) 及其前序上下文 \(s_{i-1}^w\):
\[ \mathcal{L}_i(\pi_\theta; \pi_\text{ref}) = -\log\sigma\left(\beta\log\frac{\pi_\theta(z_i^w|x, s_{i-1}^w)}{\pi_\text{ref}(z_i^w|x, s_{i-1}^w)} - \beta\log\frac{\pi_\theta(z_i^l|x, s_{i-1}^w)}{\pi_\text{ref}(z_i^l|x, s_{i-1}^w)}\right) \]总体目标为该按步损失的平均:
\[ \mathcal{L}_{\mathrm{CPO}}(\pi_\theta; \pi_\text{ref}) = \mathbb{E}_{(x, z_i^w, z_i^l, s_{i-1}^w)\sim \mathcal{D}}[\mathcal{L}_i(\pi_\theta; \pi_\text{ref})] \]微调完成后,LLM 在推理阶段可以生成单一路径 (类似 CoT) 但具备 ToT 式的审慎思考能力——而无需实时搜索的计算负担。
实验: 基准与结果
研究人员在涵盖三类推理任务的七个数据集上全面评估了 CPO:
- 问答 (QA) : Bamboogle、WikiMultiHopQA、HotpotQA
- 事实验证: FEVER、FEVEROUS、VitaminC
- 算术推理: SVAMP
CPO 被应用于 LLaMA2-7B、LLaMA2-13B 和 Mistral-7B,并与三个基线方法比较:
- CoT: 单路径标准推理。
- ToT: 完整树搜索推理 (强大但缓慢) 。
- TS-SFT (Tree-Search Supervised Fine-Tuning) : 仅基于 ToT 最优路径训练的 CoT。
多项推理任务的实验结果。CPO 的准确率稳定高于 CoT 和 TS-SFT,延迟接近 CoT,远快于 ToT。
主要发现
- 更高的推理准确率: CPO 相比 CoT 整体准确率平均提升 4.3%。
- 效率保持: CPO 的推理速度与 CoT 相当,平均比 ToT 快 57.5 倍。
- 从错误中学习的重要性: CPO 优于 TS-SFT,因为它不仅学习胜出的路径,还学习落败路径,从而获取更丰富的反馈信号。
分析: 理解 CPO 的优势
为了探究 CPO 的有效性,作者进行了详细分析,得出两项关键结论。
1. 负例的作用
不偏好的数据真的有必要吗?作者通过调整训练数据中包含不偏好思路的比例进行实验——从 0% (仅使用偏好思路) 到 100% (完整 CPO) 。
随着训练中包含更多不偏好思路,准确率稳步提升。明确教导模型哪些推理路径不应采取,起到了关键作用。
结果显示,引入负面示例可以持续提升性能。换言之,教给 LLM “不该怎么想”,能强化它“应该怎么想”。
2. “最长公共前缀”问题
如果直接将 DPO 应用于完整推理路径,会发生什么?这正是全路径偏好优化 (Full-path Preference Optimization, FPO) 的思路。但 FPO 会遇到一个微妙的问题:** 最长公共前缀 (LCP) 梯度抵消**。
CPO 在每个推理步骤构建偏好对,确保所有词元都得到梯度更新。FPO 对完整路径进行比较,导致共享前缀梯度互相抵消。
推理路径往往共享长前缀,例如:
胜出: A → B → C → D
落败: A → B → C → E
对应公共前缀 (A → B → C
) 的梯度会相互抵消,使得学习只强化最终分歧的一步。这浪费了早期决策的宝贵监督信号。
CPO 通过逐步优化避免了此问题,确保梯度信息完整保留。实验证明,FPO 的性能不及 CPO,甚至不如简单的监督微调,这验证了该理论分析。
结论与未来方向
偏好链优化 (CPO) 优雅地解决了 LLM 推理中的核心权衡: 同时保持深度与速度。通过从 ToT 式推理过程中每个分支提取偏好信息,CPO 能训练出既具备深度思考又保持高效推理的模型。
关键要点:
- 从搜索中提炼知识: CPO 将 ToT 式的审慎推理迁移至精简 CoT 模型。
- 从所有步骤学习: 综合偏好与不偏好推理,丰富模型理解。
- 按步优化胜于全路径优化: 按步学习避免梯度抵消,强化训练信号。
未来,CPO 有望应用于更广泛的推理框架,如思维图 (Graph-of-Thoughts) 或 AlphaZero 式树搜索,并可能推动弱到强的对齐——即由小模型生成偏好数据训练更强模型。
通过教会模型如何偏好更好的思考步骤,CPO 代表了向更快、更智能、更审慎的人工智能推理迈出的激动人心的一步。