思维树 (ToT)
对于需要探索或战略性前瞻的复杂任务,传统的或简单的提示技术力有不逮。Yao等 (2023) (opens in a new tab) 和 Long (2023) (opens in a new tab) 最近提出了思维树 (ToT) 框架,该框架泛化了思维链提示,并鼓励对那些作为语言模型通用问题解决中间步骤的“想法”进行探索。
ToT维护着一个想法树,其中想法代表连贯的语言序列,作为解决问题的中间步骤。这种方法使语言模型能够通过深思熟虑的推理过程,自我评估通过中间想法在解决问题方面取得的进展。语言模型生成和评估想法的能力随后与搜索算法(例如,广度优先搜索和深度优先搜索)相结合,从而通过前瞻和回溯系统地探索想法。
ToT框架如下图所示

图片来源:Yao等 (2023) (opens in a new tab)
使用ToT时,不同任务需要定义候选数量和想法/步骤数量。例如,如论文所示,24点游戏被用作数学推理任务,需要将想法分解为3个步骤,每个步骤都涉及一个中间方程。在每个步骤中,保留最佳的b=5个候选。
为了在ToT中对24点游戏任务执行BFS,语言模型被提示将每个想法候选评估为“确定/可能/不可能”,以判断其是否能达到24。正如作者所述,“目标是促进那些可以在少量前瞻试验内被判断为正确的局部解,基于‘太大/太小’的常识消除不可能的局部解,并保留其余的‘可能’。”每个想法都会采样3次值。过程如下图所示

图片来源:Yao等 (2023) (opens in a new tab)
从下图所示的结果来看,ToT显著优于其他提示方法

图片来源:Yao等 (2023) (opens in a new tab)
代码可在此处获取 (opens in a new tab)和此处获取 (opens in a new tab)
从宏观上看,Yao等 (2023) (opens in a new tab) 和 Long (2023) (opens in a new tab) 的主要思想相似。两者都通过多轮对话中的树搜索增强了LLM解决复杂问题的能力。一个主要区别是,Yao等 (2023) (opens in a new tab) 利用了DFS/BFS/束搜索,而 Long (2023) (opens in a new tab) 提出的树搜索策略(即何时回溯以及回溯多少层等)由通过强化学习训练的“ToT控制器”驱动。DFS/BFS/束搜索是通用的解决方案搜索策略,不针对特定问题进行自适应。相比之下,通过RL训练的ToT控制器可能能够从新数据集中学习或通过自我对弈(AlphaGo vs 暴力搜索)学习,因此即使LLM固定,基于RL的ToT系统也可以继续演进并学习新知识。
Hulbert (2023) (opens in a new tab) 提出了思维树提示(Tree-of-Thought Prompting),它将ToT框架的主要概念应用于一种简单的提示技术,让LLM在单个提示中评估中间想法。一个示例ToT提示是
Imagine three different experts are answering this question.
All experts will write down 1 step of their thinking,
then share it with the group.
Then all experts will go on to the next step, etc.
If any expert realises they're wrong at any point then they leave.
The question is...
Sun (2023) (opens in a new tab) 通过大规模实验对思维树提示(Tree-of-Thought Prompting)进行了基准测试,并介绍了PanelGPT——一种在LLMs之间进行小组讨论式提示的想法。
在我们的新AI课程中了解更多高级提示方法。立即加入! (opens in a new tab) 使用代码 PROMPTING20 额外享受八折优惠。