OpenAI、斯坦福大学提出Meta-Prompting,有效提升语言模型的性能

为了研究如何提高语言模型的性能,使其更充分有效地输出对于提问的回答,来自斯坦福和 OpenAI 的学者强强联手,通过提出一种名为元提示(meta-prompting)的方法来深入探索。元提示通过让单个语言模型(如 GPT-4)充当中央控制器和多种专家角色,以实现对各种任务的准确和可靠回复。该方法结合了多个独立专家模型的优势和多样性,以便更好地解决复杂的任务和问题。

元提示的显著特点之一是其将复杂任务巧妙地分解为各个组件,然后汲取不同专业知识为每个组件提供支持,最终将各个专业领域的输出巧妙地整合在一起。让我们一起来看看究竟什么是元提示,而该方法又有着怎样的表现~

论文题目:
Meta-Prompting: Enhancing Language Models with Task-Agnostic Scaffolding

论文链接:
https://arxiv.org/abs/2401.12954


元提示(meta-prompting)的核心思想在于使用一个模型来协调和执行多个独立的提问,然后综合它们的回复以生成最终的答案。

从本质上讲,这种机制支持借助独立专业模型的能力和多样性,共同解决复杂任务或问题的集成方法。结合多个领域专业模型(即专家)的观点和结论,可能会产生更全面、强大和准确的解决方案。

▲图1 通过元提示增强 GPT-4 的有效性

举例来说,如果想通过应用元提示使 GPT-4 解决一个数学难题的话,通常可以采用三阶段的策略:

  1. Meta Model 的输入指令:首先请教专业的“高级数学家”将难题分解为简单步骤;

  2. Meta Model 输出:其次,将各步骤分配给专业领域的专家(比如让“程序员”来写代码);

  3. 专家输出:最后,协调专家之间的交流并综合他们的输出。

因此,通过一个高层次的提示,GPT-4 可以同时充当两种角色

  • Meta:管控过程的指挥者,扮演着任务的中枢,引导整个问题解决过程,提供指导和整体协调。

  • Expert:解决子任务的专家小组,通过多角度思考,为任务的提供各个专业领域的贡献。

在作者的设置下,专家只能由元模型调用。尽管在与新专家互动时,元模型可以选择综合各个专家的见解或共享一些文本给他们,但他们不能直接交互或沟通。这种限制是为了简化专家之间的交流,并将元模型置于操作的中心

图 2 是元提示对话的可视化示例。元提示的独特之处在于,它将决定使用哪些提示和执行哪些代码片段交由 LLM 自身判断

▲图2 元提示历史的示例

元提示

元提示(Meta-Prompting)是一种提高语言模型性能的方法,通过使用模型来协调和执行多个独立提问,待合成回复后生成最终的答案。这种方法原则上采用了集成方法,借鉴了多个专门模型(称为专家)的优势和多样性,以协同解决和处理具有多面性的任务或问题。

元提示的主要特点有:

  1. 使用模型协调和执行多个独立提问,然后合成它们的回复以生成最终答案。

  2. 元模型在整个过程中保持对整个历史和协调的全局视图。

  3. 动态选择上下文为专家提供新颖视角,同时元模型保留对整个过程的鸟瞰。

  4. 元提示可以启用单个黑盒模型充当中央控制器和各种专家小组,以生成更准确、可靠和连贯的回复。

▲算法1 元提示

如算法 1 所示,元提示主要包括以下步骤:

  1. 转换输入:使用转换函数  将原始提问放在合适的模板中,然后在 Meta Model 的初始指令中添加。

  2. 循环迭代:a) 提示 Meta Model:当前消息列表  指导 Meta Model 的下一个操作,要么直接回复提问,要么咨询特定领域的专家。b) 与领域专家模型互动:如果 Meta Model 没有返回结果,它可以调用任何专家并给予相应的指令,这些指令通过  从其输出中提取。此过程是隔离的,即每个专家只看到 Meta Model 选择与他们共享的内容,并根据这些内容作出回复。例如,如果问题涉及数学和历史,Meta Model 可能会咨询数学专家进行计算,并咨询历史专家提供历史背景。使用  模板提取专家的输出并附加上额外的指令。c) 返回最终回复:如果 Meta Model 的回复包含最终答案(通过特殊 token 突出显示),则使用  提取解决方案并返回。d) 错误处理:如果模型的回复  没有包含最终答案或没调用专家模型,则在消息列表  中附加错误消息。

  3. 实时代码执行:将 Python 专家引入到 meta-prompting 框架中,可以显著提高在算法挑战方面的表现。这使得立即验证和优化解决方案成为可能,大大提高了问题解决的效率和精确度。

