LLM之Prompt(三)| XoT:使用强化学习和蒙特卡罗树搜索将外部知识注入Prompt中,性能超过CoT,ToT和GoT

​论文地址:https://arxiv.org/pdf/2311.04254.pdf

一、当前Prompt技术的局限性

       LLM使用自然语言Prompt可以将复杂的问题分解为更易于管理的“thought”可以回复用户的问题。然而,大多数现有的Prompt技术都有局限性:

  • 输入输出(IO)Prompt:仅适用于具有单步解决方案的简单问题,它缺乏灵活性;
  • 思维链(CoT):能够解决多步问题,但仅限于线性思维结构,也缺少灵活性;
  • 思维树(ToT)和思维图(GoT):允许更灵活的思维结构,如树或图。然而,它们需要LLM来评估中间的thought,由于多次调用LLM会产生巨大的计算成本。

PS:当前的Prompt技术面临“Penrose Triangle”约束——最多可以实现(性能、效率和灵活性)中两个属性,三个属性不能同时实现。

​常见Prompt技术对比,如下图所示:

输入输出(IO)Prompt(图1(a)):IO方法在不提供任何中间thought过程的情况下,直接指导LLM解决问题;

思维链(CoT)(图1(b)):CoT将待解决问题分解为一系列的thought链,让LLM能够一步一步地处理复杂的问题;

自洽CoT(CoT-SC)(图1(c)):CoT SC使用多个CoT实例从而让LLM生成多个输出,它从中选择最佳的输出,与普通的CoT相比,提供了更稳健和一致的推理;

思维树(ToT)(图1(d)):ToT以树状结构组织思想并利用搜索算法(例如,广度优先搜索、深度优先搜索)将树扩展到追求最佳解决方案。但是ToT中的thought评价依赖于LLM本身,需要多次调用LLM进行推理,这昂贵且低效;

思维图(GoT)(图1(e)):GoT扩展了ToT方法,通过thought聚合和细化生成类似图形的思想结构。

PS:在中间搜索阶段期间。尽管这种方法允许更灵活的思维结构仍然需要多次LLM推理调用进行评估,从而产生显著的计算成本。

二、XOT介绍

       为了解决上述Prompt的这些局限性,本文将介绍一种新的Prompt技术XOT(Everything of Thoughts)。XOT使用强化学习和蒙特卡罗树搜索(MCTS)将外部知识注入Prompt过程。

XOT的关键组成部分是:

  • MCTS模块——使用轻量级的策略和价值网络,通过模拟有效地探索任务的潜在思维结构;
  • LLM求解器——利用LLM的内部知识,对MCTS中的思想进行提炼和修正。这种协作过程提高了思维质量。

三、XOT工作原理

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

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

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

  3. Thought修正:LLM审查MCTS生成的thought,并识别其中可能的任何错误,如果有错误,再通过额外的MCTS模拟产生修正后的thought;

  4. LLM推理:把包括修改thought后的最终Prompt提供给LLM来解决问题。

下图说明了XOT框架:

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

  1. thought搜索过程中,预训练的MCTS使用策略和价值网络来有效地探索搜索空间并生成thought轨迹。整个过程迭代地选择、扩展、评估和反向传播节点;

  2. thought轨迹提供给LLM作为Prompt;

  3. LLM使用其内部知识来检测thought中的任何错误

  4. 如果发现错误,MCTS模块将用于通过额外的模拟来修改thought;

  5. 该过程重复进行,直到LLM使用修订后的高质量thought解决问题。

四、XOT Pocket Cube问题实战

      我们使用Pocket Cube问题(2x2x2魔方)来看一下XOT是如何工作的?

  1. 选择:算法从根节点开始,从可用集合中选择一个动作,用于在当前状态下生成单步思想。这个过程一直持续到到达当前树中的一个叶节点为止。该选择由PUCT算法指导,旨在最大化置信上限(UCB);

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

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

  4. 思想推理:在MCTS完成搜索后,提取思想并将其提供给LLM。LLM然后审查和提炼这些想法,如果需要,继续MCTS搜索过程,并最终通过将这些外部想法与其内部知识相结合来制定最终答案。

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

