Skip to content

思维链 CoT (Chain-of-Thought) 介绍

参考

  • 以下样例可以发现对于一些需要推理的问题,比如数学题,模型如果使用更多的中间推理步骤能实现复杂的推理能力,比如左边直接回答问题的结果是错的,但是如果一步一步思考就能做对。

cot

  • 通过 zero-shot 的 prompting 进行 COT,最经典的方式是使用 google 提出来的 Let's think step by step"

zero shot COT

思维树 (Tree of Thoughts,ToT) 介绍

参考1, 参考2

  • ToT 基于思维链提示进行了总结,引导语言模型探索把思维作为中间步骤来解决通用问题。ToT 维护着一棵思维树,思维由连贯的语言序列表示,这个序列就是解决问题的中间步骤。使用这种方法,LM 能够自己对严谨推理过程的中间思维进行评估。LM 将生成及评估思维的能力与搜索算法(如广度优先搜索和深度优先搜索)相结合,在系统性探索思维的时候可以向前验证和回溯。

tot

  • ToT 需要针对不同的任务定义思维/步骤的数量以及每步的候选项数量。例如,论文中的“算 24 游戏”是一种数学推理任务,需要分成 3 个思维步骤,每一步都需要一个中间方程。而每个步骤保留最优的(best) 5 个候选项。ToT 完成算 24 的游戏任务要执行广度优先搜索(BFS),每步思维的候选项都要求 LM 给出能否得到 24 的评估:“sure/maybe/impossible”(一定能/可能/不可能) 。作者讲到:“目的是得到经过少量向前尝试就可以验证正确(sure)的局部解,基于‘太大/太小’的常识消除那些不可能(impossible)的局部解,其余的局部解作为‘maybe’保留。”每步思维都要抽样得到 3 个评估结果。整个过程如下图所示:

tot 24

Released under the MIT License.