跳到主要内容

思维树(ToT)

对于需要探索或战略展望的复杂任务,传统或简单的提示技术往往不足以胜任。最近,姚等人(2023)和 Long(2023)提出了思维树(ToT),这是一个框架,它泛化了思维链提示,并鼓励探索作为语言模型通用问题解决中间步骤的思维。

ToT 维护着一颗思维树,其中思维代表着连贯的语言序列,作为解决问题的中间步骤。这种方法使得语言模型能够通过一个深思熟虑的推理过程,自我评估朝着解决问题所取得的中间思维进展。语言模型生成和评估思维的能力与搜索算法(如广度优先搜索和深度优先搜索)相结合,以实现对具有前瞻性和回溯的思维的系统性探索。

下图展示了 ToT 框架:

TOT 图片来源:Yao et el. (2023)

在使用 ToT 时,不同任务需要定义候选数量和思维/步骤数量。例如,正如论文中所演示的,24 点游戏被用作数学推理任务,需要将思维分解为 3 步,每一步涉及一个中间方程。在每一步中,保留最佳的 b=5 个候选项。

在 ToT 中为 24 点游戏执行 BFS 时,LM 被提示评估每个思维候选项是否“确定/可能/不可能”达到 24。正如作者所述,“目标是促进可以在少数前瞻试验中判定的正确部分解,基于‘太大/太小’常识消除不可能的部分解,保留其余的‘可能’”。对每个思维进行 3 次取样。该过程如下图所示:

TOT2 图片来源:Yao et el. (2023)

从下图报告的结果来看,ToT 明显优于其他提示方法:

TOT3 图片来源:Yao et el. (2023)

代码可在此处此处找到。

在高层次上,姚等人(2023)和 Long(2023)的主要思想是相似的。两者都通过多轮对话增强了 LLM 复杂问题解决的能力,通过树搜索实现。其中一个主要区别是,姚等人(2023)利用了 DFS/BFS/beam search,而 Long(2023)提出的树搜索策略(即何时回溯和回溯多少级等)是由通过强化学习训练的“ToT 控制器”驱动的。DFS/BFS/Beam search 是通用的解决方案搜索策略,没有针对特定问题的适应性。相比之下,通过 RL 训练的 ToT 控制器可能能够从新数据集或通过自我对弈中学习(AlphaGo 对抗蛮力搜索),因此基于 RL 的 ToT 系统可以继续发展并学习新知识,即使使用固定的 LLM。

Hulbert(2023)提出了思维树提示,将 ToT 框架的主要概念应用为简单的提示技术,让 LLM 在单个提示中评估中间思维。一个示例 ToT 提示如下:

想象三位不同的专家正在回答这个问题。
所有专家将写下他们思考的 1 步,
然后与小组分享。
然后所有专家将继续下一步,依此类推。
如果任何专家在任何时候意识到他们错了,他们就离开。
问题是...

Sun(2023)通过大规模实验对思维树提示进行了基准测试,并引入了 PanelGPT --- 一种通过 LLM 之间的小组讨论进行提示的想法。