ToT: 利用大语言模型进行有意识的问题解决(上)7.17+(下)7.18

文章提出了ToT框架,通过思维分解、思维产生、状态评估和搜索算法,使大语言模型能进行有意识的问题解决。ToT允许模型探索多条推理路径,通过LM的自我评估和审议,提高了在24游戏、创意写作等任务中的表现,证明了其在规划和决策中的优势。
摘要由CSDN通过智能技术生成

原文:

原文信息

摘要

语言模型正在迅速成为一般问题解决的部署,但在推理过程中仍然局限于 标记级别(token-level) ,在推理中从左到右做出决定的过程。这意味着语言模型有许多缺陷,在需要探究的任务,需要战略展望的任务,或者初始决定有着重要意义的任务。

token-Level是指以token为单位进行处理和分析的级别。
一个token可以是一个单词,一个字符,一个标点符号或者是一个子词,具体取决于所使用的tokenization方法和任务的要求。
在文本处理过程中,首先需要将原始文本分割成token,这个过程称为tokenization。然后,可以在token-Level上进行各种操作,例如 词性标注、命名实体识别、情感分析、机器翻译等。在这些任务中,模型会对每个token进行处理,而不是整个文本。

left-to-right decision-making 从左到右决策
在这种决策中,决策者会按照一定的顺序或步骤逐一考虑和做出决策。这种顺序可能是基于时间、优先级、逻辑顺序或者其他因素。从左到右的决策过程通常是线性的,即每个决策点都依赖于前一个决策点的结果。

为了克服这种情况,引入了一个新的语言模型推理框架——TOT,它概括了传统的“思维链”方法来提示语言模型,并实现了对 连贯的文本单元 作为解决问题的中间步骤的探索。

ToT允许LM通过考虑多种不同的推理路径来执行需要深思熟虑的任务,还会通过值评估来选择下一步该怎么做,当需要作出整体决策时,还需要进行前瞻和回溯。

该文实验表明,ToT在三个新型任务上明显提高了语言模型解决问题的能力。

介绍

目前一些语言模型如GPT、PaLM在处理推理任务的性能越来越好。但是这些进步的基础仍然是产生文本的原始的自回归机制(autoregressive mechanism),它通过从左到右的方式逐一做出标记级别的决策。那么这样一个简单的机制足以让LM朝着产生解决问题的方向构建吗?如果不的话,什么问题将挑战当前的模式,已经应该有什么替代机制?

本文从“双过程”(dual automatic)模式研究入手回答上述问题。双过程模式认为,人类有两种产生决策的方式:

  1. 一种快的,自动的,无意识的模型
  2. 一种慢的,深思熟虑的,有意识的模型

LM简单的关联标记级别选择类似于1,因此可能受益于深思熟虑的2的规划过程的增强:(1)对当前选择进行维护和探索不同的选择,而不是只考虑一个;(2)评估这个选择当前的状态,并积极展望未来或回溯,以做出更全局性的决策。

从探索规划过程获得灵感,Newell将问题解决描述为通过组合问题空间(表示为树)进行搜索。为此我们提出使用语言模型解决一般问题的思维树。

当现有方法为解决问题提供连续的语言序列样本时,TOT主动维护一个思维树,其中每个思想都是一个连贯的语言序列,作为解决问题的中间步骤。它允许LM通过深思熟虑的推理过程来自我评估这些不同中间思维过程来解决问题,而这些深思熟虑的推理过程也就是实例化的语言。这种通过LM自我评估和审议实现搜索启发式新颖的,因为以前的搜索启发式要么是编程要么是学习。最后我们将这种基于语言的生成和评估不同思想的能力与搜索算法相结合,如广度优先搜索和深度优先搜索,这允许通过前瞻或回溯来系统地探索思维树。

利用大语言模型进行有意识的问题解决

树的节点代表部分解,分支对应于修改它们的操作(即每个节点代表一个思维状态或想法,边表示不同思维状态之间的关系和转换)。选择哪一个分支由启发式决定的,这些启发式有助于导向问题空间并引导问题解决者找到解决方案。
这一观点强调了使用LM解决一半问题的现有方法的两个关键缺点:

  1. 在局部上,它们没有探索思维过程中的不同延续——树的分支。
  2. 在整体上,它们不包含任何类型的规划,前瞻或回溯来帮助评估这些差异——这种启发式引导的搜索似乎是人类解决问题的特征。

