Tree of Thoughts(ToT):让大模型能动地解决问题 |
您所在的位置:网站首页 › 对复杂问题的简单处理 › Tree of Thoughts(ToT):让大模型能动地解决问题 |
作者 | 酯基 整理 | NewBeeNLP 后台留言『交流』,加入 NewBee算法讨论组 大型语言模型已经在多种任务中大显身手,甚至在数学、逻辑推理等任务上都表现出色。但是由于自回归模型从左到右的输出模式,使得模型只能进行token级别的单向决策。而人类在进行复杂问题的决策时,往往会采用树状的思维方式进行规划。 基于这两点,作者设计了一种简单的 思维树(Tree of Thought, ToT) ,使用LLM模拟人类的决策过程,以解决复杂问题。 source:Tree of Thoughts: Deliberate Problem Solving with Large Language Models[1] ![]() 现有的LM问题解决方式可以分为一下几种: Input-output (IO) prompting :将问题转化为输入/输出形式的prompt,如指令/few-shot示例,表示为 。 Chain-of-thought (CoT) prompting :引入思维链 ,表示为 ,输出表示为 。 Self-consistency with CoT (CoT-SC) :在CoT方法上的提升,通过CoT产生 个样本,选取其中出现频率最高的。 作者提出现有LM推理过程中解决问题的 两个短板 : 不会探索不同的可能选择分支 无法在节点进行前后向的探索 思维树(ToT, Tree of Thoughts)ToT将问题建模为树状 搜索过程,其中每个节点为状态 。ToT包括四个步骤:问题分解、想法生成,状态评价以及搜索算法的选择。 1. 问题分解(Thought decomposition)ToT的第一步首先在于将复杂问题拆解成为小问题。由于ToT方法要求模型在每一节点产生多种方案,因此对于问题拆解的要求较高,拆解后的问题不宜过大也不宜过小。 2. 想法生成器(Thought generator)给定一个树节点 ,有两种生成k个方案的方法: CoT prompt根据每个状态s生成 ,这种方式适用于方案空间丰富的场景(如写作)。 使用propose prompt,,这种方式适用于方案有限的场景(如实验中的24点)。 3. 状态评价器(State evaluator)利用LM对现有状态进行评估。与想法生成器相似,作者提出两种评估方式: 对每个状态,让LM给出数值或分级的评价(好/中/差) 让LM在不同的状态间进行投票式选择,投票多次后选择得票率最高的选项。 4. 搜索算法针对树形结构,进行广度优先(Breadth-first search, BFS)与深度优先(Depth-first search, DFS)两种搜索算法,如下图所示: ![]() 其中,广度优先算法每一步保留b个最优结果,而深度优先算法每步先探索最优路径至得出答案或评价器认为无解。 实验作者在三种需要计划和搜索的任务上分别进行了实验:二十四点、创造性写作与填词游戏。基础模型均使用GPT-4的对话补全模式。 ![]() ![]() IO、CoT等baseline方法在24点任务中仅能够取得不到10%的准确率,而ToT策略则将准确率提升到了74%. 在创新性写作任务上,ToT方法能够生成具有更好的连贯性的文章,并且更加符合人类偏好。 ![]() ![]() 本文中,作者提出了一种方法,利用LM对复杂任务进行建模,使模型能够能动地进行规划和决策,大大提升了语言模型再复杂推理任务上的表现。作者认为这将是未来发展非常有潜力的方向。 一起交流 想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过) [1] Tree of Thoughts: Deliberate Problem Solving with Large Language Models: https://arxiv.org/abs/2305.10601 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |