XoT:一种新的大语言模型的提示技术

news2024/11/20 20:43:30

这是微软在11月最新发布的一篇论文,题为“Everything of Thoughts: Defying the Law of Penrose Triangle for Thought Generation”,介绍了一种名为XOT的提示技术,它增强了像GPT-3和GPT-4这样的大型语言模型(llm)解决复杂问题的潜力。

当前提示技术的局限性

LLM的最新进展通过将复杂的问题分解成更易于管理的“思想”,然后通过自然语言提示表达出来,从而实现了解决问题的新方法。但是大多数现有的提示技术都有局限性:

输入-输出(IO)提示仅适用于具有单步解决方案的简单问题,缺乏灵活性。

思维链(CoT)能够逐步解决问题,但仅限于线性思维结构,限制了灵活性。

思维树(ToT)和思维图(GoT)允许更灵活的思维结构,如树或图。但是它们需要LLM本身来评估中间思想,通过多个LLM调用产生大量的计算成本。

从本质上讲,当前的提示技术面临着“彭罗斯三角”约束——它们最多可以实现两个属性(性能、效率、灵活性),但不能同时实现这三个属性。

XOT

为了解决这些限制,微软开发了一种新的提示技术,称为XOT (Everything of Thoughts)。XOT集成了强化学习和蒙特卡罗树搜索(MCTS),将外部知识注入提示过程。这增强了llm的功能,并同时实现了更高的性能、效率和灵活性。

XOT的关键组件有:

MCTS模块-使用轻量级策略和价值网络,通过模拟有效地探索任务的潜在思想结构。

LLM求解器-利用LLM的内部知识对MCTS的思想进行提炼和修正。这种协作过程提高了“思维”质量。

XOT框架包括以下关键步骤:

预训练阶段:MCTS模块在特定任务上进行预训练,以学习有关有效思维搜索的领域知识。轻量级策略和价值网络指导搜索。

思想搜索:在推理过程中,预训练的MCTS模块使用策略/价值网络来有效地探索和生成LLM的思想轨迹。

思想修正:LLM审查MCTS的思想并识别任何错误。修正的想法是通过额外的MCTS模拟产生的。

LLM推理:将修改后的想法提供给LLM解决问题的最终提示。

下面的图表说明了XOT框架:

MCTS模块针对特定任务进行预训练,使用策略和价值网络来指导搜索和学习领域知识。

在思想搜索过程中,预训练的MCTS利用策略网络和价值网络有效地探索搜索空间并生成思想轨迹。这包括迭代地选择、展开、计算和反向传播节点。

思想轨迹提供给LLM作为提示。

LLM利用其内部知识来检测思想中的任何错误。如果发现错误,则使用MCTS模块通过额外的模拟来修改思想。

这个过程不断重复,直到LLM使用修改后的高质量思想解决问题。

XOT的一个示例

下面我们使用XOT解决Pocket Cube问题(一个2x2x2的魔方)来作为示例来介绍它是如何运作的

选择:算法从根节点开始,在当前状态下从可用的单步思想生成集中选择一个动作。这个过程一直持续到到达当前树中的一个叶节点。选择以PUCT算法为指导,目标是最大化上置信度界(UCB)。

评估和扩展:在到达先前未选择的叶节点时,会扩展到下一步进行新思想探索的状态。这种展开涉及到对状态的值和动作概率的评估,用θ参数化的神经网络建模,即(Pθ(s), vθ(s)) = fθ(s)。其中Pθ(s)是s上所有动作的先验概率,vθ(s)表示其预测状态值。这两个值被保留和存储用于备份,状态被标记为“已访问”。

反向传播:随着叶子节点在上述阶段的扩展(可以是未探索状态,也可以是终端状态),算法继续通过反向传播更新所有Q(s, a)值。对于未探索的节点,这种更新涉及计算其估计值vθ的平均值,而对于终止的节点,它是基于真实奖励r。这些更新发生在信息沿着轨迹反向传播到后续节点时。这里每个状态-操作对的访问计数也会增加。

思想推理:在MCTS完成搜索后,思想被提取并提供给LLM。LLM随后会对这些想法进行审查和提炼,如果需要,继续MCTS搜索过程,最终通过将这些外部想法与他们的内部知识相结合,形成最终的答案。

重复这个过程,直到问题得到解决或达到预定义的迭代次数。

XOT的优点

与之前的提示技术相比,XOT提供了以下优点:

性能:MCTS探索将领域知识注入思想,增强LLM能力。协同修订过程进一步提高了思维质量。