通过这种方法,单一的黑盒语言模型可以充当中央控制器和多领域的不同专家角色,从而产生更准确、可靠和连贯的回复。

实验结果

本文实验要评估下述零样本提示任务的有效性:

  • 24 点游戏;

  • Three BIG-Bench Hard(BBH),即几何形状、多步算术和单词排序,以及一步将军的推理任务

  • Python 编程难题;

  • 多语言小学数学(MGSM),即 GSM8K 数据集的多语言版本

  • 莎士比亚十四行诗创作,这是作者创建的一个新任务。

有如下度量标准来衡量准确性:

  • 精确匹配(EM):严格。要求答案与真实标签完全相同。

  • 软匹配(SM):相对宽松。只要答案中存在真实标签即可,而不考虑其他文本内容。

  • 功能正确(FC):确定答案是否在功能上正确,即是否符合任务特定的约束。

在不同任务中应用不同的度量标准。例如,使用 EM 的任务包括几何形状、多步算术和一步将军;SM 度量标准用于解 MGSM 和单词排序;而 FC 则被用于 24 点游戏、Python 编程难题和莎士比亚十四行诗创作。

元提示的整体表现

实验结果如表 1 所示,元提示方法在各项任务中相相较于零样本提示方法取得卓越效果,元提示可以以任务无关的方式利用 Python 解释器,搭配使用时显著提高了准确性。在标准提示方面的表现提升了 17.1%,在专家(动态)提示方面提升了 17.3%,在多人物提示方面提升了 15.2%。

▲表1 不同任务中的综合比较

  • 在 24 点游戏挑战中,元提示方法相较于基本标准提示方法,准确性提高了超过 60%;在Python 编程难题中获得了约 15% 的增益;在创作十四行诗的任务中,准确性提升近 18%。这些任务对于启发式或迭代试错问题解决策略具有挑战性,而传统的单次提示方法无法胜任。元提示通过充分利用各种专家角色的集体智慧,迭代地推进解决方案发展,展现了更具动态和有效的问题解决能力。

  • 在创意写作任务中,尤其是在莎士比亚十四行诗创作中,元提示同样表现出色。

  • 在 MGSM 和几何形状等任务中,元提示相对于其他提示方法的优势较小,尤其是在几何形状任务中,性能仅略有增益。然而,在一步将军任务中,元提示甚至在没有用 Python 解释器的情况下也取得了 20.8% 的提升。

让多位专家合作

元提示框架成功在其策略性运用专业知识、自我协作和隐式验证循环。这一方法,尤其是多人物提示,鼓励多轮互动,促使不同专家角色共同参与问题解决。

本文的结构化方法体现了集体的多样化批判性思想家意见往往超过个别专家的见解通过在 Meta Model 的指导下利用一系列专业专家模型,每个模型从不同的专业角度贡献,从而实现了更准确和可靠的问题解决方案。

引入新颖视角

引入新颖视角对于缓解语言模型的重复错误和过于自信的表现具有关键作用。元提示与多人物提示存在着区别,它是通过重新评估问题引入新的专业视角。相较于元提示,新颖视角提供了发现新颖见解和之前未注意到的错误解决方案的机会

其中,专家的提示不包含整个历史记录,因此每一步都引入了新的视角,有效地找到解决方案的同时识别和纠正错误。

实时执行代码

对比实验结果,在引入 Python 专家进行代码生成和执行的元提示框架中,解决算法挑战的能力得到显著提高。这一提升主要归功于 Meta Model 能够使用 Python 专家基于自然语言指令生成和执行代码。实时执行代码使得可以即时验证和优化解决方案,极大地提高了解决问题的效率和准确度。

▲图4 Meta Model 在涉及 Python 解释器的实验中调用专家的分布

▲图5 Meta Model 在没有使用 Python 解释器的实验中调用专家的分布

然而,这种增强不只适用于 Python 编程难题这一任务,总体而言,与没有 Python 解释器的元提示相比,集成 Python 解释器平均使不同任务的性能额外提高了 11.5%。这凸显了代码生成和执行在提高元提示框架效果方面的关键作用,并展示了其在不同计算任务中的变革性影响