五、XOT的主要优点

       与现有Prompt技术相比,XOT有以下优点:

  • 性能:MCTS探索将领域知识注入思想来增强LLM能力。协作修订过程进一步提高了thought质量;
  • 效率:轻量级策略/价值网络指导MCTS,最大限度地减少昂贵的LLM呼叫。推理过程中只需要调用1-2次即可;
  • 灵活性:MCTS可以探索不同的思维结构,如链、树和图,从而实现创造性思维。

PS:XOT实现了其他Prompt范式不能同时满足“Penrose Triangle”。

六、XOT实验结果

     研究人员在需要长期规划的复杂任务上评估了XOT,如《24小时游戏》、《8拼图》和《口袋魔方》。一些关键发现:

  • XOT在所有任务中的准确性显著优于IO、CoT、ToT和GoT等基线;
  • 经过thought修正,XOT在《24小时游戏》中仅使用1–2个LLM调用就实现了高达90%的准确率,证明了高效性;
  • XOT高效地生成了多种多样的问题解决方案,展现了灵活性;
  • 对于8-Puzzle和Pocket Cube等空间推理任务,XOT使LLM能够解决他们以前遇到的问题。

PS:这些结果突出了XOT如何通过高效灵活的提示释放LLM在复杂问题解决方面的潜力。

参考文献:

[1] https://medium.com/@raphael.mansuy/xot-a-new-prompting-technique-for-ai-the-secret-sauce-to-level-up-your-llms-reasoning-prowess-3e19703ab582

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

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

相关文章

【QT 5 调试软件+Linux下调用脚本shell-经验总结+初步调试+基础样例】

【QT 5 调试软件Linux下调用脚本shell-经验总结初步调试基础样例】 1、前言2、实验环境3、自我总结4、实验过程(1)准备工作-脚本1)、准备工作-编写运行脚本文件2)、给权限3)、运行脚本 (2)进入q…

pytorch一致数据增强

分割任务对 image 做(某些)transform 时,要对 label(segmentation mask)也做对应的 transform,如 Resize、RandomRotation 等。如果对 image、label 分别用 transform 处理一遍,则涉及随机操作的…

计算机网络网络层(期末、考研)

计算机网络总复习链接🔗 目录 路由算法静态路由与动态路由距离-向量算法链路状态路由算法层次路由 IPv4(这个必考)IPv4分组IPv4地址与NAT子网划分与子网掩码、CIDRARP、DHCP与ICMP地址解析协议ARP动态主机配置协议DHCP IPv6IPv6特点 路由协议…

android studio 创建按钮项目

1&#xff09;、新建一个empty activity项目&#xff0c;切换到project视图&#xff1a; 2&#xff09;、修改app\src\main\res\layout\activity_main.xml文件&#xff0c;修改后如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <andr…

html基础知识

1、文字阴影代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <meta http-eq…

Vue 工作开发小技巧

一、汇总 ​ 本博客&#xff0c;记录了一些Vue在日常开发工作中比较实用的小技巧&#xff0c;后续会陆续添加更新。 ​ 1、利用Sass的:global定义全局样式。 ​ 2、在<style>内部使用v-bind给CSS属性绑定属性值。 ​ 3、父子组件传值时&#xff0c;使用.sync修饰符后…

cgteamwork与shotgrid对比

最近有项目接触使用并二开cgteamwork&#xff0c; 也重新认识了cgteamwork&#xff0c;感受到国产软件的强大&#xff0c;国内中小CG公司的首选&#xff0c;原因&#xff1a; 1 上手容易&#xff0c;不会的有售前工程师教&#xff0c;他们全国各地城市到处跑。 感概业务的强大…

智能优化算法应用:基于生物地理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于生物地理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于生物地理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.生物地理学算法4.实验参数设定5.算法…

Visual studio+Qt开发环境搭建以及注意事项和打开qt的.pro项目

下载qt-然后安装5.14.2_msvc2017 不知道安装那个就全选5.14.2的父级按钮 https://download.qt.io/archive/qt/5.14/5.14.2/ 安装Visual studio,下载直接下一步就行 配置Visual studio的qt环境 在线安装-重启Visual studio会自动安装 离线安装-关闭Visual studio点击安装 关闭…

桂电|《操作系统》实验一:UNIX/LINUX及其使用环境(实验报告)

