论文浅尝 | 思维树:使用大语言模型反复思考解决问题

39fbe2b9ed3cfff7b44287a600bbfae8.png

笔记整理:许泽众,浙江大学博士,研究方向为知识图谱上的神经符号推理

链接:https://arxiv.org/abs/2305.10601

1. 动机

语言模型是一种强大的工具,可以用于各种需要数学、符号、常识或知识推理的任务。然而,现有的语言模型推理方法通常只能进行基于单词的、从左到右的决策过程,这意味着它们在需要探索、策略性预测或初始决策至关重要的任务上可能表现不佳。为了解决这些挑战,本文提出了一个新的语言模型推理框架,“Tree of Thoughts”(ToT),它能够在思想(thoughts)之间进行多样化的推理路径探索,其中每个思想是一个连贯的文本单元,作为问题解决的中间步骤。ToT允许语言模型通过考虑多种不同的推理路径并自我评估选择来决定下一步行动,以及在必要时进行前瞻或回溯以做出全局决策。本文在三个新颖的问题解决任务上展示了ToT显著提高了语言模型的问题解决能力:24点游戏、创意写作和迷你填字游戏。例如,在24点游戏中,使用链式思维(CoT)提示的GPT-4只能解决4%的任务,而我们的方法达到了74%的成功率。我们还通过系统地消除分析了不同选择如何影响模型性能,并讨论了未来更好地训练和使用语言模型的方向。

2. 方法

模型的整体架构如下:

03b0379646e6539dfeaa4ac9c8fd0d81.png

左边三个模型是其主要对比的baseline,都是提出prompt激活大模型能力的方法。可以看到ToT的主要区别和基本思路是1、将一个大问题分解成多个步骤的子问题,逐步解决问题;2、在每一步上,都提出多个可能的解决方法;3、判断每一步的最优解,然后在上一步的决策基础上生成下一步的多个解决方案,直到完成问题。

那么以上思路需要面对四个问题:1、如何将中间过程分解为思路步骤;2、如何从每个状态生成潜在的思路;3、如何启发式地评估状态;4、使用什么搜索算法。

论文给出的思路是:

1、如何将中间过程分解为思维步骤。这一步要求根据不同的问题特点,设计和拆分合适的思维步骤。思维步骤应该足够小,以便LM能够生成有意义和多样的候选方案,但也足够大,以便LM能够评估它们对问题解决的贡献。 

2、如何从每个状态生成潜在思维。这一步要求给定一个树节点,即一个包含输入和已有思维序列的状态,使用LM来生成一些可能的下一步思维。有两种生成策略:一种是从sample中独立采样思维,适用于思维空间丰富的情况;另一种是使用propose来顺序提出思维,适用于思维空间受限的情况。两者的区别在于前者只需要根据已有的thought多次单独生成当前一步的thought,后者需要一次性将当前一步若干个可能的thought全部生成,并且要求每个thought不能相同。

3、如何启发式地评估状态。这一步要求利用LM对不同的状态进行评估,作为搜索算法的启发式指导。有两种评估策略:一种是对每个状态单独给出一个数值或分类的评价,基于少量的前瞻模拟和常识推理;另一种是让LM在不同的状态之间进行投票式选择,基于对比和分析。这一步选择最佳状态也是将已有的输出重新输入模型中,让LLM进行打分。

4、什么样的搜索算法。这一步要求根据树的结构和问题的性质,选择合适的搜索算法来探索树上的节点。本文中考虑了两种简单的搜索算法:广度优先搜索(BFS)和深度优先搜索(DFS),并留下了更高级的搜索算法(如A*,MCTS)作为未来工作。

3. 实验

4540152320ae3b7cc5b97477cc9090ae.png

这篇文章在三个任务上进行了实验。分别是计算24点,创意写作和填字游戏。任务样例如上图所示。

对于24点游戏,其结果如下:

9fe167d6a79658151bb8af58dd6bdb1d.png

表2显示,IO、CoT和CoT-SC这三种方法在这个任务上表现不佳,成功率只有7.3%、4.0%和9.0%。相比之下,ToT在分支数量为b=1时就已经达到了45%的成功率,而b=5时则达到了74%。另外还考虑了一个IO/CoT的最优设置,通过使用最优的k个样本(1≤k≤100)来计算成功率。为了比较IO/CoT(最优的k)和ToT,我们考虑计算ToT在b=1···5时每个任务访问的树节点数,并将5个成功率映射到图3(a)中,将IO/CoT(最优的k)视为在一个bandit中访问k个节点。结果显示CoT比IO更具可扩展性,100个CoT样本的最优结果达到了49%的成功率,但仍然比在ToT中探索更多节点(b>1)要差。