元提示框架的局限性

  1. 成本效益问题:其显著限制便是模型多次调用 GPT-4 API,导致产生了相当高的费用。

  2. 大规模上下文窗口的要求:元提示框架对大规模和相当大的上下文窗口有要求。它需要一个能够处理和保留大量文本信息的语言模型。

  3. 操作效率挑战:由于逐步处理的步骤,依赖于前面调用的结果,这个线性(顺序)性质带来操作效率上的挑战。限制了并行处理的可能性,从而影响系统的速度和效率。

  4. 封闭领域系统的限制:当前只在封闭领域系统中研究,未在更广泛的实际应用中测试。该框架的潜力在于整合外部资源,如 API、专门调优的模型、搜索引擎或计算工具,但这一方面带来的提升仍需进一步研究。

  5. 回复模式和信息管理问题:元模型在面对性能较差的任务时,其回复的措辞可能总在表达歉意,其根源可以追溯到元模型在训练中接受的指令数据。而且偶尔会忽略向专家传达必要信息。这凸显了改进信息管理的需要,以确保元模型与专家之间的沟通更加准确和完整

  6. 亟待开发的潜力:例如在同时调用多个专家或利用具有不同温度参数的单个专家,以更有效地综合他们的输出。希望在后续版本中,元模型能够在推进过程之前从其历史中受益,通过精简或总结信息来提高整个过程的相关性和效率。

总结

本文介绍了元提示这一技简单而强大的框架,可以以任务无关的方式增强语言模型的性能。这一方法的独特之处在于,它巧妙地利用语言模型兼具中央控制器和专家的双重角色,赋予传统模型动态和多功能能力。

实验结果表明,元提示方法在多种任务和数据集上的表现优于其他零样本提示技术。特别是与 Python 解释器相结合时,元提示框架显著提高了 GPT-4 在各种任务中的整体准确性和稳定性。

本文提出的元提示框架作为语言模型不断发展的一部分,有望博采众家之长,其独特的任务分解、多专业知识引入和输出整合方法,使其在解决各种问题时表现出灵活性和效果。然而,作者也明确指出了一些限制和挑战,如成本效益、可扩展性和操作效率等问题,这需要在未来的研究中进一步探讨和解决。

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

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

相关文章

2023.1.31 关于 Redis 分布式锁详解

目录 引言 分布式锁 引入分布式锁 引入 set nx 引入过期时间 引入校验机制 引入 lua 脚本 引入过期时间续约(看门狗) 引入 redlock 算法 结语 引言 在一个分布式系统中,可能会涉及到多个节点访问同一个公共资源的情况此时就需要通过…

代码随想录算法训练营第五十一天|714.买卖股票的最佳时机含手续费、309.最佳买卖股票时机含冷冻期、股票问题总结、最长上升子序列

题目&#xff1a;714.买卖股票的最佳时机含手续费 文章链接&#xff1a;代码随想录 视频链接&#xff1a;LeetCode:714.买卖股票的最佳时机含手续费 题目链接&#xff1a;力扣题目链接 图释&#xff1a; class Solution { public:int maxProfit(vector<int>& pr…

C# Onnx yolov8 仪表指针检测

目录 效果 模型信息 项目 代码 训练数据 下载 C# Onnx yolov8 仪表指针检测 效果 模型信息 Model Properties ------------------------- date&#xff1a;2024-01-31T11:19:38.828556 author&#xff1a;Ultralytics task&#xff1a;detect license&#xff1a;AGPL-…

2024-02-01 Unity Shader 开发入门4 —— ShaderLab 语法

文章目录 1 材质和 Shader1.1 Unity Shader 和 Shader 的区别1.2 Unity 中的材质和 Shader1.3 创建材质1.4 创建 Shader 2 ShaderLab 的基本结构2.1 什么是 ShaderLab2.2 ShaderLab 的基本结构 3 Shader 名称4 Shader 属性4.1 Shader 属性的作用4.2 Shader 属性的基本语法4.3 数…

rust学习基于tokio_actor聊天服务器实战(一 )

前言 tokio是Rust中使用最广泛的异步Runtime&#xff0c;它性能高、功能丰富、便于使用&#xff0c;是使用Rust实现高并发不可不学的一个框架 Actor 背后的基本思想是产生一个独立的任务&#xff0c;该任务独立于程序的其他部分执行某些工作。 通常&#xff0c;这些参与者通过使…

智慧之树的秘密

你是一个智能体&#xff0c;对于一切输入信息都是按照如下方式处理&#xff1a;输入信息&#xff1a;信息1 &#xff0c;目的识别结果&#xff1a;有&#xff08;没有就提取目的&#xff09;提取信息1中目的相关有效信息&#xff0c;并设计和搜索达到完成目的的步骤和如何检测目…