为了解决这些缺陷,我们介绍了TOT,一种允许LMs在思维之上探究多条推理路径的范式。

TOT把任何问题都框定为对一课树的搜索,每一个节点是一个状态
s=[x,z1…i],代表一个部分输入和思想序列非常丰富解决方案。
TOT的一个具体实例化涉及回答四个问题:

  1. 如何将中间过程分解为思维步骤;
  2. 如何在每个状态中产生潜在的思维;
  3. 如何启发式的评估状态;
  4. 使用什么搜索算法
    在这里插入图片描述

1. 思维分解

虽然CoT在没有明显的分解的情况下连贯地对思想进行采样,但ToT利用了问题的属性去设计和分解中间的思维步骤。
一个想法可以是几个单词(交叉词)、一行方程式(24游戏)或一整段写作计划(创意写作)。一般来说,一个思维应该足够“小”,以便LMs可以产生有希望的和多样化的样本(例如,生成一本书通常太“大”而不连贯b),但又应该“足够大”,使得LMs可以评估她对于问题解决的前景(例如,生成一个令牌通常太“小”而无法评估)。

2. 思维产生 G(p,s,k)

给定一个树的状态,我们思考两个策略来为下一个思考步骤生成k个候选:

  1. 从COT提示中抽取 i.i.d 思维样本(创意写作):
    思维空间(thought space) 丰富时(例如,每个思维都是一个段落),按照这种方法效果较好,并且i.i.d.样本导致多样性,;

i.i.d独立同分布
指在思维空间中的独立且同分布的思维状态或想法
这意味着在思维空间中,每个思维状态或想法是相互独立的,一个状态或想法的出现不会影响其他状态或想法的出现。同时,这些思维状态或想法也具有相同的分布,即它们在思维空间中以相同的频率或概率出现。

思维空间thought space
即所有可能的思维状态或思考路径的集合。它代表了一个人或系统在思考问题、生成想法或进行推理时可以进入的各种可能性。思维空间可以是非常广阔的,包含了各种不同概念、关系和推断。
在ToT中,通过构建一个树状结构来表示思维空间,每个节点代表一个思维状态或想法,边表示不同思维状态之间的关系和转换。通过遍历这个树状结构,可以探索和展开不同的思维路径,从而生成新的想法或解决问题。

  1. 使用 “建议提示” 按顺序提出想法(24游戏,交叉词):
    当思维空间更加受限制时(例如:每个想法只是一个单词或一行),这种方法更好,因此在同一上下文中提出不同的想法可以避免重复。

propose prompt建议提示
指的是在思维空间中提出一个思考路径或想法的提示。在ToT框架中,propose prompt用于在树的某个节点处生成一个新的子节点,以扩展思维空间并引导后续的思考。
propose prompt 可以是一个问题、主题、假设或任何其他形式的提示,它会激发模型在当前思维状态下产生新的想法或展开更深层次的思考。通过不断提出粗新的提示,ToT可以模拟出更加复杂和丰富的思考过程,从而生成更多多样化和有深度的回答或内容。

3. 状态评估V(p,S)

给出不同状态的边界,状态评估器评估它们做出的解决问题的过程,作为搜索算法的启发式算法,以确定要继续探索哪些状态以及以何种顺序进行探索。尽管启发式是一个解决搜索问题的标准的方法,但它们通常是编程的或学习的。我们提出第三种选择: 通过使用LM来有意识地对不同的思维状态进行推理和思考。在合适的时候,这种故意的启发式可以比编程规则更灵活,也比学习的模型更具样本效率。与思维生成器类似,我们考虑两种策略来独立或一起评估状态:

  1. 独立地评估每一个状态:
    在这里插入图片描述
    其中值提示导致状态s生成标量值w或者分类(例如确定/可能/不可能),该分类可以启发式的转化为值。这种评价推理的原因可能因问题和思维步骤而异。在这项工作中,我们发现通过少量前瞻模拟(例如,通过5+5+14快速确认5、5、14可以达到24,或者)加上常识(例如,123太小而无法达到24,或没有单词可以以“tzxc”开头)来探索评估。尽管前者可能提示“好的”状态,但是后者可以帮忙排除“不好的”状态。这种评估不需要完美,仅需要大概。
  2. 跨状态投票:
    在这里插入图片描述
    根据在投票提示中有意比较s中的不同状态,选出“好”状态 s*~pvote(s* |S),当问题的成功很难直接评估时(例如,段落的连贯性),很自然地会比较不同的部分解决方案,并投票选出最有希望的解决方案。这类似于 step-wise self-consistency思维过程中逐步确保自洽性过程的思想,即将“探索哪个状态”作为最终选择QA,并使用LM样本进行投票。