桂林电子科技大学2023-2024学年 第 一 学期 操作系统A 实验报告 实验名称 实验一 UNIX/LINUX及其使用环境 实验指导老师&#xff1a; 成绩 院 系 计算机与信息安全学院 专业 计算机科学与技术(卓越工程) 学 号 姓名 课内序…

Spring Boot+FreeMarker=打造高效Web应用

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Spring BootFreeMarker的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一. FreeMarker是什么 二…

本地连锁门店经营可以借助系统实现哪些功能?

不少的连锁门店目前还是很基础的ERPPOS收银&#xff0c;其他的还是走传统的手工管理&#xff0c;大多连锁老板知道借助信息化系统可以帮助门店实现精细化管理&#xff0c;提高运营效率&#xff0c;降低成本&#xff0c;增强竞争力&#xff0c;但不知道怎么去做&#xff0c;能做…

每日汇评:黄金需要突破2050美元的供应区域才能延续复苏

周四早间&#xff0c;金价接近每盎司2,030美元&#xff0c;创下6天来的最高水平&#xff1b; 美联储确认鸽派政策转向&#xff0c;美元和美国国债收益率双双下挫&#xff1b; 英国央行和欧洲央行2023年的最终政策公告可能会进一步推高金价&#xff1b; 随着投资者重新评估美联储…

2020年第九届数学建模国际赛小美赛C题亚马逊野火解题全过程文档及程序

2020年第九届数学建模国际赛小美赛 C题 亚马逊野火 原题再现&#xff1a; 野火是指发生在乡村或荒野地区的可燃植被中的任何不受控制的火灾。这样的环境过程对人类生活有着重大的影响。因此&#xff0c;对这一现象进行建模&#xff0c;特别是对其空间发生和扩展进行建模&…

0x13 链表与邻接表

0x13 链表与邻接表 数组是一种支持随机访问&#xff0c;但不支持在任意位置插入和删除元素的数据结构。与之相对应&#xff0c;链表支持在任意位置插入或删除元素&#xff0c;但只能按顺序依次访问其中元素。我们可以使用一个struct来表示链表的节点&#xff0c;其中可以存储任…

《师兄啊师兄》第二季开播 李长寿渡劫归来扬名四海

看新国风&#xff0c;上优酷动漫&#xff01;由优酷出品&#xff0c;玄机科技制作&#xff0c;改编自阅文集团旗下起点读书小说《我师兄实在太稳健了》&#xff08;作者&#xff1a;言归正传&#xff09;的修仙喜剧动画《师兄啊师兄》第二季《海神扬名篇》于今日10:00正式回归。…

如何性能测试中进行业务验证?

在性能测试过程中&#xff0c;验证HTTP code和响应业务code码是比较基础的&#xff0c;但是在一些业务中&#xff0c;这些参数并不能保证接口正常响应了&#xff0c;很可能返回了错误信息&#xff0c;所以这个时候对接口进行业务验证就尤其重要。下面分享一个对某个资源进行业务…

Python多线程threading的使用方法

前言 有时候&#xff0c;我们在编写Python程序时&#xff0c;会遇到比较耗时的函数方法&#xff0c;我们的需求是等这个耗时的函数执行完毕之后&#xff0c;在执行后面的程序&#xff0c;这时候就需要用到多进程。 下面我们来举一个使用多进程threading的例子 例子 import t…

Unity | AVpro的最基础使用方法(视频播放插件)

一、 AVpro的使用方法 (一)准备播放器MediaPlayer 1. AVpro的播放器是MediaPlayer&#xff0c;在Heirarchy面板里创建 2.播放器里放视频 a.把视频放到StreamingAssets文件夹下 b.你就可以在MediaPlayer里面找到这个视频 c.选中以后&#xff0c;就会变成 这里点击播放可以播放…

FET偏置控制器电路的卫星接收器LNB电路

都具有FET偏置控制器电路的卫星接收器LNB电路 芯片的描述&#xff1a;D3211是一-块用于卫星接收LNBs的专用电路&#xff0c;具有极化电压检测切换、22KHz脉冲检测切换和提供高放、本振级GaAs或HEMT FET晶体管工作点偏置等功能。D321 1内部的22K检测及切换控制由22K有源滤波器、…