Tree of Thoughts: Deliberate Problem Solving with Large Language Models

news2024/12/23 23:02:56

思维树:用大模型深思熟虑的解决问题

  • Tree of Thoughts: Deliberate Problem Solving with Large Language Models
    • 概述:
    • 核心思想:
    • 背景:
      • IO prompting
      • CoT
      • CoT-SC
    • 算法流程:
    • 主要实验对象:
      • 24点游戏
      • 创意写作
      • 填字游戏
    • 存在的问题:
    • 总结:

Tree of Thoughts: Deliberate Problem Solving with Large Language Models

概述:

通过思维链(ToT) 允许 LM 通过考虑多个不同的推理路径和自我评估选择来决定下一个动作过程来执行深思熟虑的决策,以及在做出全局选择时展望未来或回溯

在24点游戏中,而具有思维链提示的 GPT-4 仅解决了4% 的任务,我们的方法的成功率为 74%。

在这里插入图片描述

核心思想:

一个真正的解决问题的过程涉及重复使用现有信息来启动探索,这反过来又披露了更多的信息,直到最终找到获得解决方案的方法。即通过树来进行搜索和回溯。

背景:

IO prompting

语言模型(LM)将输入x转换为输出y的常见方法

我们可以使用语言模型来将给定的输入x转换为相应的输出y。输入-输出提示是这种转换过程中最常见的方法之一。
promptIO (x)是一个用于封装输入x的任务指令和/或一些输入-输出示例的方式。它的目的是为了帮助语言模型理解并生成适当的输出。

CoT

coT用于解决输入x到输出y的映射问题,尤其是当x是一个数学问题而y是最终的数值答案时。关键思想是引入思想链z1,···,zn来连接x和y。

当x是一个数学问题而y是最终的数值答案时。关键思想是引入思想链z1,····,zn来连接x和y。从数学上来理解就是每个思想zi可以表示为数学QA的中间方程。(高考数学每一个中间步骤都有分数,得出几个步骤就可以拿满分)

CoT-SC

CoT-sc是对传统CoT方法的改进。由于相同的问题通常有不同的思维过程,CoT-sc通过探索更多的思维链来更准确地捕捉这种多样性。这样可以使输出决策更加忠实于问题的多个解决方法。

COT-SC: 通常来说,一个数学证明有不同的解法,找出最佳的解法就是cot-sc做的事情。出现最多的yi。
CoT-sc的一个局限是它并没有在每个思维链中进行对不同思维步骤的局部探索。这可能导致没有充分地探索所有的潜在思路。另外,使用“最频繁”的启发式只适用于输出空间有限的情况,比如多项选择问答,对于输出空间无限或者较大的问题,这种方法可能不够有效。

算法流程:

ToT作为LLM的一般问题解决方法有几个好处:

  1. 通用性。IO、CoT、CoT- sc和自细化可以看作是ToT的特殊情况(即深度和宽度有限的树).
  2. 模块化。基本LM以及思想分解、生成、评估和搜索过程都可以独立变化。
  3. 适应性。可以容纳不同的问题属性、LM功能和资源约束。
  4. 方便。不需要额外的训练,只需要一个预训练的LM就足够了。
  • 如何将中间过程分解为思想步骤

根据不同的问题,一个想法可以是几个单词(填字游戏),一行方程(24点游戏),或一整段写作计划(创意写作)。
一般来说,一个想法应该足够"小",以便LMs可以生成有希望的和多样化的样本(例如,生成整本书通常太"大"而不连贯),但又足够"大",以便LMs可以评估其解决问题的前景(例如,生成一个令牌通常太"小"而无法评估)。

  • 如何从每个状态生成潜在思想
  1. CoT提示:当思想空间丰富(例如每个思想是一个段落,创意写作)时,这种方法效果更好。
  2. 使用“建议提示”顺序提出想法:这在思维空间受限时效果更好(例如,每个思维只是一个单词或一行,24点和填词游戏),因此在相同的上下文中提出不同的思维可以避免重复
  • 如何启发式地评估状态