对于写作任务:

1d439cb66676c25ba37c0a6156dd6411.png

图5(a)显示了100个任务的平均GPT-4分数,其中ToT(7.56)被认为比IO(6.19)和CoT(6.93)平均生成更连贯的段落。虽然这样的自动指标可能有噪音,但图5(b)通过显示人类在100对段落中有41对更喜欢ToT而只有21对更喜欢CoT来证实了这一发现(另外38对被认为“相似连贯”)。最后,迭代细化在这个自然语言任务上更有效,其中它将IO的连贯性分数从6.19提高到7.67,将ToT的连贯性分数从7.56提高到7.91。我们认为这可以被视为ToT框架中思想生成的第三种方法,即新的思想可以通过改进旧的思想而不是独立或顺序生成而产生。

对于填字任务:

78f9cb58bfbd198f717787a1807a322f.png

表3显示,IO和CoT提示方法的词级成功率低于16%,而ToT显著提高了所有指标,达到了60%的词级成功率。文章认为这是因为IO和CoT缺乏尝试不同线索、改变决策或回溯的机制。

4. 总结

这篇论文提出了一种用大型语言模型(LLM)进行有目的的问题解决的新框架,叫做“思维树”(ToT)。ToT将任何问题视为一个思维树的搜索问题,其中每个节点是一个包含输入和一系列中间思维的状态,每个思维是一个有意义的语言序列。ToT利用LLM来生成和评估不同的思维候选,并结合搜索算法来探索不同的推理路径。作者在三个需要非平凡的规划或搜索的新任务上展示了ToT的效果,分别是24点游戏、创意写作和迷你填字游戏。实验结果表明,ToT显著提高了LLM的问题解决能力,相比于现有的方法,具有更高的通用性、模块性、适应性和便利性。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

0c67c133a6d4d5ce3fe1d92673b4491c.png

点击阅读原文,进入 OpenKG 网站。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

请体验一下falcon 180b 大语言模型的感觉