对于这两种策略,我们可以多次提示LM聚合评或投票结果,以换取时间,资源,成本,从而获得更忠实或稳健的启发式方法。

step-wise self-consistency
指的是在思维过程中逐步确保自洽性的过程。在思考问题或解决复杂任务时,人们经常会分解步骤进行推理和思考,以确保每一步都是相互一致和合理的。
在ToT中,step-wise self-consistency是指在思维模型中逐步推进,确保每一个状态和节点都是与前一步的状态想一致和合理。

4. 搜索算法

最后,在TOT框架内,可以依赖树形结构即插即用不同的搜索算法。我们探索了两种相对简单的搜索算法,并为未来的工作保留了更先进的算法。
(a)广度优先搜索算法(BFS):
(b)深度优先搜索算法(DFS):

从概念上来看,TOT作为一种使用LM来解决问题的方法,有许多好处:
1.生成能力。IO,COT,COT- SC和自我增强,可以作为TOT的特殊案例(例如,有限深度和广度的树)。
2.模块化。基于LM,也是基于思维分解,产生,评估和搜索过程都可以独立的变化。
3.适应性。可以适应不同问题属性,LM的功能和资源约束。
4.方便。不需要额外的训练,只需要一个预训练的LM就可以满足。
另一个模块将展示这些概念的好处如何转换成在不同问题上的强大经验表现。

实验

24游戏

一个算数推理,目标是使用4个数字和基本算数运算符得到24。

1). 任务设置

从4nums.com中收集数据,该网站有1362个游戏,按人类解决时间从易到难排序,并索引为901-1000的相对困难的游戏子集进行测试。 对于每项任务,如果它是一个等于24的有效式子并且每项任务只使用一次输入数,我们就认为输出是成功的。 报告了100场比赛的成功率作为衡量标准。

2). 基准

我们使用了一个带有五个上下文示例的标准IO提示。
在这里插入图片描述

对于CoT提示,我们用3个中间方程来扩充每个输入-输出对,每个式子对剩余的两个数进行运算。
在这里插入图片描述

对于这个游戏,我们采集了100次IO提示和CoT提示的平均性能。我们还考虑了CoT自一致基线。在每次迭代中,LM都以所有先前的历史为条件,以“反思你的错误,并在输出不正确的情况下生成一个精确的答案”

3). ToT设置

为了把24游戏构建成TOT,自然而然就要将思维分解成三个步骤,每个都是中间的等式。在每棵树的节点,我们精准计算“left”数字,并提示LM提出一些可能的下一步措施。所有三个思维步骤都使用相同的“建议提示”,尽管它只有一个带有4个输入数字的例子。我们在TOT中执行了BFS,其中在每一步我们都保持b=5个最佳候选。为了在TOT上执行有意BFS,我们提示LM去评估每一个候选思维(评出sure/maybe/impossible)以达到24,。其目的是促使产生正确的部分解,消除基于“太大太小”常识的不可能的部分解,并保持其余的“可能”。对每个想法的值进行三次采样。

4).结果

在这里插入图片描述

5). 错误分析

图3b细分了CoT和ToT样本失败的步骤,即在CoT中的想法或所有b在ToT的想法中,无效或不可能达到24。值得注意的是,大约60%的Col样本在生成第一步或等效的第三个单词(例如“4+9°”)后已经失败。这突出了直接从左到右解码的问题。

创意写作

创造性写作的任务:其中输入4个随机句子,输出应该是连贯的文章,由4个句子分别组成的段落。这个任务是开放性和探索性的,挑战创造思维和高层规划。

