大型语言模型(LLM)的最新进展表明,构建推理链对于提高其解决问题的能力至关重要。其中,链式思维 (CoT) 方法通过提示 LLM 生成中间推理步骤(即想法),从而构建显式的推理路径,取得了显著效果。然而,研究表明这些路径并不总是经过深思熟虑的,也并非最优。树状思维 (ToT) 方法采用树搜索来广泛探索推理空间,并找到 CoT 解码可能忽略的更好的推理路径。然而,这种深思熟虑的代价是推理复杂度显著增加。
本文将探讨一种名为链式偏好优化 (CPO) 的新方法,它通过利用 ToT 构建的搜索树来微调 LLM,使得 CoT 能够在不增加推理负担的情况下,实现类似甚至更好的性能。CPO 利用树搜索过程中固有的偏好信息,微调 LLM 使得 CoT 推理路径的每一步都与 ToT 的推理路径保持一致。
1. 为什么要思考?
大型语言模型在处理复杂问题时,往往需要进行多步推理。例如,回答一个多步骤的逻辑推理问题,或者从多个事实中进行推理得出结论。传统的 LLM 往往只关注最终的答案,而忽略了推理过程。这会导致模型在面对复杂问题时,容易出现错误或逻辑混乱。
链式思维 (CoT) 方法试图解决这个问题。它通过提示 LLM 生成一系列中间推理步骤,并将其连接起来形成一个完整的推理路径。例如,在回答一个多步骤的逻辑推理问题时,CoT 会提示 LLM 生成一系列中间推理步骤,例如:
问题: 小明有 5 个苹果,他吃了 2 个,还剩多少个?
CoT 推理路径:
- 步骤 1: 小明吃了 2 个苹果,所以还剩 5 - 2 个苹果。
- 步骤 2: 5 - 2 等于 3。
- 步骤 3: 所以小明还剩 3 个苹果。
CoT 方法使得 LLM 的推理过程更加清晰,也更容易被人类理解。然而,CoT 方法也存在一些问题。例如,它只关注一条推理路径,而忽略了其他可能的推理路径。这会导致模型在遇到复杂问题时,容易陷入局部最优,无法找到最佳的解决方案。
2. 树状思维:更全面的思考
树状思维 (ToT) 方法试图解决 CoT 方法的局限性。它通过在推理过程的每一步生成多个分支想法,并进行自我评估以进行剪枝和规划,从而搜索最佳推理路径。例如,在回答上面的小明苹果问题时,ToT 可能生成以下推理路径:
ToT 推理路径:
- 步骤 1:
- 想法 1: 小明吃了 2 个苹果,所以还剩 5 - 2 个苹果。
- 想法 2: 小明还剩 5 - 2 个苹果。
- 想法 3: 小明还剩 3 个苹果。
- 步骤 2:
- 想