效率:轻量级策略/价值网络引导MCTS,最大限度地减少昂贵的LLM调用。在推理过程中只需要1-2个调用。

灵活性:MCTS可以探索不同的思维结构,如链、树、图,使创造性思维。

XOT克服了其他提示范例的“彭罗斯三角”限制,同时实现这三个属性。

实验结果

研究人员对《Game of 24》、《8-Puzzle》和《Pocket Cube》等需要长期规划的复杂任务进行了XOT评估:

在所有任务中,XOT的准确率明显优于IO、CoT、ToT和GoT等基线。

经过思想修正,XOT在Game of 24中仅使用1-2个LLM调用就实现了高达90%的准确率,显示出高效率。

XOT高效地为问题生成多种不同的解决方案,展示了灵活性。

对于像8-Puzzle和Pocket Cube这样的空间推理任务,XOT使llm能够解决他们以前遇到的问题。

这些结果突出了XOT如何通过有效和灵活的提示释放llm解决复杂问题的潜力。

总结

XOT提示技术代表了在激发大型语言模型的能力方面的重大进步。通过将MCTS和LLM知识协同结合,XOT与之前的提示范例相比具有更好的性能、效率和灵活性。XOT产生的灵活的思维结构能够创造性地解决问题,而协作修订过程以最少的LLM交互产生高质量的解决方案。

论文地址:

https://avoid.overfit.cn/post/491c60ff00884f06adff77b0025e162d

作者:Raphael Mansuy

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

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

相关文章

运行obotframework-ride控制台报错module ‘urllib‘ has no attribute ‘Request‘

背景:Python3.8robotframework-ride1.7.3.1,运行报错module urllib has no attribute Request 原因: 解决:升级robotframework-ride到2.0以上。或者降级python到3.7。

CentOS 7上Root用户使用ifconfig命令无结果

假如遇到如下情况,在CentOS 7上使用root用户运行ifconfig命令没有结果,如图所示: 这可能是因为缺少网络工具包或ifconfig命令不在root用户的PATH环境变量中。 可以尝试以下解决方法: 1.检查PATH环境变量:确保PATH环境…

解决游戏找不到x3daudio1_7.dll文件的5个方法,快速修复dll问题

在电脑使用过程中,我们经常会遇到一些错误提示,其中之一就是“x3daudio1_7.dll丢失”。这个错误通常会导致软件游戏无法正常启动运行。为了解决这个问题,我们需要采取一些措施来修复丢失的文件。本文将详细介绍解决x3daudio1_7.dll丢失的方法…

Zabbix监控SSL证书有效期

一、介绍 由于业务需要,最近通过 Let’s Encrypt 申请了一些 SSL 证书,而证书有效期为 3 个月,需要在证书到期之前 renew。由于域名较多经常忘记 renew,导致证书过期,因此想通过 Zabbix 的方式监控证书的到期时间&…

Android Studio真机运行时提示“安装失败”

用中兴手机真机运行没问题,用Vivo运行就提示安装失败。前提,手机已经打开了调试模式。 报错 Android Studio报错提示: Error running app The application could not be installed: INSTALL_FAILED_TEST_ONLY 手机报错提示: 修…

网页判断版本更新

一、需求解析 为什么我会想到这个技术呢,是因为我有一次发现,我司的用户在使用网页的时候,经常会出现一个页面放很久,下班也不关这个页面,这样就会导致页面的代码长时间处于不更新的状态。 在使用到一个功能出了bug&a…

[HXPCTF 2021]includer‘s revenge

文章目录 方法一前置知识Nginx 在后端 Fastcgi 响应过大产生临时文件竞争包含绕过include_once限制 解题过程 方法二前置知识Base64 Filter 宽松解析iconv filter 解题过程 方法一 NginxFastCGI临时文件 前置知识 Nginx 在后端 Fastcgi 响应过大产生临时文件 www-data用户在n…

振南技术干货集:研发版本乱到“妈不认”? Git!(4)