1). 任务设置

2).基准

3).ToT设置

建立了一个高度为2的ToT(即只有一个中间步骤)——LM首先产生k=5个计划并投出最好的一个,然后基于最好的计划中产生k=5个文章。这里的极限宽度b=1,因为每一步只保留一个选择。一个简单的零样本投票提示用于在两个步骤中抽取5张选票。

4).结果

在这里插入图片描述

交叉词

相关工作

规划和决策

聪明的规划和决策对于实现预定的目标来说是至关重要的。它们在大量的知识和人类经验被训练出来,LM已经吸收了丰富的常识,这使得有可能根据问题设置和环境状态提出合理的计划。

TOT方法拓展了现有的规划公式,在每个解决问题的步骤的同时,考虑多个潜在可行计划,并继续进行最有可能的计划。

思维抽样和值反馈有机结合成规划和决策机制,使能够有效地搜索问题解决树。另一方面,传统的决策过程往往需要训练专门的奖励和策略模型来强化学习,而我们使用LM本身来为决策提供价值估计。

自我反省

使用LLM来评估生存能力或其自身的预测正则成为解决问题中越来越重要的程序。

引入了“自我反省”机制。在该机制中,LMs向其一代候选人提供反馈。
有的通过注入反馈消息(由LM自身根据其代码执行结果生成)来提高LM的代码生成的准确性。
类似的,还有引入了“评论家”或对“动作和状态”的审查步骤,以决定在解决计算机操作任务时要采取的下一步行动。

另一项与我们非常相关的是“自我价值引导解码”。自评估解码也遵循树搜索过程,从随机波束搜索解码中采样树叶,然后由LLM本身通过精心准备的自评估提示进行评估。

程序引导的LLM生成

程序引导LIM生成。我们的建议也与最近的进步有关,即用象征性的程序指导来组织LM的行为。例如在算法搜索过程中嵌入LM,以帮助逐步解决问题回答等问题,其中搜索树由可能提供答案的相关段落扩展。然而,这种方法与我们的不同之处在于,树是通过采样外部段落而不是LM自己的想法来扩展的,并且没有反思或投票步骤。另一种方法,LLM+P,更进一步,将实际规划过程委托给经典规划师。

经典搜索方法

最后但同样重要的是,我们的方法可以被视为解决问题的经典搜索方法的现代再现。例如,它可以被认为是一种启发式搜索算法,如,其中每个搜索节点的启发式由LM的自我评估提供。

讨论

总结

由于语言模型在推理过程中仍然局限于标记级别、从左到右做出决策的过程,有许多缺陷。

为了克服这种缺陷,本文从“双过程模式”研究入手,猜想1模式可能受益于2模式的规划过程:

  1. 对当前选择进行维护和探索不同的选择,而非只考虑一个
  2. 评估这个选择当前的状态,并积极前瞻或回溯,以做出更全局性的决策

从该过程获得灵感,将问题解决描述成组合问题空间(树)进行搜索。

其中每个思想都是一个连贯的语言序列,作为解决问题的中间步骤。树的节点代表一个思维状态或想法,边代表不同思维状态之间的关系和转换。

ToT的一个具体实例化设计回答四个问题:

  1. 如何将中间过程分解成思维步骤
  2. 如何在每个状态中产生潜在的思维
  3. 如何启发式的评估状态
  4. 使用什么搜索算法

第一个问题:
ToT利用了问题属性去设计和分解中间思维步骤。
一个想法可以是几个单词、一行方程公式或一整段写作计划。
第二个问题:
提供两种策略:
1. 从CoT提示中抽取独立同分布的思维样本
2. 使用“建议提示”按顺序提出想法,即在思维空间中提出一个思考路径或想法的提示
第三个问题:
使用LM来有意识的对不同的思维状态进行推理和思考。
要么独立评估每一个状态,要么采用跨状态投票的方式
第四个问题:
BFS、DFS

接着进行了三个实验,实验从任务设置、基准(IO提示、CoT提示、SC-CoT提示)、ToT设置、结果以及错误分析这几个模块展开,最终证明ToT较之前的方法表现更为优秀 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值