《Graph of Thoughts: Solving Elaborate Problems with Large Language Models》中文翻译

news2024/11/27 10:32:08

《Graph of Thoughts: Solving Elaborate Problems with Large Language Models》- 思维图:用大型语言模型解决复杂的问题

  • 论文信息
  • 摘要
  • 1. 介绍
  • 2. 背景及符号
    • 2.1 语言模型和情境学习
  • 3. GoT 框架
    • 3.1 推理过程
    • 3.2 思想转变
    • 3.3 评分和排名思路
  • 4. 系统架构及扩展性
    • 4.1 提示器
    • 4.2 解析器
    • 4.3 评分与验证
    • 4.4 控制器
    • 4.5 GoO 和 GRS
  • 5. 示例用例
    • 5.1 排序
    • 5.2 集合运算
    • 5.3 关键词计数
    • 5.4 文档合并
  • 6. 延迟与容量的权衡
  • 7. 评价
    • 7.1 评价方法
    • 7.2 GoT优势分析
    • 7.3 任务分解讨论
  • 8. 相关工作
    • 8.1 提示范式和方法
    • 8.2 自我反思与自我评价
    • 8.3 LLM与规划
    • 8.4 图和图计算
  • 9. 结论

论文信息

  • 题目:《Graph of Thoughts: Solving Elaborate Problems with Large Language Models》
  • 作者:ETH Zurich and et al.
  • 发表时间:21 Aug 2023
  • 官方代码:https://github.com/spcl/graph-of-thoughts;
  • 内容概述:论文提出的思维图(GoT)框架可以提高 LLM 中的提示能力,使其超越思想链或思想树。

摘要

我们引入了思想图(GoT):一个框架,它可以提高大型语言模型(LLM)中的提示能力,使其超越思想链或思想树(ToT)等范式所提供的能力。 GoT 的关键思想和主要优点是能够将 LLM 生成的信息建模为任意图,其中信息单位(“LLM 思想”)是顶点,边对应于这些顶点之间的依赖关系。这种方法可以将任意的LLM思想组合成协同结果,提炼整个思想网络的本质,或使用反馈循环增强思想。我们证明,GoT 在不同任务上比现有技术具有优势,例如,与 ToT 相比,排序质量提高了 62%,同时成本降低了 31% 以上。我们确保 GoT 可通过新的思维转变进行扩展,从而可用于引领新的提示方案。这项工作使法学硕士的推理更接近人类思维或递归等大脑机制,两者都形成了复杂的网络。

1. 介绍

大型语言模型 (LLM) 正在接管人工智能世界。近年来,主要基于仅解码器的 Transformer 变体 [64] 的模型得到了快速发展,例如 GPT [52,51,14,13]、PaLM [19] 或 LLaMA [62]。

即时工程是解决不同法学硕士任务的一种资源高效的方法。简而言之,在发送给法学硕士的输入中包含任务描述。如果这个描述被适当地表述,法学硕士将使用其基于自回归标记的机制来生成文本来解决该任务。此类提示可能包含带有解决方案的示例任务(少样本提示,也称为上下文学习 (ICL)),甚至根本不包含示例任务(零样本提示)。近年来表明,这种机制可用于解决涉及数学、常识或符号推理的广泛任务。

思想链(CoT)[70]是一种提示方法,除了任务输入/输出之外,还包括提示中推理的中间步骤(中间“想法”)。CoT被示出显着提高法学硕士解决问题的能力,而无需求助于任何模型更新。CoT 的一个主要改进是 CoT 的自我一致性(CoT-SC)[66],是一种生成多个 CoT 的方案,然后选择最好的一个作为结果。最近,CoT 和 CoT-SC 通过思想树 (ToT) [43,76,74] 进行了扩展,它用树对 LLM 推理过程进行了建模。这有助于使用不同的方法不幸的是,ToT 方法仍然通过在思维过程中强加严格的树结构,从根本上限制了提示内的推理能力。

在这项工作中,我们认为,通过使 LLM 思想形成任意图形结构,可以从根本上实现更强大的提示。这是由人类推理、大脑结构或算法执行等多种现象推动的。当研究一个新想法时,人类不仅会遵循一系列思想(如 CoT)或尝试不同的独立思想(如 ToT),而且实际上会形成一个更复杂的思想网络。例如,人们可以探索某个推理链,回溯并开始一个新的推理链,然后意识到前一个推理链中的某个想法可以与当前探索的想法相结合,并将它们合并成一个新的解决方案,利用他们的优点并消除他们的缺点。同样,大脑形成复杂的网络,具有类似图形的模式,例如循环[28]。执行算法还暴露网络模式,通常由有向无环图表示。当应用于 LLM 思想时,相应的图形转换有望带来更强大的提示,但它们不能自然地用 CoT 或 ToT 来表达。