注解目录 1、关于 Git 1.1Git 今生 (Git 和 Linux 的生父都是 Linus,振南给你讲讲当初关于 Git 的爱恨情愁,其背后其实是开源与闭源两左阵营的明争暗斗。) 1.2Git的爆发 (Git 超越时代的分布式思想。振南再给你讲讲旧金山三个年轻人创办 GitHub&…

el-table实现展开当前行时收起上一行的功能

<el-tableref"tableRef":data"tableData":expand-row-keys"expandRowKeys":row-key"handleRowKey" // 必须指定 row-keyexpand-change"handleExpandChange" // 当用户对某一行展开或者关闭的时候会触发该事件> <…

如何判断从本机上传到服务器的文件数据内容是一致的?用md5加密算法!

问题场景 最近在帮导师做横向&#xff0c;我想把整个项目环境放到服务器中&#xff0c;需要把一个很大的数据文件传到服务器&#xff0c;传上去很方便&#xff0c;但是涉及到文件的压缩上传和服务器内解压环节&#xff0c;不是太确定文件在本机和服务器的数据内容是否一致。 解…

Unity如何保存场景,如何导出工程文件/如何查看保存位置?【各版本通用】

如何保存场景&#xff1f; 在unity中CtrlS 或者File—>Save 输入你要保存的场景名【建议保存在Scenes文件夹下】 下图&#xff0c;保存场景不在Scenes文件夹下&#xff1a; 下图&#xff0c;保存在Scenes文件夹下&#xff1a; 下图&#xff0c;保存完成 如何导出工程文…

深度学习的集体智慧:最新发展综述

一、说明 我们调查了来自复杂系统的想法&#xff0c;如群体智能、自组织和紧急行为&#xff0c;这些想法在机器学习中越来越受欢迎。人工神经网络正在影响我们的日常生活&#xff0c;从执行预测性任务&#xff08;如推荐、面部识别和对象分类&#xff09;到生成任务&#xff08…

GoF之工厂模式

Spring GoF之工厂模式工厂模式的三种形态简单工厂模式简单工厂模式优缺点 工厂方法模式工厂方法模式的优缺点 GoF之工厂模式 ● 设计模式&#xff1a;一种可以被重复利用的解决方案。 GoF有23种设计模式&#xff0c;还有其它的设计模式&#xff0c;比如&#xff1a;JavaEE的设…

Docker容器编排

文章目录 基本概念Docker ComposeSwarm分布式NodeTaskservice集群搭建弹性伸缩 基本概念 针对容器生命周期的管理&#xff0c;对容器生命周期进行更方便更快捷的方式进行管理。 依赖管理&#xff1a;当一个容器必须在另一个容器运行完成后&#xff0c;才能运行时&#xff0c;…

RT-DETR推理详解及部署实现

目录 前言1. RT-DETR-官方2. RT-DETR-U版2.1 RT-DETR预测2.2 RT-DETR预处理2.3 RT-DETR后处理2.4 RT-DETR推理 3. RT-DETR-C3.1 ONNX导出3.2 RT-DETR预处理3.3 RT-DETR后处理3.4 RT-DETR推理 4. RT-DETR部署4.1 源码下载4.2 环境配置4.2.1 配置CMakeLists.txt4.2.2 配置Makefil…

JavaFX(其他控件02)(综合运用)

小技巧 图片控件的使用:Image/ImageViewnew ImageView(new Image(url,宽,高,true,true))--绝对路径: file:D:\\图片\\6.jpg --相对路径: src里面建了个文件夹 images/1.png滑块&#xff1a;Slider show(true) major(10) getValue() 保留2位小数&#xff1a;String.format(&q…

SOME/IP 协议介绍(四)RPC协议规范

RPC协议规范 本章描述了SOME/IP的RPC协议。 传输协议绑定 为了传输不同传输协议的SOME/IP消息&#xff0c;可以使用多种传输协议。SOME/IP目前支持UDP和TCP。它们的绑定在以下章节中进行了解释&#xff0c;而第[SIP_RPC_450页&#xff0c;第36页]节讨论了选择哪种传输协议。…

基于SSM的停车场管理系统设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题&#xff0c;今天给大家介绍…

[pipe-自写管道] 强网拟态2023-water-ker

程序分析 保护当然都开了, 题目给了一次增加, 释放, 修改一字节堆块的能力, 这里释放堆块后没有将其指针置空从而导致了 UAF. 漏洞利用 这里的堆块大小为 512 字节并是 SLAB_ACCOUNT, 所以可以直接利用管道去构造自写管道从而构造任意读写系统, 详细见大佬博客:【CTF.0x08】D…

如何在Linux服务器上后台持久运行Gunicorn

如何在Linux服务器上后台持久运行Gunicorn **问题概述****解决方案一&#xff1a;使用nohup命令****解决方案二&#xff1a;使用systemd服务****创建systemd服务文件****修改systemd服务文件以使用虚拟环境**日志管理**激活并启动服务&#xff1a;**如何设置用户和组**确认用户…