Meta-Prompt任务无关的提示方法 用LM扮演指导者和各个专家模型角色

元提示:用任务不可知的脚手架增强语言模型

摘要

本文引入Meta-prompting 元提示,一个有效的脚手架技术来增强语言模型功能,该方法让单LM 转化为多方面的指挥者,擅长管理和聚合多个独立的LM查询。提示引导LM将复杂的任务分解成更小的、更易于管理的子任务。这些子任务然后由同一LM的不同“专家”实例处理,每个实例都在特定的、定制的指令下操作。它还利用其固有的批判性思维和健壮的验证过程来细化和验证最终结果,同时扮演综合协调者和专家小组的角色。元提示具有零样本、任务无关性的特点。

此外研究了外部工具(如python解释器)和元提示框架的集成,通过对GPT4实验,取得最佳的效果。

引言

随着新一代语言模型的出现,GPT-4、PaLM等,处理了多种多样的任务。

**存在问题:**偶尔出现幻觉,不准确、相互矛盾,

随着运营成本逐渐可承受,是否可以利用脚手架系统和多个LM查询来细化并增强模型输出的准确性和稳健性呢?

因此,本文提出元提示来增强LLM的功能和性能,构建一个高级的”元“提示指导LM

  1. 将复杂问题或任务分解为更小的可管理部分
  2. 将这些部分分配给带有适当且详细语言指令的“专家模型”
  3. 监督专家模型之间的沟通
  4. 应用自己的批判性思维、推理和验证技巧,在整个过程

当出现任务时,LM充当指挥 生成信息历史(由各个专家模型回答的叙述)。首先生成指挥部分,包含专家的选择和给他们指定的具体说明,LM既选择专家,也扮演专家,根据每个查询生成基于专家知识和信息的输出。因此,单个LM既保持了内在的推理线,又利用多个专家角色,发挥中心指挥 和 不同专家的作用。

我们的方法结合并扩展了 高阶规划和决策、动态角色分配、自我反思。关键在于任务无关性,与传统脚手架方法(每个任务特定指令和示例)不同,元提示使用相同的高级指令集。*例如,回答“写一首莎士比亚的诗”时,不需要提供古典主义诗歌的例子。*另外,为了展示多功能性和集成能力,我们也集成了Python解释器功能。

在这里插入图片描述

图中描述了元模型(指导者)是如何利用各个专家模型或代码解释器的会话来分散自己的输出,将使用哪些提示和执行哪些代码片段的决策留给了LM本身的判断。

在这里插入图片描述

我们的实验使用GPT-4作为基础LM,比较元提示和其他脚手架方法,发现获得了最佳的效果,指导者可以调用各种专家模型,包括评估早期输出、为任务生成特定角色、细化生成内容、确保输出的标准。

元提示

直观概述

用模型来协调和执行多个独立查询,最后合成结果作为最终的响应。利用模型的能力和多样性解决多方面的任务问题。虽然单个模型可能提供通用问题的见解,但结合多个特定领域专家模型的视角可以产生更准确、全面、健壮的解决方案。元提示策略的中心是 浅层结构,包含一个元模型(乐队指挥,协调各个音乐家),专家只能由元模型调用,相互之间无法交互,但在元模型中共享见解。

专家的形式:特定任务微调的LM、特定API、工具(计算器、Python解释器)——本文主要使用单模型GPT-4

符号和术语

S表示有限字符串集合, ∅ \empty 是空字符串, x ∈ S x\in S xS 为查询(任务或问题) ,语言模型LM从S运行到S,接受输入文本(提示历史H),输出对应回答或响应。模板函数 t i n i t 和 t m i d t_{init}和t_{mid} tinittmid格式化历史文本, t e x p t_{exp} texp将元模型输出格式化为专家模型的提示。字符串提取器 e e x p 和 e r e t e_{exp}和e_{ret} eexperet检索特定分隔符包围的子字符串,在多个选择中返回第一个匹配的片段。⊕是串级连接,error是特定字符串,表示错误信息。

算法过程

伪码如下:

在这里插入图片描述

  1. 转换输入: 用转化函数init,将原始查询放入模板转化为元模型的初始提示
  2. 循环迭代:
    • 提示元模型:当前的消息列表 Ht,指导元模型的下一步行动——直接处理查询或咨询领域特定的专家
    • 引入领域的专家模型:若元模型没返回结果,就单独召唤专家并给他指令(e_exp),t_mid输出专家回答
    • 返回最终答案:当元模型的回答包括最终答案(特殊标记显示),就用e_ret提取并返回解决方案
    • 错误处理:若模型返回y_t不包含答案和专家调用,则Ht中追加错误消息,处理意外的输出

元模型和专家模型

