大语言模型 (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 (基于 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 工作流程: ToT 生成并评估多个推理分支;CPO 收集偏好与不偏好的思路,并基于这些按步偏好数据通过 DPO 训练一个快速 CoT 模型。

阶段一: 合成偏好链思路

为生成数据,采用 ToT 风格搜索:

  1. 思路生成:
    从部分的推理状态出发,LLM 采样若干可能的下一步思路。
    例如: 给定“最东部的州是缅因州”,可能的下一步思路包括“缅因州的首府是什么?”或“缅因州的昵称是什么?”。

  2. 状态评估:
    模型自评候选思路的有用性——判断其是否可能导向正确答案。这些得分用于剪枝弱分支。

  3. 搜索与收集:
    利用 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-7BLLaMA2-13BMistral-7B,并与三个基线方法比较:

  1. CoT: 单路径标准推理。
  2. ToT: 完整树搜索推理 (强大但缓慢) 。
  3. TS-SFT (Tree-Search Supervised Fine-Tuning) : 仅基于 ToT 最优路径训练的 CoT。

性能比较: 准确率与延迟。CPO 在保持低延迟的同时,达到或超过 ToT 的性能。

多项推理任务的实验结果。CPO 的准确率稳定高于 CoT 和 TS-SFT,延迟接近 CoT,远快于 ToT。

主要发现

  • 更高的推理准确率: CPO 相比 CoT 整体准确率平均提升 4.3%
  • 效率保持: CPO 的推理速度与 CoT 相当,平均比 ToT 快 57.5 倍
  • 从错误中学习的重要性: CPO 优于 TS-SFT,因为它不仅学习胜出的路径,还学习落败路径,从而获取更丰富的反馈信号。

分析: 理解 CPO 的优势

为了探究 CPO 的有效性,作者进行了详细分析,得出两项关键结论。

1. 负例的作用

不偏好的数据真的有必要吗?作者通过调整训练数据中包含不偏好思路的比例进行实验——从 0% (仅使用偏好思路) 到 100% (完整 CPO) 。

随着训练中包含更多不偏好思路,模型准确率随之提升。在 100% (CPO) 时,性能稳定优于 SFT 基线。

随着训练中包含更多不偏好思路,准确率稳步提升。明确教导模型哪些推理路径应采取,起到了关键作用。

结果显示,引入负面示例可以持续提升性能。换言之,教给 LLM “不该怎么想”,能强化它“应该怎么想”。

2. “最长公共前缀”问题

如果直接将 DPO 应用于完整推理路径,会发生什么?这正是全路径偏好优化 (Full-path Preference Optimization, FPO) 的思路。但 FPO 会遇到一个微妙的问题:** 最长公共前缀 (LCP) 梯度抵消**。

对比按步 (CPO) 与全路径 (FPO) 偏好优化的示意。CPO 在每一步应用 DPO,而 FPO 仅在完整序列级别应用。

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 代表了向更快、更智能、更审慎的人工智能推理迈出的激动人心的一步。