通过使用LM对状态进行推理。当适用时,这种深思熟虑的启发式比编程规则更灵活,比学习模型更有效。与思想生成器类似,我们考虑两种策略来单独或一起评估状态:

  1. 独立地为每个状态赋值:以产生一个标量值(例如1-10)或一个分类(例如sure/likely/impossible),它可以被启发地转化为一个值。这种评价性推理的基础可能因问题和思维步骤而异。在这项工作中,我们通过一些前瞻性模拟来探索评估(例如,快速确认5,5,14可以通过5 + 5 + 14达到24,以及常识(例如,1 2 3太小而无法达到24。
  2. LLM投票
    当问题的成功难以直接评价时(例如,段落的连贯性),比较不同的部分解决方案并投票选出最有希望的解决方案是很自然的。
  • 使用哪种搜索算法
  1. 广度优先搜索(BFS)(算法1)每一步维护一个由b个最有希望的状态组成的集合。这用于Game of 24和Creative Writing,其中树深度是有限的(T≤3),并且可以评估初始思维步骤并将其修剪为一个小集合(b≤5)。
  2. 深度优先搜索(DFS)(算法2)首先探索最有希望的状态,直到达到最终输出(t > T),或者状态评估器认为不可能解决问题。在这两种情况下,dfs都回溯到父状态以继续探索。

主要实验对象:

24点游戏

游戏24点是一个数学推理挑战,其目标是使用4个数字和基本的算术运算(±**/)来获得24。例如,给定输入“4 9 10 13”,解输出可能是“(10 - 4)*(13 - 9)= 24”。

  1. 思维生成器

对于思维链(CoT)提示,用3个中间方程增加每个输入-输出对,每个方程操作两个剩余的数字。

例如,输入“4 9 10 13”,想法可能是:

4 + 9 = 13(剩余10 13 13)

10 - 4 = 6 (剩余6 9 13)

  1. 思维验证器

    验证上一步生成的数字能不能到达24点。

    我们在ToT中执行广度优先搜索(BFS),在每一步中我们保留最好的b = 5个候选者。为了在ToT中执行深思熟虑的BFS,如图2(b)所示,我们提示LM评估每个思想候选人在达到24方面的确定/可能/不可能

    其目的是促进可以在几次前瞻性试验中确定的正确的部分解决方案,并基于“太大/太小”的常识消除不可能的部分解决方案,并保留其余的“可能”。

在这里插入图片描述

创意写作

在一个随机选择的创意写作任务中深思熟虑的搜索步骤。给定输入,LM对5个不同的计划进行抽样,然后投票5次以决定哪个计划是最好的。因此,多数选择用于使用相同的抽样投票过程编写输出通道。
在这里插入图片描述

填字游戏

目标不仅仅是解决任务,因为更一般的填字游戏可以很容易地通过专门的NLP任务,利用大规模检索而不是LLM。相反,我们的目标是探索LM作为一般问题解决器的极限。利用深度优先搜索(算法2),不断探索最有希望的后续单词线索,直到状态不再有希望,然后返回到父状态以探索其他想法。为了使搜索易于处理,后续的想法被限制不改变任何填充的单词或字母,因此ToT最多有10个中间步骤。

在这里插入图片描述

存在的问题:

然而,使用代表思想的 PAL 公式作为代码,这使得很难解决我们在本文中考虑的创造性写作等具有挑战性的任务。因此,我们的 Tree-of-Thought 公式更通用的任务,并处理 GPT-4 仅使用标准提示实现了非常低的准确度的具有挑战性的任务。

总结:

此外,ToT 等搜索方法比采样方法需要更多的资源(例如 GPT-4 API 成本),以提高任务性能,但 ToT 的模块化灵活性允许用户自定义此类性能成本权衡,并且正在进行的开源努力 在不久的将来应该很容易降低此类成本。最后,这项工作的重点是使用现成的 LM,并使用 ToT 风格的高级反事实决策(例如,考虑下一段的潜在选择,而不是预测下一个标记)微调 LM 可能会有机会增强 LM 的问题解决能力。

更广泛的影响。ToT是一个框架,它使LMs能够更自主、更智能地做出决策和解决问题。虽然目前的任务仅限于推理和搜索问题,但涉及与外部环境或人类交互的未来应用可能带来潜在的危险,例如促进LMs的有害使用。另一方面,ToT还提高了模型决策的可解释性和人为对齐的机会,因为结果表示是可读的高级语言推理,而不是隐式的低级令牌值。

思想树框架提供了一种方法,将解决问题的经典见解转化为当代lm的可操作方法。同时,LMs解决了这些经典方法的一个弱点,提供了一种方法来解决不容易形式化的复杂问题,比如创造性写作。我们认为LMs与经典人工智能方法的交叉是未来工作的一个令人兴奋的方向。

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

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

相关文章

Linux5.3 Haproxy搭建Web群集

文章目录 计算机系统5G云计算第四章 LINUX Haproxy搭建Web群集一、Keepalived 概述1. HAProxy的主要特性2.常见的 Web 集群调度器3.HAProxy负载均衡策略4.LVS、Nginx、HAproxy的区别 二、Haproxy搭建 Web 群集 Keepalived部署高可用集群1.haproxy 服务器部署,配置负…

Linux shell脚本命令记录

1、cut cut 命令可以从一个文本文件或者文本流中提取文本列。 选项与参数: -d :后面接分隔字符。与 -f 一起使用; -f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思; -c &#x…

如何进行App性能测试?iTest工具助力你轻松实现!

目录 引言 功能简介 基本功能使用说明 其它功能 iTest数据上传功能 iTest使用注意事项 引言 如何使用iTest工具进行App性能测试。 在如今这个高度竞争的移动应用市场中,用户对于应用程序的体验需求越来越高,而良好的性能表现则是实现这一目标的关…

CleanMyMac X 4.13.4 Mac系统老牌清洁工具大测评-功能、优缺点盘点

CleanMyMac X 4.13.4 for Mac 是一款可靠且功能强大的Mac清洁工具工具,他可以让你随时检查Mac电脑的健康情况,并删除电脑中的垃圾文件,来腾出存储空间,保持Mac系统的整洁。至问世以来,CleanMyMac 系统倍受国内外用户推…

SpringBoot 源码分析刷新应用上下文(3)-refreshContext

一:入口 /*** Run the Spring application, creating and refreshing a new* {link ApplicationContext}.* param args the application arguments (usually passed from a Java main method)* return a running {link ApplicationContext}*/public ConfigurableAp…

高阶复杂网络重建:从时间序列中重建高阶网络

论文链接:https://www.nature.com/articles/s41467-022-30706-9 一、为什么要研究高阶网络? 复杂网络跟我们生活息息相关,例如社交网络的信息传播,疾病的感染扩散和基因调控网络的相互作用等。越来越多的研究突破了传统网络中两…

SSH暴力破解

Linux是开源系统,系统本身因漏洞造成的攻击相对比较少,主要集中在SSH攻击; SSH所采用的加密机制,可以防止数据传输过程中信息泄露; SSH基于用户名密码的身份验证,容易遭受密码暴力破解攻击; S…

上海交通大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 上海交通大学(A)考研难度(☆☆☆☆☆) 上海交通大学电子信息与电气工程学院的前身可溯源至1908年的电机专科,享有中国电气工程师“摇篮”的美称,…

远程线程注入之突破Session0隔离会话

前言 当我们使用远程线程注入将dll注入至系统服务进程中往往会失败,这是因为大多数系统服务都是在Session0中运行的 "Session 0"是Windows操作系统中的一个特殊的会话,专门用于运行系统服务和其他在用户登录之前就需要运行的程序。从Windows…

卷积神经网络CNN(第三次组会)

卷积神经网络 1. 为什么用卷积2. 两个原则3. 参数理解4. 理解卷积 1. 为什么用卷积 2. 两个原则 3. 参数理解 4. 理解卷积

Proteus仿真之IIC通信(AT24C02)

1.IIC通信简介:IIC是一种利用时钟线SCL和数据线SDA进行数据传输的通信协议。IIC的时序图如下所示: 我们需要看懂时序图中开始信号、数据传输、应答信号和停止信号。 开始信号:SCL为高电平时,SDA出现下降沿信号。 数据传输&#…

c++类和对象(封装)

4、类和对象 C面向对象的三大特性为:封装、继承、多态 C认为万事万物都皆为对象,对象上有其属性和行为 例如: 人可以作为对象,属性有姓名、年龄、身高、体重...,行为有走、跑、跳、吃饭、唱歌...车也可以作为对象,属性…

python带你制作自动点赞小程序,让我看看谁还在呆呆的手动点赞

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 知识点: 动态数据抓包 requests发送请求 开发环境: 代码所使用软件工具: python 3.8 >>>>>> 运行代码 pycharm 2022.3 >>>>>> 辅助敲代码 需下载的第三方模块&a…

【微信公众平台对接】有关上传pdf到微信

1、微信文档说明 ps:有关微信的一些文档说明我真的是服了,这个文档,抛出来看的人真的是一头雾水,算了,我也不做过多评判;下面看我调用的示例代码 2、示例代码 /*** 上传pdf* https://api.weixin.qq.com/card/invoice…

HTML+CSS实训——Day13——学习MySQL

前言 已经过去三周了,现在是第四周,之前所有的数据都是在本地的,还没有学到数据库,这周开始使用数据库了。 我自用的是navicat 连接服务器 我们新建一个连接,写上主机和端口号,再写上用户名和密码就可以…

【新版】系统架构设计师 - 计算机系统基础知识【补充】

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 计算机系统基础知识【补充内容】计算机语言多媒体系统工程霍尔的三维结构切克兰德方法并行工程方法综合集成法WSR(物理-事理-人理)系统方法系统工程生命周期7阶段生命周期方…

23年软件测试前景和出路?新人入行测试怎样走“正确“的路...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 现在面试&#xf…

Java IO 学习总结(一)输入流/输出流

前言: 学习IO流,记录并分享。文章如有错误,恳请指正。 Java IO流的类图: 1、什么是 Java IO 流? 数据传输是需要通道的,而IO流就是数据传输的通道。IO流可以形象比喻为运送货物的传输带。运送的货物就是…

电子蜡烛灯单片机开发方案

LED蜡烛灯可以像真正的蜡烛一样发出舒适的闪烁光,具有仿真蜡烛效果,适合在一些聚会或庆祝活动中使用。宇凡微推出的低成本LED蜡烛灯IC方案,根据不同电子蜡烛灯方案,主控芯片推荐使用YF单片机。 LED蜡烛灯是有孩子的家庭很好蜡烛替…

【51单片机疑难杂症】:基于普中科技51单片机-A3型号开发板 ds18b20温度传感器和ds1302时钟芯片(板载)冲突现象的解答

项目场景: 当使用普中科技A3型号,准备开发板载的ds1302和温度ds18b20,出现了两者不能共用的问题,以下是问题记录与解答,大家如果觉得有用,请关注点赞哦。谢谢大家。 问题描述 基于普中科技51单片机-A3型号开发板 ds18b…