使用了相同的LM,例如GPT-4,以同时在Meta和Expert功能中发挥作用。它们的角色根据提示中各自的模型指令来区分,其中元模型遵循图3中提供的一组指令,而专家模型遵循由元模型在推理时动态确定的独立指令。

实验设置

baselines

  • 标准提示SP:LM直接生成响应,只包含任务描述,无其他额外说明
  • 零样本CoT:添加 Let’s think step by step
  • 专家提示EP:首先构建专家身份,将专家加入提示。实验里考虑 静态和动态的(自适应设计专家身份)
  • 多角色提示MP:SPP方法,提出角色集合完成特定任务,相互反馈并完善协作最终方案

数据集和任务

考察数学、算法推理、领域特定知识、文学创作

  • 24点游戏

  • BIG-BENCH任务:几何形状、多步算术、词排序 和 国际象棋一步将军

  • Python编程题:具有不同难度级别

  • 多语种小学数学:将示例翻译为10种语言

  • 莎士比亚诗歌写作:写严格押韵的十四行诗 ABAB CDCD EFEF GG,包含3个提供单词

答案提取和评估协议

格式如图3 所示,最终答案以3引号括起来,前面标记 >>final answer:

在这里插入图片描述

你是元专家,一个极其聪明的专家,具有独特的能力与多个专家合作(如专家问题解决者,专家数学家,专家散文家等)处理任何任务和解决任何复杂的问题。一些专家擅长提出解决方案,而另一些专家擅长验证答案并提供有价值的反馈。

注意,您还可以特殊访问Expert Python,它具有生成和执行给定自然语言指令的Python代码的独特能力。Expert Python具有很强的能力,在给出明确和精确的指示时,可以编写代码来执行复杂的计算。因此,您可能特别希望将其用于计算任务。

作为元专家,你的角色是监督专家之间的沟通,有效地使用他们的技能来回答给定的问题,同时运用你自己的批判性思维和验证能力。

要与专家交流,输入其名称(例如,“Expert Linguist”或“Expert Puzzle Solver”),后跟一个冒号 :,然后用三引号括起来提供详细的说明。例如:

Expert Mathematician:

“”"
You are a mathematics expert, specializing in the fields of geometry and algebra. Compute the Euclidean distance between the points (-2, 5) and (3, 7).
“”"

确保你的说明是清晰和明确的,并包括所有必要的信息在三引号内。你也可以将角色分配给专家(例如,“你是一个物理学家,专门从事……”)。

一次只与一位专家互动,如果需要的话,可以将复杂的问题分解成更小的、可解决的任务。每个交互都被视为一个独立的事件,因此在每个调用中包含所有相关的细节。

如果你或一位专家在另一位专家的解决方案中发现了错误,请一位新的专家检查细节,比较两种解决方案,并给出反馈。你可以要求一个专家重新计算或工作,使用其他专家的输入。记住,所有的专家,除了你自己,没有记忆! 因此,在联系他们时,请务必在指示中提供完整的信息。由于专家有时会犯错误,如果不确定,应寻求多种意见或独立验证解决方案。在给出最终答案之前,一定要咨询专家以获得确认。理想情况下,可以由两个独立的专家获得或验证最终的解决方案。但是,你最好在15轮或更少的时间内给出你的最终答案。

不要向专家重复同样的问题。仔细检查他们的回答,如果需要的话寻求澄清,记住他们不记得过去的交流。

最后的答案如下:

>> FINAL ANSWER:

“”"

[final answer]

“”"

在多项选择题中,只选择一个选项。每个问题都有一个独特的答案,所以仔细分析所提供的信息,以确定最准确和最合适的回答。如果你遇到多个选择,请只提出一个解决方案。

最终的答案提取后,需要评估正确性,采用3个指标:

  • 精准匹配(EM):答案的正确性取决于它与ground-truth标签的精确对齐。
  • 软匹配(SM):正确答案只要求 存在ground-truth标签,不管是否额外内容
  • 功能正确(FC):案是否在功能上是正确的,这意味着它遵守特定任务的约束。

模型

GPT-4 (GPT-4 -32k)、GPT- 3.5 (gpt-35 turbo),通过指令微调过,温度=0,top-p=0.95,max_token=1024

结果与讨论

在这里插入图片描述

实验结果远优于标准提示,特别在使用python之后。

整体表现

元提示方法始终优于传统的方法,尤其在24点、python编程、诗歌创作,这些任务需要复杂的、迭代的搜索策略,元提示利用各种专家角色的集体智慧,迭代地导向一个解决方案,从而培养一个更动态、更有效的解决方案

在MSGM和几何题上,元提示的提升很少,在孟加拉语和泰卢固语(baseline最差)上取得4-6%的提升,在几何题上希望可以用代码识别形状但失败。不如0-CoT(取得最佳的效果)