引言 由Technology Innovation Institute(T四训练的开源大模型Falcon 180B登陆Hugging Face!Falcon180B为开源大模型树立了全新的标杆。作为当前最大的开源大模型,有l80B参数并且是在在3.5万亿token的TII RefinedWeb数据集上进行训练,这也是目前…

列表和字典练习

定义四个学生信息 在Python环境下,用列表定义: >>> stu1[xiaoming,True,21,79.9] >>> stu1[lihong,False,22,69.9] >>> stu1[zhangqiang,True,20,89.9] >>> stu1[EMT,True,23,99.9]如图,定义了四个列表…

Redis高效、安全的不停机数据迁移方案

Redis是目前最流行的键值对存储数据库,凭借高性能和丰富的数据类型的特性,不仅可以作为缓存,还可以作为一个可持久化的数据库存储。随着业务的发展和版本的迭代,必然会遇到内存不足、集群节点不够和BUG等一系列问题。为了防止这些…

深入理解JVM虚拟机第三篇:JVM的指令集架构模型和JVM的生命周期

文章目录 一:JVM的指令集架构模型 1:基于栈式架构的特点 (1):什么叫零地址指令、一地址指令、二地址指令、三地址指令? (2):为什么说不需要硬件支持,可移植性好? 2:基于寄存…

基于Elasticsearch的多文档检索 比如 商品(goods)、案例(cases)

概述 Elasticsearch多文档聚合检索 详细 记得把这几点描述好咯:需求(要做什么) 代码实现过程 项目文件结构截图 演示效果 应用场景 我们需要在五种不同的文档中检索数据。 比如 商品(goods)、案例(ca…

1014. 最佳观光组合

1014. 最佳观光组合 原题链接:完成情况:解题思路:参考代码: 原题链接: 1014. 最佳观光组合 https://editor.csdn.net/md/?not_checkout1&spm1000.2115.3001.5352 完成情况: 解题思路: …

【DevOps核心理念基础】3. 敏捷开发最佳实践

一、敏捷开发最佳实践 1.1 项目管理 1.2 需求管理 1.3 技术架构 1.4 技术开发 1.5 测试 二、敏捷开发最佳实践 2.1 敏捷开发的执行细节 三、全面的DevOps工具链 四、版本控制和协作开发工具 4.1 集中式版本控制工具 4.2 分布式版本控制工具 一、敏捷开发最佳实践 …

房地产小程序 | 小程序赋能,房地产业务数字化升级

随着科技的不断发展,房地产行业正逐渐向数字化转型。在这个过程中,房地产小程序成为了一种重要的工具,可以帮助房地产企业提供更好的购房体验、增加销售额,并实现管理的便捷化。 优点 便捷购房体验:房地产小程序为用户…

使用mybatis批量插入数据

最近在做项目的时候&#xff0c;有些明细数据&#xff0c;一条一条的插入太费资源和时间&#xff0c;所以得需要批量插入&#xff0c;今晚闲来无事写个小demo。 新建工程 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis…

如何实现微服务

一、问题拆解 1.1、客户端如何访问这些服务 原来的Monolithic方式开发&#xff0c;所有的服务都是本地的&#xff0c;UI可以直接调用&#xff1b;现在按功能拆分成独立的服务&#xff0c;跑在独立的虚拟机上的Java进程了。客户端UI如何访问他的&#xff1f; 后台有N个服务&a…

计算机毕业设计 高校课程评价系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

redis安装部署

文章目录 准备工作下载安装包修改配置文件命令常用配置信息 准备工作 检查linux系统是否安装了相关的编译工具 要检查 Linux 系统上是否已经安装了编译工具&#xff0c;可以执行以下命令&#xff1a; 检查 GCC 是否安装&#xff1a;在终端窗口中运行 gcc --version 命令&#…

CTFhub_SSRF靶场教程

CTFhub SSRF 题目 1. Bypass 1.1 URL Bypass 请求的URL中必须包含http://notfound.ctfhub.com&#xff0c;来尝试利用URL的一些特殊地方绕过这个限制吧 1.利用?绕过限制urlhttps://www.baidu.com?www.xxxx.me 2.利用绕过限制urlhttps://www.baidu.comwww.xxxx.me 3.利用斜…

ARM Linux DIY(八)USB 调试

前言 V3s 带有一个 USB 接口&#xff0c;将其设置为 HOST 或 OTG 模式&#xff0c;这样可以用来接入键盘、鼠标等 USB 外设。 USB 简介 USB 有两种设备&#xff1a;HOST 和 USB 功能设备。 在 USB2.0 中又引入了一个新的概念 OTG&#xff0c;即设备角色可以动态切换。 切换方…

技术架构图是什么?和业务架构图的区别是什么?

技术架构图是什么&#xff1f; ​技术架构图是一种图形化工具&#xff0c;用于呈现软件、系统或应用程序的技术层面设计和结构。它展示了系统的各种技术组件、模块、服务以及它们之间的关系和交互方式。技术架构图关注系统内部的技术实现细节&#xff0c;以及各个技术组件之…

python+selenium基于po模式的web自动化测试框架

一、什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分&#xff1a;Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE&#xff1a;Firef…

vue3-admin-element安装

1、直接点此链接进入下载 https://gitee.com/hu-snail/vue3-admin-element-template 2、下载完毕之后是个压缩包&#xff0c;解压 然后直接可以运行到vscode或HBuilder中 3、下载依赖&#xff1a;我使用的npm下载 npm i npm i serve启动 运行&#xff1a;npm run serve …

使用CoreOS来部署一个Kubernetes集群,包括必要的步骤和关键概念

文章目录 什么是CoreOS&#xff1f;准备CoreOS节点安装Kubernetes初始化Kubernetes控制平面加入其他节点设置kubectl配置安装网络插件验证集群部署应用程序结论 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍…

【2023最新B站评论爬虫】用python爬取上千条哔哩哔哩评论

文章目录 一、爬取目标二、展示爬取结果三、爬虫代码四、同步视频五、附完整源码 您好&#xff0c;我是 马哥python说&#xff0c;一枚10年程序猿。 一、爬取目标 之前&#xff0c;我分享过一些B站的爬虫&#xff1a; 【Python爬虫案例】用Python爬取李子柒B站视频数据 【Pyt…

青大数据机构【2013】

关键字&#xff1a; 邻接表空间复杂度、求无向图连通分量&#xff08;BFS、DFS&#xff09;、B树根节点最小关键字、平均查找长度最小的排序、二叉树排序叶子结点次序不变、不同次序建立二叉排序树及中序遍历、直接插入排序特点、强连通分量、邻接矩阵邻接表 一、单选&#x…