我们观察到,当将法学硕士的推理过程建模为图表时,这些(以及许多其他)思维转变可以自然地实现。为此,我们提出了思维图(GoT),这是一种通过网络推理增强法学硕士能力的方法(贡献#1)。在GoT中,LLM思想被建模为顶点,而边是这些思想之间的依赖关系。使用 GoT,人们可以通过构造具有多个传入边的顶点来聚合任意想法。总体而言,GoT 利用的图形抽象无缝地将 CoT 和 ToT 概括为更复杂的思维模式,而无需诉诸任何模型更新。

然而,将 GoT 付诸实践需要解决一些设计挑战。例如,针对不同任务的最佳图结构是什么?如何最好地聚合想法以最大限度地提高准确性并最大限度地降低成本?为了回答这些问题和许多其他问题,我们精心设计了一个用于实现 GoT 的模块化架构(贡献#2),具有两个设计亮点。首先,我们能够对个人想法进行细粒度的控制。这使我们能够完全控制与法学硕士正在进行的对话,并应用先进的思想转变,例如将正在进行的推理中最有前途的想法结合到新的想法中。其次,我们确保我们的架构可以通过新颖的思维转换、推理模式(即思维图)和法学硕士模型无缝扩展。这使得能够使用 GoT 快速构建新颖的提示想法原型,同时尝试不同的模型,例如 GPT-3.5、GPT-4 或 Llama-2 [63]。

我们说明了 GoT 的几个用例(排序、摘要的关键字计数、集合操作、文档合并),并详细介绍了如何使用基于图形的范例来实现它们(贡献#3)。我们评估 GoT 并展示其相对于现有技术的优势(贡献#4)。总的来说,我们观察到 GoT 特别适合可以自然分解为更小的子任务的任务,这些子任务可以单独解决,然后合并为最终解决方案。在这里,GoT 优于其他方案,例如,在排序质量方面,GoT 比 CoT 和 ToT 分别提高了约 70% 和约 62%,同时比 ToT 降低了 31% 以上的成本。

我们将 GoT 与表 1 中的其他提示方案进行定性比较。GoT 是唯一一个能够在提示中实现任意基于图形的思维转换(例如聚合)的方案,包含所有先前提出的方案。
在这里插入图片描述

表 1:关于支持的思想转变的提示方案的比较。 “Sc?”:单一的思想链? “MC?”:多重思绪? “Tr?”:思想之树? “Ag?”:任意的思维图? “”:完全支持,“”:部分支持,“é”:不支持。请注意,我们不包括最近的一个名为“思想图”[78]的方案,因为它不是一个提示方案。虽然它的名字暗示了与 ToT 和 CoT 的密切联系,但作为一种微调方案,它依靠模型更新,因此不在本工作的重点范围之内。

最后,我们提出了一个用于评估提示策略的新指标,即思想的数量(贡献#5)。通过这个指标,我们的目标是更好地理解提示方案之间的差异。对于给定的思想 v,v 的体积是 LLM 思想的数量,从中可以使用有向边到达 v。直观上,这些都是有可能对 v 做出贡献的 LLM 思想。我们表明,GoT 通过结合聚合等思想转换,使思想比其他方案具有更大的体积。

2. 背景及符号

我们首先概述背景概念和符号。

2.1 语言模型和情境学习

与 LLM 的对话由用户消息(提示)和 LLM 回复(想法)组成。我们遵循既定的符号[76],并将参数 θ 表示为 pθ 的预训练语言模型(LM)。 x、y、z…等小写字母表示 LLM 想法。我们故意不规定什么是单一的“想法”,而是使其具体到用例。因此,单个想法可以是一个段落(例如,在文章摘要中)、一个文档(例如,在文档生成中)、一个代码块(例如,在代码调试或优化中)等等。

接下来我们描述具体的提示方法。

输入-输出(IO)直接方法,我们使用 LLM 将输入序列 x 直接转换为输出 y,无需任何中间思想。

思想链(CoT)(CoT),在x和y之间引入中间思想a1,a2,…。该策略被证明可以在普通 IO 基线上显着增强各种 LM 任务,例如数学难题 [70] 或一般数学推理 [24]。

多个 CoT 通过生成多个(独立的)k 个 CoT,并返回具有最佳输出的一个 CoT(根据某些规定的评分指标)来生成多个 CoT。是由Wang等人介绍的。在称为 CoT 自我一致性(CoTSC)的方案中[66]。这种方法增强了 CoT,因为它提供了探索不同推理路径的机会。然而,它不提供路径内的“局部探索”,例如回溯。

思想树(ToT)(ToT)方案由 Yao [76] 和 Long [43] 独立提出(简称 Tree-of-Thought);它在一定程度上被思想分解等其他方案隐式使用[74]。它通过将过程或推理建模为思想树来增强 CoT-SC。单个树节点代表部分解决方案。基于给定的节点,思想生成器构造给定数量的 k 个新节点。然后,状态评估器为每个这样的新节点生成分数。根据用例,可以使用法学硕士本身进行评估,也可以利用人工评分进行评估。最后,扩展树的时间表由所使用的搜索算法(例如 BFS 或 DFS)决定。

3. GoT 框架

现在我们详细介绍 GoT 框架。我们将其呈现在图 1 中,并将其与其他提示策略进行比较。
在这里插入图片描述

图 1:思维图 (GoT) 与其他提示策略的比较。

形式上,GoT可以建模为一个元组(G,T,E,R),其中G是“LLM推理过程”(即上下文中的所有LLM思想及其关系),T是潜在的思想转换 ,E 是用于获得想法分数的评估函数,R 是用于选择最相关想法的排序函数。

3.1 推理过程

我们将推理过程建模为有向图 G = (V, E); V 是一组顶点,E ⊆ V × V 是一组边。 G 是有向的,因此边是有序顶点对 E ⊆ V × V 的子集。顶点包含当前问题的解决方案(无论是初始问题、中间问题还是最终问题)。这种想法的具体形式取决于用例;它可以是一个段落(在写作任务中)或一个数字序列(在排序中)。有向边 (t1, t2) 表示思想 t2 是使用 t1 作为“直接输入”构建的,即通​​过明确指示 LLM 使用 t1 来生成 t2。

在某些用例中,图节点属于不同的类。例如,在写作任务中,一些顶点模拟编写段落的计划,而其他顶点则模拟文本的实际段落。在这种情况下,GoT 采用异构图 G = (V, E, c) 来模拟 LLM 推理,其中 c 将顶点 V 映射到各自的类 C(在上述情况下,将是 C = {plan, par} )。因此,任何顶点 v 都可以对推理的不同方面进行建模。

我们将 G 与 LLM 推理过程联系起来。为了推进这一过程,人们将思维转换应用于 G。这种转换的一个例子是将得分最高的(迄今为止)想法合并到一个新的想法中。另一个例子是循环一个想法,以增强它。请注意,这些转换严格扩展了 CoT、CoT-SC 或 ToT 中可用的转换集。

3.2 思想转变

借助基于图的推理模型,GoT 能够实现新颖的思维转变。 我们将它们称为支持图形的转换。 例如,在写作中,人们可以将几篇输入文章合并成一个连贯的摘要。 在排序时,可以将多个已排序的数字子数组合并为最终的已排序数组。 我们在图 2 中说明了聚合和生成的示例。
在这里插入图片描述

图 2:聚合和生成思维转变的示例。

形式上,每个此类转换都可以建模为 T (G, pθ ),其中 G = (V, E) 是反映推理当前状态的图,pθ 是所使用的 LLM。 T 通常通过添加新顶点及其传入边来修改 G。我们有 G = T (G, pθ ) = (V, E),其中 V = (V ∪ V) \ V 和 E = (E ∪ E) \ E。V 和 E 是插入到 G 中的新顶点和边分别对新想法及其依赖关系进行建模。为了最大化 GoT 的表达能力——我们还允许用户通过指定要删除的相应顶点和边(分别为 V 和 E)来显式删除想法。在这里,用户有责任确保集合 V、E、V 和 E 具有一致的变换(即,例如,用户不会尝试删除不存在的顶点)。这使得能够无缝合并方案,为了节省上下文中的空间,人们可以删除不承诺改进的部分推理。

T 的具体形式及其如何影响 G 取决于具体的变换。我们首先详细介绍主要的图支持的思维转变,然后继续描述 GoT 如何接受早期方案的转变。除非另有说明,V − = E− = ∅。

聚合转换将任意思想聚合成新的思想,结合并强化这些思想的优点,同时消除它们的缺点。在仅创建一个新顶点的基本形式中,V = {v} 且 E = {(v1, v), …, (vk , v)},其中 v1, …, vk 是合并k个想法。更一般地说,这使得能够聚合推理路径,即更长的思想链,而不仅仅是个人思想。对于图模型,是否可以通过添加来自顶点 v1, …, vk 的传出边来简单地实现,对多个链中的最终思想进行建模,将这些链组合成单个思想 v 。

精炼转换是通过修改当前思想 v 的内容来精炼其内容:V = {} 且 E = {(v, v)}。图中的这个循环表示与原始想法具有相同连接的迭代想法。

生成转换基于现有的单一想法 v 生成一个或多个新想法。此类包含早期方案(例如 ToT 或 CoT-SC)中的类似推理步骤。形式上,我们有 V =

3.3 评分和排名思路

对想法进行评分以了解当前解决方案是否足够好。分数被建模为通用函数 E (v, G, pθ ),其中 v 是要评估的想法。我们在 E 中使用整个推理过程 (G) 的状态以获得最大的通用性,因为 - 例如 - 在某些评估场景中,分数可能与其他想法相关。

GoT 还可以对想法进行排名。我们使用函数 R(G, pθ , h) 对此进行建模,其中 h 指定 R 返回的 G 中排名最高的想法的数量。虽然 R 的具体形式取决于用例,但我们最常使用一个简单而有效的方法返回 h 个得分最高的想法的策略,即 v1, …, vh = R(G, pθ , h)。

E 和 R 的具体形式取决于用例。我们将在第 5 节中讨论详细信息。例如,排序的分数(或排名)对应于正确排序的元素数(或错误排序的元素数,当获取错误作为分数时)。

4. 系统架构及扩展性

GoT 架构由一组交互模块组成,见图 3(蓝色部分)。这些模块是提示器(为 LLM 准备消息)、解析器(从 LLM 回复中提取信息)、评分模块(验证 LLM 回复并对其进行评分)和控制器(协调整个推理过程,以及决定如何推进)。控制器包含两个更重要的元素:操作图(GoO)和图推理状态(GRS)。 GoO 是一个静态结构,指定给定任务的图分解,即它规定了应用于 LLM 思想的转换及其顺序和依赖关系。 GRS 是一个动态结构,可维持正在进行的 LLM 推理过程的状态(其思想及其状态的历史)。
在这里插入图片描述
在这里插入图片描述

图3:GoT的系统架构,以及各个模块的API。用户可以直接将设计扩展到新的提示方案,尝试新颖的思维转变,并插入不同的法学硕士。图中蓝色部分包含架构概述,绿色部分列出了 API,红色部分包含示例提示以及 GRS 和涉及的操作。

4.1 提示器

提示者准备发送给法学硕士的提示。该模块负责对提示中的图形结构进行编码的细节。 GoT 架构使用户能够通过提供对图结构的完全访问来实现特定于用例的图编码。

4.2 解析器

解析器从 LLM 的想法中提取信息。对于每个这样的想法,解析器都会构建思想状态,其中包含提取的信息。然后使用思想状态来相应地更新 GRS。

4.3 评分与验证

在这里,我们验证给定的法学硕士的想法是否满足潜在的正确性条件,然后我们为其分配一个分数。根据分数的得出方式,该模块可能会咨询法学硕士。此外,根据使用情况,分数也可以由人来分配。最后,排序等用例使用简单的本地评分函数。

4.4 控制器

控制器实现了从其 GRS 结构中选择思想的特定策略。它还选择应将哪些转换应用于哪些想法,然后将此信息传递给提示器。它还决定是否应该完成整个过程,或者是否应该启动下一轮与法学硕士的互动。在我们当前的设计中,这是由 GoO 中指定的执行计划决定的。

4.5 GoO 和 GRS

用户构造一个GoO实例,它规定了思维操作的执行计划。 GoO 是一个静态结构,在执行开始之前构造一次。每个操作对象都知道其前驱操作和后继操作。然后,在执行过程中,GoO 的实例会维护有关 LLM 推理过程的不断更新的信息。这包括到目前为止已执行的操作、所有生成的 LLM 想法的状态、其有效性和分数以及任何其他相关信息。

上述元素提供了可扩展的 API,可以直接实现不同的提示方案。图 3 的绿色部分概述了这些 API,并在文档中详细介绍了这些 API。我们还提供了这些操作使用的提示示例以及图 3 红色部分中相应的 GRS。

5. 示例用例

我们现在描述 GoT 的几个用例。

5.1 排序

由于篇幅限制,我们详细介绍一个用例(排序)。我们重点关注其分解和操作图,它们对于在 GoT 内实现和执行任何工作负载至关重要。我们考虑对重复的数字 0-9 进行排序。所考虑的法学硕士无法一致地对超过一定长度的此类数字序列进行正确排序,因为重复计数不匹配。

在 GoT 中,我们采用基于合并的排序:首先,将输入的数字序列分解为子数组。然后,对这些子数组分别进行排序,然后分别合并成最终的解决方案。图 4 说明了该用例及其图分解。在这里,法学硕士思想是一系列排序的数字。
在这里插入图片描述
在这里插入图片描述

图 4:GoT 中排序用例的图形分解示例。所有使用的操作(生成、聚合、评分、KeepBest)如图 3 所示。

要对结果进行评分,请用 [a1, a2, …, an] 表示输入序列,并用 [b1, b2, …, bm] 表示输出序列。我们使用以下分数来确定错误的“范围”:

这里,X表示有多少连续的数字对被错误排序。如果两个数字 i 和 i + 1 排序不正确(即 bi > bi+1),则求和中的表达式将返回 1,将错误分数增加 1。对于正确排序的两个数字,此表达式等于 0。然后,Y 确定给定输出序列保留输出数字频率的程度。具体来说,对于每个考虑的数字 x (x ∈ {0, …, 9}),我们获得等于 x 的输入元素计数与等于 x 的输出元素计数之间的差。对于完美保留 x 频率的输出序列,这将等于 0。此计数中的任何单个“偏差”都会使“误差范围”增加 1)。然后我们将其与所有考虑的 x 值相加。在绘制此分数时,为了提高绘图的清晰度,我们还应用了裁剪 min(error-scope, n),因为某些基线(IO、CoT)会导致大量具有高误差范围的异常值。最后,要使用描述“正确排序的范围”元素的“正分数”,可以使用值 max(n − error-scope, 0)。

5.2 集合运算

此外,我们还考虑集合运算,重点关注集合交集。它们在从基因组或文档比较到模式匹配的问题中有许多应用(特别是集合交集)[20,57,38,1,27,49,10,9]。两个集合的集合交集的实现方式与排序类似。第二个输入集被分成子集,并且这些子集与第一个输入集的交集在法学硕士的帮助下确定。然后将所得的交集进行聚合以获得最终结果。 为了进行评估,我们使用 32、64 和 128 个元素的不同集合大小,并将两个集合中的元素数量更改为 25% 到 75% 之间。

我们的分数表示最终交集中缺失或错误包含的元素的总数。具体来说,用 A = [a1, a2, …, an] 和 B = [b1, b2, …, bn] 表示两个输入集,用 C = [c1, c2, …, bn] 表示输出集。 , 厘米]。然后,

其中 X1 = |C \ (A ∩ B)|是 C 中不应该存在的元素的数量,X2 = |(A ∩ B) \ C |是 C 中缺失的元素数量,Xd 是 C 中重复项的数量(因为 LLM 用自然语言将集合表示为列表)。最后,要使用描述“正确计算的范围”元素的“正分数”,可以使用值 max(n − error-scope, 0)。

5.3 关键词计数

关键字计数可查找输入文本中给定类别(我们示例实现中的国家/地区)中关键字的频率。 GoT 将输入文本拆分为多个段落,统计每个段落中的关键字并聚合子结果。段落数量是可配置的,也可以留给法学硕士,从而可以将每个句子视为单独的段落。在这里,为了对想法进行评分,我们首先针对每个关键字得出计算计数与正确计数之间的绝对差。然后我们将所有这些差异相加以获得最终分数。

5.4 文档合并

最后,我们还提供文档合并。此处的目标是根据内容部分重叠的多个输入文件生成新的保密协议 (NDA) 文档。目标是确保最大限度地减少重复,同时最大限度地保留信息。文档合并广泛适用于例如法律程序,其中必须将多个信息源合并到单个文档或文章中。为了对解决方案进行评分,我们向 LLM 查询两个值(每个值 3 次,并取平均值)。第一个值对应于解决方案冗余(10表示无冗余,0表示至少一半信息是冗余的),第二个值代表信息保留(10表示保留所有信息,0表示不保留任何信息)。我们计算这些值的调和平均值。

6. 延迟与容量的权衡

我们现在表明,GoT 在延迟(思想图中达到给定最终思想的跳数)和数量之间的权衡方面改进了以前的提示方案。我们将给定想法 t 的数量定义为可能影响 t 的先前法学硕士想法的数量。形式上,t 的体积是思想图中存在通往 t 的路径的思想数量。我们假设输出一个想法需要 O(1) 时间,并将每个提示方案的总成本固定为 θ(n)。

该方案的结构如下。 CoT-SC 由源自单一起始思想的 k 个独立链组成。 ToT是一棵完全k叉树。最后,在 GoT 中,完整的 k 叉树在其叶子处与大小相同但边缘相反的“镜像”k 叉树连接起来。

表 2 详细介绍了分析。CoT 提供高达 N 的大容量,但代价是 N 的高延迟。 CoT-SC 将延迟减少了 k 倍(对应于其分支因子),但同时也将音量减少了 k 倍。 ToT 提供 logk N 的延迟,但容量也较低。 GoT 是唯一同时具有 logk N 低延迟和高容量 N 的方案。这是因为 GoT 利用思想聚合,使得可以从图分解中的任何其他中间思想得出最终思想。
在这里插入图片描述

表 2:提示方案的比较,以及延迟和音量之间的基本权衡。 GoT 提供了最好的权衡。

7. 评价

我们展示了 GoT 相对于现有技术的优势。我们专注于比较 GoT 和 ToT,因为它被证明始终优于其他方案。尽管如此,为了进行广泛的比较,我们还尝试了 IO、CoT 和 CoT-SC。由于我们的分析结果涉及很大的评估空间,因此我们呈现具有代表性的结果并省略不会带来相关见解的数据(例如,CoT-SC)。

7.1 评价方法

我们为每个任务和比较基线使用 100 个输入样本。除非另有说明,我们将温度设置为 1.0,并使用 4k 上下文。对于每个实验,我们固定各个方案中的想法数量,以在每个实验中实现相似的成本。

参数 我们对分支因子 k 和级别数 L 进行了广泛的实验,以确保我们将 GoT 与具有成本效益和优势的配置进行比较。我们绘制了 ToT 的两种变体:一种具有较高的 k 和较低的深度 (ToT),另一种具有较低的 k 但较高的 L (ToT2)。我们通常的目标是在稀疏生成轮次(较低的 k)与更多轮次(较大的 L)之间进行权衡。通常,每轮响应越多,成本就越高(例如,图 7 中的总响应数为 80 与 60,但成本为 6 美元与 3 美元)。我们还尝试不同的问题大小 P(例如,在排序中,P 表示要对多少个数字进行排序)。

使用过的LLM 由于预算限制,我们重点关注GPT3.5,使用GPT-4。我们也用 Llama-2 进行了实验,但它通常比 GPT-3.5 差,而且运行速度也慢得多,导致无法获得足够的样本。

7.2 GoT优势分析

在这里插入图片描述

图 5:使用 ChatGPT-3.5 对任务进行排序的错误数量和成本。 L和k表示ToT的结构(参见第3.2节和第6节)。

在这里插入图片描述

图 6:与 ChatGPT-3.5 的集合交集的错误数量和成本。 L和k表示ToT的结构(参见第3.2节和第6节)。

分析结果如图5(排序)、图6(集合交集)、图7(关键词计数)、图8(文档合并);有关具体用例的描述,请参阅第 5 节。总体而言,与 ToT 相比,GoT 提高了所有考虑的基线的结果质量,并且降低了推理成本。
在这里插入图片描述

图 7:使用 ChatGPT-3.5 进行关键字计数时的错误数量和成本。 L和k表示ToT的结构(参见第3.2节和第6节)。

在这里插入图片描述

图 8:使用 ChatGPT-3.5 合并文档的得分和成本。 L和k表示ToT的结构(参见第3.2节和第6节)。样品数量:50个;上下文大小:16k 个标记。

GoT 与 ToT 在所有考虑的问题实例中,GoT 比 ToT 和 ToT2 有了很大的改进。 ToT 通常比 ToT2 具有更高的质量,但同时成本也更高。 GoT 的成本始终低于 ToT,并且与 ToT2 相当(在某些情况下较低,在其他情况下较高)。例如,与 ToT 相比,它可以将中值误差降低约 62%,从而实现更高的分选质量(P = 128),同时确保成本降低超过 31%。这些优势归功于 GoT 能够将复杂的任务分解为更简单的子任务,独立解决这些子任务,然后逐步将这些结果合并到最终结果中。

GoT 与 IO 和 CoT GoT 始终提供比 IO/CoT 更高质量的结果。例如,对于排序(P = 64),GoT 的中值误差分别比 CoT 和 IO 低约 65% 和约 83%。然而,GoT 和 ToT 的成本远高于 IO 和 CoT。这主要是由于我们的 CoT 配置,如果这不能改善结果,我们不会人为地增加推理链的长度。 GoT 和 ToT 的较高成本是由为每个生成操作构建的 k 个新想法驱动的;这些多重思考是GoT品质优越的原因之一。

解决问题的复杂性不断增加 最重要的是,随着问题 P 规模的不断增大,GoT 在所有基线的质量方面的优势都会增加。例如,在排序中,虽然对于 P = 32 GoT 仅比 ToT2 略有改善,但其中位错误计数在 P = 64 时降低了约 61%,在 P = 128 时降低了约 69%。四分位数也分别变得更好。其他方案的结果也遵循直觉;例如,随着 P 的增加,IO 变得越来越差,这是预期的,因为单个想法不太可能解决大问题实例。总体而言,此分析表明 GoT 确实非常适合复杂的问题案例,因为随着问题规模的扩大,执行计划通常会变得更加复杂。

7.3 任务分解讨论

当将任务拆分为子任务然后解决这些子任务时,响应的大小和输入(以标记为单位)将根据任务分解的程度按比例减少。然而,提示的“静态”部分(即少量示例)可能会成为很大的开销(参见图 7 中的 GoT4 到 GoT8)。在这里,我们观察到这些小例子的大小通常也可以减小(例如,用于演示关键字计数的段落也可以变得更小,但仍然表明实际输入大小),从而积极致力于降低成本(例如,参见图 7 中 GoT8 和 GoTx 之间的差异)。

进行图分解时的总体目标是将任务分解到一个点,使法学硕士可以使用单个提示(或一些额外的改进步骤)在大多数情况下正确解决它。这显着减少了图探索后期阶段所需的改进/细化步骤的数量。此外,正如我们的结果所示,组合或连接子结果通常比从头开始解决大型任务实例更容易。因此,法学硕士在汇总最终解决方案时通常会取得成功。

8. 相关工作

我们总结了GoT和相关工作之间的关系。

8.1 提示范式和方法

我们在第 1 节和表 1 中详细介绍了不同的提示范例。还有许多其他与提示相关的工作。我们现在简要总结一些最相关的内容;更广泛的描述可以在专门的调查中找到[68,40,69,34]。王等人。提出了 Plan-andSolve,一种通过明确的规划阶段增强 CoT 的方法 [65]。 Fu 等人设计了使用基于复杂性的标准来增强 CoT 内的提示。 [66, 29]。自学推理机(STaR)[79]产生多个思想链,并选择有效的思想链。同样,Shum 等人的方案。 [60]生成 CoT 候选池,并根据候选是否与真实情况匹配以及基于策略梯度的方法来选择最佳候选。自动提示生成克服了 CoT 中的扩展问题 [58,42,41]。周等人。提出利用从候选集中选择最佳提示[83]。

最后,在提示链接中,一个级联了不同的LLM。 这使得能够通过不同的上下文提示不同的法学硕士,从而实现更强大的推理[21,47,72,23,50,71,72]。 GoT 与此类方案正交,因为它专注于单一上下文功能。

8.2 自我反思与自我评价

最近引入了自我反思和自我评价[59,48,45,74]。它们用于增强不同的任务,例如代码生成[17]或计算机操作任务[39]。在《GoT》中,我们在决定如何在提示中扩展思维图时部分依赖于自我评估。

8.3 LLM与规划

最近有很多关于如何利用法学硕士来规划复杂任务的研究[36,80,77,75,67,37]。 GoT 可以被视为一个通用框架,通过提供生成复杂的基于图形的计划的范例,可以潜在地用于增强此类方案。

8.4 图和图计算

图已经成为通用计算领域非常流行和重要的一部分[44,46,32,31,55]。最近,人们对图数据库[53,54,11,4,5,8],图模式匹配[25,18,61,10,2,1],图流[26, 22, 3],以及图机器学习以及图神经网络 [33, 73, 82, 81, 16, 33, 12, 6, 30, 56, 7]。图抽象对于许多现代研究领域都取得了丰硕的成果,例如社会科学(例如,研究人类相互作用)、生物信息学(例如,分析蛋白质结构)、化学(例如,设计化合物)、医学(例如,药物发现)、网络安全(例如,识别入侵机器)、医疗保健(例如,揭露提交欺诈性索赔的人群)、网络图分析(例如,提供准确的搜索服务)、娱乐服务(例如,预测电影受欢迎程度)、语言学(例如,建模)单词之间的关系)、交通(例如,寻找有效的路线)、物理学(例如,理解相变和临界现象)以及许多其他[44,20,38,35,15]。在这项工作中,我们利用图抽象作为增强法学硕士提示能力的关键机制。

9. 结论

即时工程是大语言模型(LLM)研究的核心新领域之一。它可以高效地使用法学硕士,无需任何模型更新。然而,设计有效的提示是一项具有挑战性的任务。

在这项工作中,我们提出了思想图(GoT),这是一种新的范式,使法学硕士能够有效地解决不同的任务,而无需任何模型更新。关键思想是将 LLM 推理建模为任意图,其中思想是顶点,思想之间的依赖关系是边。这使得思想的新颖转变成为可能,例如聚合。人类的任务解决通常是非线性的,它涉及将中间解决方案组合成最终解决方案,或者在发现新见解时改变推理流程。 GoT 通过其图结构反映了这一点。

GoT 优于其他提示方案,例如确保分类质量比 ToT 提高 62%,同时将成本降低超过 31%。我们还提出了一种用于提示方案的新颖指标,即思想的数量,以指示给定的 LLM 输出可以携带的信息范围,GoT 在这方面也很擅长。这为迈向更有原则的提示工程迈出了一步。

图抽象是过去几十年来计算和人工智能领域一些成功设计的基础,例如用于蛋白质预测的 AlphaFold。我们的工作在快速工程领域利用它。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/992820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深圳汇报片制作需要优先了解哪些信息

在现代社会中,汇报片成为了一种重要的传媒形式,被广泛应用于各个领域。无论是在企业、政府机构还是学术界,制作一部高质量的汇报片都是非常重要的。而要制作出一部成功的汇报片,一个合理的制作结构是至关重要的。 一个典型的汇报…

数据结构:线性表之-单向链表(无头)

目录 什么是单向链表 顺序表和链表的区别和联系 顺序表: 链表: 链表表示(单项)和实现 1.1 链表的概念及结构 1.2单链表(无头)的实现 所用文件 将有以下功能: 链表定义 创建新链表元素 尾插 头插 尾删 头删 查找-给一个节点的…

H.264编码及AAC编码基础

文章目录 前言一、视频编码的实现原理1、视频编码技术的基本原理2、视频编码技术的实现方法3、运动估计和补偿①、块(Block)与宏块(MicroBlock)②、I 帧、P 帧、B 帧的小结③、I 帧(帧内编码)④、如何衡量和…

软件测试中的43个功能测试点总结

功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。针对web系统的常用测试方法如下: 1、页面链接检查: 每一个链接是否都有对应的页面,并且页面之间切换正…

EasyPHP-Devserver-17安装和配置mantisBT

文章目录 1、准备工作2、安装easyphp2.1 http://127.0.0.1 无法访问 3、安装mantisBT和phpMyAdmin3.1 配置浏览器的访问url和端口号(配置局域网内可访问)3.2 安装mantis 4、Administrator 注册新用户时设置登录密码5、附件上传6、邮件配置 文章参考自&am…

模型推理后处理C++代码优化案例

文章目录 项目场景:问题描述原因分析:解决方案:小结 项目场景: 经过推理的后处理运行时间的优化。 先来看下优化前后的时间对比: 优化前: 优化后: 提升还是很大的。 问题描述 模型推理后得…

mybatis-plus 数据字段进行加解密入库,且加密字段支持模糊搜索

mybatis-plus 数据进行字段加解密入库,加密字段支持模糊搜索 前提介绍 (开发环境需求) 1. 开发框架、环境 springbootmybatis-plusmysql5.7(oracle应该也是可以的,没有测试,但实现思路是都可以满足&…

CSP 202206-1 归一化处理

答题 #include<iostream> #include<cmath> using namespace std;int main() {int n;double variance0,average0;cin>>n;double a[n];for(int i0;i<n;i){cin>>a[i];averagea[i];}averageaverage/n;for(int i0;i<n;i){variance(a[i]-average)*(a[…

Redis事务的理解

介绍 Redis通过MULTI、EXEC、WATCH等命令来实现事务功能。 事务提供了一种将多个命令请求打包&#xff0c;然后一次性、按照顺序地执行多个命令的机制&#xff0c;并且在事务执行期间&#xff0c;服务器不会因为其他客户端请求而中断事务的执行功能&#xff0c;他会将事务中的…

nvidia-smi 命令详解

nvidia-smi 命令详解 1. nvidia-smi 面板解析2. 显存与GPU的区别 Reference: nvidia-smi命令详解 相关文章&#xff1a; nvidia-smi nvcc -V 及 CUDA、cuDNN 安装 nvidia-smi(NVIDIA System Management Interface) 是一种命令行实用程序&#xff0c;用于监控和管理 NVIDIA G…

Jetsonnano B01 笔记3:GPIO上拉下拉-输入输出读取

今日继续我的jetsonnano学习之路&#xff0c;今日学习的是GPIO的上拉下拉&#xff0c;输入输出的读取&#xff0c;文章贴出完整操作步骤过程&#xff0c;贴出源码。 目录 Linux常用文件命令&#xff1a; ls&#xff08;list&#xff09;列表&#xff1a; man&#xff1a; …

系统报错“由于找不到msvcp140.dll无法继续执行代码”的处理方法

我在使用电脑时&#xff0c;突然发现了一个错误提示&#xff1a;“无法启动程序&#xff0c;因为找不到msvcp140.dll文件”。这让我非常困惑&#xff0c;因为我确定这个文件应该存在于我的电脑上。但是电脑依然报错“由于找不到msvcp140.dll无法继续执行代码”&#xff0c;这个…

apache-activemq-5.17.1一键安装安装

下载 安装 双击InstallService.bat脚本 查看是否安装完成

C# Solidworks二次开发:创建草图文本和创建草图中心线API详解

今天要介绍的是关于如何创建草图文本的API以及创建草图中心线的API&#xff0c;同时把一些连带的API也会和大家介绍一下&#xff0c;依然是满满的干货。 &#xff08;1&#xff09;创建草图文本API&#xff0c;InsertSketchText() 这个API的输入参数如下图所示&#xff1a; 一…

SD、SDIO和MMC接口基础和规范介绍

在MMC规范发展的过程中出现了很多的名词&#xff0c;如SDHC、SDIO、SDXC等&#xff0c;每次看到这些不同的规范都有点懵&#xff0c;也很容易搞混&#xff0c;所以本篇文章就来介绍一下MMC规范发展过程中出现的一些新的规范&#xff0c;并详细地理解一下SD和SDIO。 文章目录 1 …

Postman接口测试流程

一、工具安装 ● 安装Postman有中文版和英文版&#xff0c;可以选择自己喜欢的版本即可。安装时重新选择一下安装路径&#xff08;也可以默认路径&#xff09;&#xff0c;一直下一步安装完成即可。&#xff08;本文档采用英文版本&#xff09;安装文件网盘路径链接&#xff1…

哈希的应用——布隆过滤器

文章目录 前言1. 布隆过滤器提出2. 布隆过滤器概念3. 布隆过滤器的插入多哈希函数映射减少冲突结构定义及set&#xff08;插入&#xff09;函数实现 4. 布隆过滤器的查找test&#xff08;查找&#xff09;函数实现布隆过滤器允许误判 5. 布隆过滤器的适用场景6. 如何选择布隆过…

AOI软件之 CAD图纸导入功能

在这里&#xff0c;我不过多的解释AOI&#xff0c;半导体检测行业内的小伙伴自然会懂&#xff1b;我也不会过多解释何为diemap或者wafer-layout。因为我们本文的核心场景仅仅是cad图纸的解析和基本绘图的二次开发。而且我们紧紧是面向行业内的场景需求来说明此功能。 无图我说…

强大的JTAG边界扫描(4):STM32边界扫描应用

文章目录 1. 获取芯片的BSDL文件2. 硬件连接3. 边界扫描测试4. 总结 试想这样一个场景&#xff0c;我们新设计了一款集成了很多芯片的板卡&#xff0c;包括BGA封装的微控制器&#xff0c;如FPGA/MCU&#xff0c;还有LED、按键、串口、传感器、ADC等基本外设。 我们需要测试一下…

时序分解 | MATLAB实现基于EWT经验小波变换的信号分解分量可视化

时序分解 | MATLAB实现基于EWT经验小波变换的信号分解分量可视化 目录 时序分解 | MATLAB实现基于EWT经验小波变换的信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 EWT经验小波变换 包含频谱相关系数 可直接运行 Matlab代码 1.可自由设置分量个数&…