使用python解释器可以获得显著提升,但对于将军问题,原始元提示也获得很大增幅,我们结果强调了元提示的多功能性,并强调了它在严格计算问题之外广泛应用的潜力。

零样本分解,错误检测和聚合

深入MGSM多语言的算术问题,在元提示下,GPT4遵循3个阶段:首先将问题从源语言翻译为英语,然后应用计算专家(专业数学家)求解,最后验证。这类方法与多语言CoT方法类似,但我们在无明确指令下进行了翻译操作

我们的结构化方法体现了群体智慧的原则(各种批判性思想家的集体观点往往超过单个专家的洞察力)。通过在元模型的指导下利用专业专家模型的集合,每个专家模型都从不同的专业知识角度贡献,实现了更准确和可靠的结果

新眼光

Fresh eyes有助于解决LM加倍犯错,过度自信的问题,是区分元提示和多角色提示的关键因素。在元提示中,专家或角色会引入新的视角来重新评估问题。这种方法为新的见解和潜在的发现以前被忽视的不正确的解决方案提供了机会。假设任务是24点:6 11 12 13, 历史为:

  1. 元模型咨询数学、问题解决、python程序的专家,并要求遵守游戏规定,必要时调用新专家来审查
  2. 一位专家提出解决方案,另一位专家认为方案不正确,元模型建议编写Python程序来找到一个有效的方案。
  3. 编程专家被咨询来编写程序。
  4. 另一位编程专家识别脚本中的一个错误,修改它,然后执行修改后的脚本
  5. 一个数学专家被咨询来验证程序输出的解决方案。
  6. 在此验证之后,Meta Model将其输出为最终答案。

这个例子强调了元提示是如何在每个步骤中融入新的视角的(因为专家的提示不包括整个历史),不仅可以找到解决方案,还可以有效地识别和纠正错误。

实时代码执行

元提示框架中引入了Python代码的生成执行专家,在Python编程数据集获得很大的提升。但不限于单任务,在24点、单词排序等任务都获得了提升,突出了代码生成和执行在元提示框架中的有效性。

然而,实时代码执行也导致安全考虑,需要安全受控的环境,防止数据泄露和系统漏洞等风险

更多讨论

元提示的额外分析

**元提示中的专家类型分析:**元模型对专家类型的动态选择清楚地说明了它的适应性和与特定任务需求的战略一致性。在是否存在Python解释器的情况下,模型选择的专家完全不同。
在这里插入图片描述
在这里插入图片描述

  • 在调用python的场景,元模型倾向于选择具有技术和计算专长的专家。例如,在Python编程谜题中,模型常常使用Python专家、数学家专家和不同级别的Python程序员专家。

  • 在没有python专家元提示中,专家范围更加多样化。例如几何题,说明其重点在于视觉和空间问题解决,而不是计算方法

获得方案的回合数: 达到一个解决方案所需的平均轮数因任务的不同而显著不同,这表明了它们的复杂性和特定性质。简单的任务词排序、将军只需要少回合(3)完成,意味任务更线性与直接;对于复杂的python编程需要高回合(6),体现任务的细致和复杂。表明了元提示框架高效管理任务,保证了和任务一致的效率。

通过系统验证提高解决方案的可靠性: 在最终确定答案之前,始终要咨询专家进行验证,这一原则适用于各种不同的任务。例如 在象棋中,一开始,它会咨询专家级象棋玩家来提出解决方案,然后由专家级象棋分析师进行关键验证,包括复杂任务的24点和MGSM的外部专家咨询和内部审查。这一方法可以提升方案的准确和可靠性。

面对无解情况: 元模型在面对某些任务时,能够更频繁地识别出不存在有效解决方案的情况,或者它自己无法找到解决方案。另外,在无法解决的情况时,往往选择无法作答 明确承认,而不是提供错误答案,体现了置信度。

GPT-4的零样本能力优异: 即使在没有元提示增强的情况下,GPT-4在解决零次尝试任务中的高效性和可靠性。它的多功能性和在遵循指令方面的精准性使它成为一个强大的工具,尤其在代码生成和推理任务中表现出色。

GPT-3.5的性能有限: GPT-3.5在模拟角色扮演场景或管理扩展上下文窗口方面可能不如GPT-4有效。表明模型的规模、跟随教学语料库的质量和规模等因素可能显著影响元提示方法的有效性。

元提示的局限性和失败模式

主要限制:

  • 调用多个专家模型的高成本。GPT-4扮演元模型和专家的双重角色导致了高成本、低效率

  • 要求大规模的上下文窗口,仅GPT4适合,需要保留广泛的消息历史。

  • 在封闭系统中实现,未来可以合并外部资源,包括微调模型、搜索引擎、不同温度的专家

  • 偶尔忘记输出格式(3引号),导致系统混乱,在最终的响应经常为错误的方案所道歉。

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值