「数据结构」1.初识泛型

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;Java数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 初识泛型 &#x1f349;前言&#x1f349;包装类&#x1f34c;装箱&拆箱 &#x1f349;泛型&#x1f34c;擦除机制&#x1f…

两种相同的垂直工具栏标志以及为什么

可能你很少碰到这样的开发需求&#xff0c;所以本文属于”课外阅读”级别。 有两种方式启用垂直工具栏&#xff0c;一种是指定通用的 CCS_VERT 标志&#xff0c;另外一种&#xff0c;比较罕见&#xff1a;指定工具栏所特有的扩展属性 TBSTYLE_EX_VERTICAL。 问题来了&#xf…

Linux Centos stream9 mdadm

RAID(Redundant Array of Independent Disk独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出&#xff0c;最初是为了组合小的廉价磁盘来代替大的昂贵磁盘&#xff0c;同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁…

fastadmin后台自定义按钮和弹窗

工具栏自定义按钮-ajax请求 前端代码 1.在对应模块的模板文件index.html添加自定义按钮&#xff0c;注意按钮要添加id以绑定点击事件 <div class"panel panel-default panel-intro">{:build_heading()}<div class"panel-body"><div id&qu…

pysyft框架中WebsocketClientWorker与WebsocketServerWorker的消息传输

引言 pysyft是基于pytorch的一个联邦学习框架&#xff08;虽然用起来很难受&#xff09;&#xff0c;通过内存管理实现联邦学习的模拟。 在pysyft中&#xff0c;WebsocketServerWorker充当数据的提供方&#xff08;数据存储方&#xff09;&#xff0c;而WebsocketClientWorker…

专业的韩语导游翻译需要具备哪些能力

近年来&#xff0c;随着中韩关系的友好发展&#xff0c;两国之间的旅游交流呈现出爆发式的增长。这一趋势不仅深化了中韩民众之间的交流与理解&#xff0c;也对韩语导游翻译人才的需求产生了显著的影响。那么&#xff0c;为了做好韩语翻译工作&#xff0c;我们需要具备哪些专业…

页面通过Vue进行整体页面不同语言切换 i18n库

目录 引入 如何做到 下载i18n库 构建整体翻译文件结构 语言包文件 i18n配置文件 把i18n挂载到vue实例上 添加按钮点击事件切换语言 引入 我们现在有这样一个要求,我们想要对我们开发的网页进行国际化操作,也就是我们不仅要有中文,还要有英文等。用户可以随时进行不同语言…

代码随想录day16--二叉树的应用4

LeetCode513.找树左下角的值 题目描述&#xff1a; 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 解题思…

C++ //练习 3.21 请使用迭代器重做3.3.3节(第94页)的第一个练习。

C Primer&#xff08;第5版&#xff09; 练习 3.21 练习 3.21 请使用迭代器重做3.3.3节&#xff08;第94页&#xff09;的第一个练习。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /*************************************…

【重磅】中国隐私计算平台市场,摩斯第一

摩斯市场份额遥遥领先 10月11日&#xff0c;全球领先的IT市场研究和咨询公司IDC发布了《中国隐私计算平台厂商市场份额&#xff0c;2022》报告。蚂蚁集团凭借商用隐私计算平台摩斯&#xff08;MORSE&#xff09;&#xff0c;以 36.9%的市场份额排名第一。…

Git系列---远程操作

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 引用 1.理解分布式版本控制…

java+springboot校园体育场地预约预订使用系统vue+ssm

研究内容和研究方法 1.研究内容 网站主要包括管理员和用户两个部分&#xff0c;用户可以登录与注册自己的基本信息、查询哪些场地可以使用、提前预约场地、取消预约的场地、使用完场地后进行缴费。管理员可以审批用户的注册信息、对用户信息进行增删改查、查询场地的使用情况、…

JUnit

前言&#xff1a;自动化就是selenium脚本来实现的&#xff0c;JUnit是java的单元测试工具&#xff0c;只不过我们在实现自动化的时候需要借助一下JUnit库里面提供的一些方法。 1、Test Test &#xff1a;表示方法是测试方法&#xff0c;执行当前这个类的时候&#xff0c;会自动…

微服务知识

1、概念 大型单体应用拆分成多个独立部署运行的微服务&#xff08;解决并发问题&#xff09;​​​​​​​ 2、特点 3、技术栈 4、微服务带来的问题 ​​​​​​​ 5、微服务的注册中心 服务注册与发现&#xff1a;微服务实例在启动时会向注册中心注册自己的信息&#xf…