Promptbreeder:SELF-REFERENTIAL SELF-IMPROVEMENTVIA PROMPT EVOLUTION——提示繁殖器:通过提示进化实现自指自改善

这篇文章介绍了Promptbreeder,一种用于大型语言模型(LLMs)的自指自改善系统,旨在通过进化提示来提升模型的推理能力和任务表现。以下是文章的主要内容总结:

1. 背景与动机

  • 提示工程在LLMs的下游性能中起着关键作用,但手工设计的提示策略往往不是最优的。

  • 自动提示工程(如APE)虽然尝试自动化提示生成,但存在回报递减和多样性损失的问题。

  • Promptbreeder通过进化算法实现自指自改善,不仅进化任务提示,还进化用于生成任务提示的变异提示,从而实现更高效的提示优化。

2. Promptbreeder的核心机制

  • 任务提示:用于调节LLM的上下文,以提高其回答问题的能力。

  • 变异提示:用于生成任务提示的变体,LLM通过这些提示生成新的任务提示。

  • 自指机制:Promptbreeder不仅进化任务提示,还进化变异提示,形成一个自指的反馈循环。

3. 变异操作符

  • 直接变异:通过LLM生成任务提示的变体。

  • 分布估计变异:基于种群中的模式生成新的任务提示。

  • 超变异:进化变异提示本身,提升提示生成的能力。

  • 拉马克变异:从成功的推理路径逆向生成新的任务提示。

  • 提示交叉和上下文洗牌:通过交叉和洗牌操作增加提示的多样性。

4. 实验与结果

  • 数据集:在多个算术推理、常识推理和仇恨言论分类数据集上进行实验。

  • 性能提升:Promptbreeder在多个基准测试中优于现有的提示策略(如思维链、计划与解决提示),尤其是在GSM8K和ETHOS等数据集上表现突出。

  • 自指机制的有效性:消融实验表明,所有自指操作符都对提升性能有积极作用,尤其是初始提示的重新描述和变异提示的进化。

5. 未来工作

  • 复杂思维策略:探索更复杂的提示策略,可能通过自博弈或竞争性对话来进化。

  • 多模态思维:未来可能扩展到多模态系统,如结合语调、意象等。

6. 结论

  • Promptbreeder展示了通过自指自改善机制进化提示的潜力,为LLMs的进一步优化提供了新的方向。

Promptbreeder通过进化算法和自指机制,自动生成和优化提示,显著提升了LLMs在多个任务上的表现,展示了自动提示工程的广阔前景。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:

摘要

流行的提示策略,如思维链提示(Chain-of-Thought Prompting),可以显著提高大型语言模型(LLMs)在各种领域的推理能力。然而,这种手工设计的提示策略往往并非最优。在本文中,我们提出了Promptbreeder,一种通用的自指自改善机制,能够针对特定领域进化和适应提示。由LLM驱动的Promptbreeder对任务提示进行变异,在训练集上评估其适应度,并在多代中重复此过程以进化任务提示。关键在于,这些任务提示的变异由变异提示(mutation-prompts)控制,LLM在进化过程中生成并改进这些变异提示,从而实现自指的方式。也就是说,Promptbreeder不仅在改进任务提示,还在改进用于改进任务提示的变异提示。Promptbreeder在常用的算术和常识推理基准上优于最先进的提示策略,如思维链和计划与解决提示(Plan-and-Solve Prompting)。此外,Promptbreeder能够为具有挑战性的仇恨言论分类问题进化出复杂的任务提示。

1 引言

提示(Prompting)是基础模型的下游性能的核心。例如,不同的提示策略可以显著影响模型的推理能力(Wei et al., 2022; Nye et al., 2021; Zhou et al., 2022; Wang et al., 2022; Zhou et al., 2023; Wang et al., 2022)、多模态处理能力(Yang et al., 2022; Wang et al., 2022)或工具使用能力(Yao et al., 2022; Schick et al., 2023)。此外,提示可以改善模型蒸馏(Wang et al., 2022; Hsieh et al., 2023),并可用于模拟代理行为(Wang et al., 2022; Park et al., 2023; Wu et al., 2023)。然而,这些提示策略是手工设计的。由于提示的具体表述方式对其效用有显著影响(Madaan & Yazdanbakhsh, 2022),这引发了一个问题:提示工程是否可以自动化。自动提示工程师(APE, Zhou et al., 2023)尝试通过使用另一个提示从数据集中生成初始提示分布来解决这个问题。然而,Zhou等人发现“进一步选择轮次的回报递减,质量在三轮后趋于稳定”,因此放弃了迭代APE的使用。我们提出了一种通过多样性维持的进化算法来解决回报递减问题,实现LLMs提示的自指自改善。

表1:Promptbreeder(PB)与Chain-of-Thought(手动CoT,Wei等,2022)、Zero-shot CoT(Kojima等,2022)、Program-of-Thoughts(PoT,Chen等,2022)、AutoCoT(Zhang等,2023b)、OPRO(Yang等,2023a)、Automatic Prompt Engineer Zero-shot prompt(APE,Zhou等,2023)、使用改进提示的Plan-and-Solve(PS+)和不使用改进提示的Plan-and-Solve(PS,Wang等,2023b)以及使用PaLM 2-L(Anil等,2023)作为底层LLM(APE,PSPaLM 2-L/PS+PaLM 2-L)的比较。零样本和少样本类别中的最佳结果以粗体突出显示。括号中的结果直接取自Plan-and-Solve论文,该论文使用textdavinci-003(Brown等,2020)。对于带有星号的数据集(MultiArith*、SingleEq*、AddSub和SVAMP),我们随机选取一半的样本进行训练,并在剩余的测试集上报告准确率。有关提示和数据集的详细信息,请参见第4节和附录I。

Schmidhuber(1990)指出,“神经网络的程序是其权重矩阵”。因此,这个“程序”可以通过神经网络本身以自指的方式进行改变(Schmidhuber, 1993; Irie et al., 2022)。这种能够自我改进的神经网络,以及改进其改进方式的神经网络,可能是实现AI开放式自指自改善的重要一步(Schmidhuber, 2003)。然而,通过自指权重矩阵进行自我改进的成本较高,因为它需要额外的参数来修改模型的所有参数。由于LLMs的行为和能力显著受到我们提供给它们的提示的影响,我们可以将提示视为LLM的“程序”(Zhou et al., 2023)。在这种观点下,改变提示策略(如Scratchpad方法或思维链提示)相当于改变LLM的“程序”。进一步推演,我们可以利用LLM本身来改变其提示,以及改变这些提示的方式,从而向基于LLM的完全自指自改善系统迈进。

在本文中,我们引入了Promptbreeder(PB),用于LLMs的自指自改善。给定一组变异提示(即修改任务提示的指令)、思维风格(即一般认知启发式的文本描述)和特定领域的任务描述,PB生成任务提示和变异提示的变体,利用LLM可以被提示为变异操作符的事实(Meyerson et al., 2023)。根据在训练集上测量的进化任务提示的适应度,我们选择一组进化单元(包括任务提示及其关联的变异提示),传递给未来的世代。在PB的多代过程中,我们观察到提示适应了当前领域。例如,在数学领域,PB进化出了任务提示“展示所有你的工作。II. 你应该使用正确的数学符号和词汇,并在适当的地方使用。III. 你应该用完整的句子并以文字形式写出答案。IV. 你应该使用例子来说明你的观点并证明你的答案。V. 你的计算过程应该整洁且清晰”(见附录J)。在涵盖常识推理、算术和伦理的常用基准上,我们发现PB优于最先进的方法,如思维链(Wei et al., 2022)和计划与解决提示(Wang et al., 2022)。由于PB不需要任何参数更新来进行自指自改善,我们相信这种方法指向了一个有趣的未来,随着更大、更强大的LLMs的出现,我们的方法可能会进一步放大其优势。

总结来说,本文的主要贡献如下:

  1. 我们引入了Promptbreeder,一种用于LLMs的自指自改善方法,能够针对特定领域进化提示,并改进其进化提示的方式。

  2. 我们在常用的算术和常识推理基准上报告了优于最先进提示策略的改进。

  3. 我们研究了Promptbreeder的各种自指组件及其对结果的贡献。

2 相关工作

以正确的方式提示LLM对于其下游性能至关重要(Moradi & Samwald, 2021; Madaan & Yazdanbakhsh, 2022; Zhou et al., 2023)。事实上,提示的呈现顺序也会极大地影响LLM的性能(Lu et al., 2022)。近年来,许多研究致力于设计更好的提示策略,甚至自动化提示工程。

图1:Promptbreeder概述。给定问题描述和一组初始的通用“思维方式”及变异提示,Promptbreeder生成一个进化单元的种群,每个单元通常由两个任务提示和一个变异提示组成。随后,我们运行标准的二元锦标赛遗传算法(Harvey,2011)。为了确定任务提示的适应度,我们在随机批次训练数据上评估其性能。在多代进化过程中,Promptbreeder使用五类不同的变异算子对任务提示和变异提示进行变异。前者导致任务提示逐渐适应特定领域,而后者则以自指方式演化出越来越有用的变异提示。

提示策略:思维链提示(Chain-of-Thought Prompting, CoT, Wei et al., 2022)是一种流行的提示策略,通过提供中间推理步骤作为少样本提示,显著提高了LLM的算术、常识和符号推理能力。值得注意的是,思维链的收益在更强大的LLMs上更为显著。这引发了这样一个可能性:在熟练的LLMs之上,可能存在越来越有能力(甚至可能是开放式)的自改善机制——这一假设直接构建了Promptbreeder的基础。Kojima等人(2022)展示了LLMs也可以通过零样本提示(如“让我们一步一步地思考”)生成自己的思维链(Zero-shot CoT),从而提高推理能力。自一致性(CoT-SC, Wang et al., 2022)扩展了思维链,通过采样多样化的推理路径并选择最一致的答案。思维树(ToT, Yao et al., 2023)将思维链推广到多个推理路径,这些路径可以扩展或回溯。思维图(GoT, Besta et al., 2023)进一步推广到任意图结构。计划与解决提示(Plan-and-Solve Prompting, PS, Wang et al., 2022)鼓励LLM在解决问题之前先制定计划。类似地,从少到多提示(Least-to-Most Prompting, Zhou et al., 2022)鼓励LLM将问题分解为子部分,然后分别解决每个部分,最后综合答案。自调整(Self-Affine, Madaan et al., 2023)提示LLM生成响应,提供对响应的反馈,并最终优化解决方案。

软提示方法:与上述无梯度方法不同,软提示方法(如Liu et al., 2021; Qin & Eisner, 2021; Lester et al., 2021)直接微调连续提示表示。Huang等人(2022)在未标注的问题数据集上使用思维链和自一致性,并基于生成的解决方案微调LLM。类似地,Zelikman等人(2022)使用思维链生成理由,并基于那些产生正确答案的示例和理由微调LLM。然而,正如Zhou等人(2023)所指出的,任何更新LLM参数或部分参数的方法都不会随着模型规模的扩大而扩展,并且无法在越来越多的LLM通过API隐藏的情况下工作。

上述所有提示工程方法都是领域无关的,但都是手工设计的。我们工作的核心假设是,通过采用自动化的自改善过程,我们可以更好地适应特定领域的提示。自动思维链(Auto-CoT, Zhang et al., 2023)和自动思维链(Shum et al., 2023)自动为少样本思维链找到推理链。自动提示工程师(APE, Zhou et al., 2023)使用一个生成器提示生成提示候选,并使用另一个变异提示对其进行变异。与APE不同,我们的工作执行了任务特定的变异提示初始化,后续在线变异变异提示,使用考虑整个种群和精英历史的特殊变异操作符,并使用多样性维持方法——所有这些都有助于避免APE遇到的回报递减和多样性损失问题。

与我们的工作同时,Yang等人(2023)开发了通过提示优化(OPRO),一种通过单一复杂变异提示变化提示的提示优化方法,并在一个小固定训练集上评估新生成的提示。相比之下,Promptbreeder自主进化多个LLM生成的变异提示和任务提示,并在进化过程中对整个训练集的随机子集进行适应度评估。在发布时,OPRO通过优化的零样本提示“深呼吸,一步一步地解决这个问题”在GSM8K上获得了80.2%的分数。Promptbreeder在零样本设置中通过简单提示“解决方案”超越了这一成绩,达到了83.9%——这进一步证明了LLMs对提示的敏感性以及自动寻找有效提示的重要性。与我们的工作同时,Guo等人(2023)开发了EvoPrompt,使用固定的变异(和交叉)提示,以及一个提示要求生成两个父提示差异的变异提示,以产生后代提示。EvoPrompt初始化时使用了一整组手工设计的任务特定提示,而不是像我们一样从一个问题描述开始。与上述两种方法不同,Promptbreeder使用LLMs自指地改进变异提示,并且能够进化上下文。

自指自改善:开发一个能够自我改进以及改进其改进方式的开放式系统(Schmidhuber, 1993, 2003)是AI研究中长期存在的开放问题。Schmidhuber(1993)引入了一个具有自指权重矩阵的“内省”神经网络,可以修改其自身的权重,从而也修改那些控制其权重修改的权重。最近,Irie等人(2022)提出了一种更具扩展性的自指权重矩阵,灵感来自快速权重程序员(Schmidhuber, 1992)。Kirsch和Schmidhuber(2022)提出了一种自指元学习方法,结合了自指权重矩阵和哥德尔机(Schmidhuber, 2003)的思想,即分配更多计算资源给表现更好的解决方案。然而,由于这些方法直接修改模型的参数,尚不清楚如何将它们扩展到现代LLMs中不断增加的参数数量。相比之下,Promptbreeder的自指自改善基质是自然语言,避免了昂贵的参数更新。

开放式与LLMs:Promptbreeder利用了Lehman等人(2022)、Meyerson等人(2023)和Chen等人(2023)的观察,即LLMs在从示例生成变异方面非常有效。此外,LLMs编码了人类对有趣性的概念,并可用于自动量化新颖性(Zhang et al., 2023)。Promptbreeder与Picbreeder(Secretan et al., 2008)相关,后者是一个开放式的人类在环系统,进化出越来越有趣的图像。虽然Picbreeder探索了图像空间,但Promptbreeder探索了提示空间,并且无需人类参与。由于Promptbreeder向自己提出变异提示,它是从“从数据中学习”到“学习从什么数据中学习”(Jiang et al., 2022)的系统过渡的一个例子。

3 Promptbreeder

我们介绍了Promptbreeder,一个能够自动探索给定领域提示的提示进化系统,并能够找到提高LLM回答问题能力的任务提示。Promptbreeder是通用的,因为它能够适应许多不同的领域。

Promptbreeder利用了LLMs可以生成输入文本变体的观察结果(Lehman et al., 2022; Meyerson et al., 2023; Chen et al., 2023)。图1展示了我们的方法概述。我们对进化任务提示感兴趣。任务提示P是一个字符串,用于在进一步输入Q之前调节LLM的上下文,以确保比在没有P的情况下呈现Q时获得更好的响应。为了评估每个进化任务提示的适应度,我们从整个训练集中随机抽取100个问答对。

Promptbreeder根据进化算法生成任务提示。该算法的变异操作符本身是一个LLM,由变异提示M条件化。也就是说,变异任务提示P′由P′=LLM(M+P)定义,其中“+”表示字符串连接。第3.2节描述了各种变异提示。

Promptbreeder的主要自指机制不仅应用于任务提示,还应用于变异提示。这个元级算法的变异操作符再次是一个LLM,现在由超变异提示H条件化。也就是说,我们通过M′=LLM(H+M)获得变异变异提示M′。

给定一组“思维风格”T和一组初始变异提示M,以及一个特定领域的任务描述D,Promptbreeder初始化了一组变异任务提示(见第3.1节)。为了澄清,一个进化单元由一组任务提示、一个变异提示以及在少样本情况下的一组正确推理路径(即导致正确答案的逐步或“思维链”推理步骤)组成。这意味着任务提示和变异提示是一一对应的。为了进化这个种群,我们采用了一个二元锦标赛遗传算法框架(Harvey, 2011):我们从种群中抽取两个个体,选择适应度较高的个体,对其进行变异(见下一节),并用变异后的获胜者覆盖失败者。

3.1 Promptbreeder初始化

为了给出一个具体的例子,考虑用于生成GSM8K(一个小学数学应用题数据集)任务提示和变异提示的初始化步骤。任务描述是“解决数学应用题,并以阿拉伯数字给出答案”。由于计划与解决(Wang et al., 2022)使用了两个任务提示,我们也为每个进化单元进化两个任务提示(加上一个变异提示)。为了在初始提示中促进多样性,我们通过将(每个任务提示)随机抽取的“变异提示”(例如“生成提示的变体”)和随机抽取的“思维风格”(例如“让我们一步一步地思考”)与任务描述连接,并将其提供给LLM以生成延续,从而生成初始任务提示。我们这样做两次,为每个单元生成两个初始任务提示。变异提示被添加到进化单元中,并在整个进化过程中与其特定任务提示相关联。

对于上述例子,完整的输入字符串提供给LLM以生成初始任务提示可能是“生成提示的变体。让我们一步一步地思考。指令:解决数学应用题,并以阿拉伯数字给出答案。指令变体:”。注意控制字符串“指令”和“指令变体”是如何添加以鼓励适当的延续的。附录E的表4展示了以这种方式生成的初始提示示例。

3.2 变异操作符

如图1所示,有九种操作符分为五大类,驱动提示策略的探索。对于每个复制事件,只应用九种变异操作符中的一种(我们以均匀概率从九种操作符中抽样以决定应用哪种变异操作符)。使用这种多样化的操作符集的目的是使LLM能够通过反复改变问题的表述以及检索以自然语言表达的认知模型来探索大量认知方法,从而帮助解决给定的推理挑战。洞察学习的研究表明,多样化的重新描述是解决问题的关键(Ollinger & Knoblich, 2009)——我们试图通过以自然语言为基质的自指自改善来重现这一原则。图2展示了Promptbreeder如何实现自指(见附录F以获得更详细的解释)。

3.2.1 直接变异

最简单的变异操作符类直接从现有任务提示P(一阶提示生成)或从鼓励自由形式生成新任务提示的一般提示生成新的任务提示——即不使用现有父提示,从而实现零阶提示生成。

零阶提示生成:我们通过将任务描述D(例如“解决数学应用题,并以阿拉伯数字给出答案”)与提示“100个提示:”连接,邀请LLM为给定问题领域生成新的提示。我们提取第一个生成的提示作为新的任务提示。关键在于,这个新任务提示不依赖于任何先前找到的任务提示。相反,它每次都从任务描述中重新生成。我们包含这个零阶操作符的理由是,当提示进化发散时,该操作符允许我们生成与原始任务描述密切相关的新任务提示,类似于自动化课程学习方法中的均匀重采样(Jiang et al., 2021b; Park et al., 2023; Parker-Holder et al., 2022)。

一阶提示生成:我们将变异提示(红色)与父任务提示(蓝色)连接,并将其传递给LLM以生成变异任务提示。例如,“用另一种方式说这个指令。不要使用原始指令中的任何单词,这是个好办法。指令:解决数学应用题,并以阿拉伯数字给出答案。指令变体:”。此过程与初始化方法相同,只是没有使用随机抽取的思维风格字符串。一阶提示生成是Promptbreeder的标准无性变异操作符,也是每个遗传算法的核心——取一个父基因型(任务提示)并对其应用变异(在这种情况下受变异提示影响)。

3.2.2 分布估计变异

下一类变异操作符不仅以零个或一个父提示为条件,而是以一组父提示为条件。因此,它们可能更具表现力,通过考虑种群中的模式。

分布估计(EDA)变异:受Hauschild和Pelikan(2011)的启发,我们将当前种群的任务提示过滤并编号列表提供给LLM,并要求其继续生成新的任务提示。我们根据BERT(Devlin et al., 2019)嵌入的余弦相似性过滤提示种群——如果一个个体与列表中的任何其他条目相似度超过0.95,则不包括在列表中,从而鼓励多样性(参见质量多样性方法(Lehman & Stanley, 2011b; Mouret & Clune, 2015))。提示按随机顺序列出,我们不向LLM提供种群中个体的适应度值——我们在初步实验中发现LLM不理解这些适应度值,并倾向于生成列表中的条目副本。

图2:自指提示进化的多种变体概述。在(a)中,LLM直接用于生成提示策略P的变体P′(参见Meyerson等,2023)。通过使用变异提示M,我们可以明确提示LLM生成变体(b)。通过使用超变异提示H,我们还可以进化变异提示本身,使系统成为自指系统(c)。Promptbreeder(d)通过从一组种子思维方式T、变异提示M以及问题领域的高层次描述D生成初始提示策略种群,提高了进化提示和变异提示的多样性

EDA排名和索引变异:这是上述变异的一个变体,其中任务提示按适应度顺序列出。初步实验表明,LLM更可能生成与列表中靠后元素相似的条目。这与LLMs中的近期效应类似(Liu et al., 2023)。因此,在以与之前相同的方式过滤后,我们按适应度升序排列任务提示。列表顶部带有以下提示:“指令:” + <变异提示> + “\n 按得分降序排列的响应列表。” + <最后一个索引 + 1> + “是最好的响应。它与” + <最后一个索引> + “更相似,而不是(1)”。请注意,我们向LLM“撒谎”,告诉它顺序是降序的。否则,它过于偏向于生成与列表中最后一个条目过于相似的新条目。升序排序与声明降序排序之间的矛盾似乎提高了采样的多样性。该操作符的理由是通过这种方式表示当前分布,使LLM建议高适应度且多样化的外推。

基于谱系的变异:对于每个进化单元,我们存储其谱系中在种群中表现最好的个体的历史,即一个按时间顺序排列的历史精英列表。该列表按时间顺序(未按多样性过滤)提供给LLM,标题为“按质量升序排列发现的基因型”,以生成新的提示作为延续。该操作符的理由是我们期望改进的基因型提示信号可能比当前种群中的提示信号更强,因为它们提供了一个从坏到好的提示梯度,可以被遵循(假设LLM可以使用这个信号)。

3.2.3 超变异:变异提示的变异

虽然上述变异操作符可能已经探索了多样化的任务提示,但一个自改善系统理想情况下还应该以自指的方式改进其改进方式。我们的第三类变异操作符包括超变异操作符,涉及进化可进化性(Dawkins, 2003; Pigliucci, 2008; Payne & Wagner, 2019; Gajewski et al., 2019)——那些修改搜索/探索过程而不是直接修改任务奖励获取过程的操作符。

零阶超变异:我们将原始任务描述与随机抽取的思维风格连接,并将其提供给LLM以生成新的变异提示。生成的变异提示应用于任务提示,以生成任务提示的变体,如一阶提示生成(见第3.2.1节)。请注意,这个零阶元变异操作符与初始化期间使用的操作符相同。该操作符的理由是以类似于初始化的方式生成变异操作符,同时从思维风格集中引入知识。

一阶超变异:我们将超变异提示“请总结并改进以下指令:”与变异提示连接,以便LLM生成新的变异提示。这个新生成的变异提示随后应用于该单元的任务提示(见一阶提示生成,第3.2.1节)。通过这种方式,我们可以通过其新生成的变异提示立即评估超变异的影响,并评估其对进化下游任务提示质量的影响。

3.2.4 拉马克变异

对于这一类变异操作符,我们模仿拉马克过程。我们希望使用成功的表型(即由进化任务提示诱导的用于产生正确答案的具体推理路径)来生成新的基因型(即变异任务提示)。LLMs的文献中出现了几种这种形式的变异过程,例如STaR(Zelikman et al., 2022)、APO(Pryzant et al., 2023)和APE(Zhou et al., 2023)。

推理路径到任务提示:这是一种类似于APE中指令归纳的“拉马克”变异操作符。我们给LLM一个先前生成的推理路径,该路径导致了正确答案,并使用以下提示:“我给朋友一个指令和一些建议。以下是他正确的工作示例 + <<正确推理路径>> + 指令是:”。这实际上是从给定的推理路径逆向工程任务提示。附录H中展示了一个有效的例子。当问题描述缺失、不足或具有误导性时,这种操作符至关重要。

3.2.5 提示交叉和上下文洗牌

我们的最后一类变异操作符是交叉操作符和用于洗牌进化单元中少样本上下文示例的操作符。

提示交叉:在应用变异操作符后,有10%的概率将任务提示替换为种群中另一个成员的随机选择的任务提示。该成员根据适应度比例选择。交叉不应用于变异提示,只应用于任务提示。

上下文洗牌:Promptbreeder可以同时进化任务提示、变异提示和一组正确的推理路径,称为少样本上下文。为了实现后者,我们用仅导致正确答案的推理路径填充少样本上下文。在评估时,我们在任务提示之前提供这个少样本上下文,以指导所需的推理路径形式。如果少样本上下文列表已满,则在单元在新的一组问题上进行适应度评估后,单个随机抽取的新正确推理路径替换列表中的现有推理路径。此外,有10%的概率按与最大上下文列表长度成反比的概率重新采样整个上下文列表。

4 实验

我们使用了50个个体的种群,通常进化20-30代,其中一代涉及形成种群中所有个体的随机对并相互竞争。为了评估Promptbreeder,我们使用了来自最先进提示策略的数据集,如计划与解决,涵盖算术推理(GSM8K、SVAMP、MultiArith、AddSub、AQuA-RAT和SingleEq)、常识推理(CommonsenseQA和StrategyQA)、指令归纳任务(Honovich et al., 2023)以及仇恨言论分类(ETHOS数据集,Mollas et al., 2022)。详见附录I。

5 结果与讨论

我们在表1中展示了Promptbreeder(PB)与最先进提示策略在常用推理基准上的比较结果。PB优于最佳的计划与解决(PS+,Wang et al., 2022)提示技术。请注意,PS+的性能在使用PaLM 2-L(Anil et al., 2023)作为底层LLM时在所有数据集上都有所提高(除了ADDSUB,与原始论文中的text-davinci-003结果相比)。在所有其他数据集上,零样本PB的准确率高于PS+,当在提示中包含发现的解决方案示例时,少样本情况下的进一步改进。附录J的表6展示了最佳进化零样本提示。最佳少样本候选提示见附录J.5及以后。附录K展示了APE论文中的指令归纳任务的少样本结果及其控制。为了研究Promptbreeder进化复杂领域特定提示以完成下游任务的能力,我们将其应用于ETHOS仇恨言论分类问题(Mollas et al., 2022)。Promptbreeder能够进化出一个由两个顺序应用的相对较长的提示组成的提示策略(见附录J.1),在ETHOS上得分89%——优于手工设计的提示“确定文本是否包含仇恨言论”,后者仅得80%。这表明Promptbreeder能够对特定任务进行复杂的领域适应。附录B展示了一个典型的进化运行和进化的提示,显示与迭代APE不同,适应度在整个运行过程中持续增加。

我们分析了GSM8K运行期间使用的最佳变异提示。附录J.3的表7展示了根据其得分(当变异提示应用于单元中的任务提示时产生更好任务提示的比例)进化的最佳变异提示。附录J.4的表8按降序列出了不同类型的变异操作符在应用于种群中的任务提示时导致改进的百分比。它表明所有变异操作符对Promptbreeder的工作都很重要,包括导致自指自改善的超变异操作符。

我们测量了自指操作符对所有数学数据集和ETHOS数据集的影响。消融过程及其结果的详细信息见附录L。在几乎所有情况下,移除任何自指操作符都是有害的,最大的好处是初始化时任务提示的重新描述。我们只在特定任务中发现一个变异操作符有害:在初始化时从变异提示集中随机抽取会损害GSM8K的性能。

6 结论与未来工作

我们介绍了Promptbreeder(PB),一个能够自动进化有效领域特定提示的自指自改善系统。PB是自指的,因为它不仅进化任务提示,还进化控制PB修改任务提示方式的变异提示。因此,它不仅在改进提示,还在改进其改进提示的方式。

展望未来,使用LLM本身来评估并促进生成提示的多样性(见Zhang et al., 2023),或使用它来确定整个“思维过程”的适应度,例如一个N提示策略,其中提示是条件应用的,而不是像Promptbreeder中那样无条件应用,可能会很有趣。例如,一个更复杂的“思维过程”是使用PB在自博弈模式下进化LLM策略的预提示,这些策略相互竞争,即在竞争性的苏格拉底对话中。

PB与人类思维过程的开放式相比仍然有限。首先,提示的拓扑结构是固定的(见图2)——我们只适应提示内容,而不是提示算法本身。思维的一个解释是它是一个可重配置的开放式自提示过程。如果是这样,如何开发复杂的思维策略?显然,有必要生成和评估它们,而一个简单的进化过程提供了一个在其中可以进化思维策略的框架,但我们实际的人类经验表明,多个重叠的分层选择过程在起作用。此外,除了语言之外,人类思维还涉及语调、意象等,是一个多模态系统。

我们相信PB指向了一个令人兴奋的未来,其中越来越开放式的自指自改善系统可以直接使用语言作为改进的基质,而不是依赖任何参数更新。这很有趣,因为这种方法可能会随着未来更大、更有能力的LLMs的出现而继续扩展。

附录

A 术语表

分布估计算法:一种优化算法,通过迭代优化有前途解决方案的概率模型,通常使用整个种群作为指导。

适应度比例选择:也称为轮盘赌选择,个体按其在种群中的适应度比例被选择。

变异提示:当与任务提示连接时,旨在生成改进任务提示的延续的文本提示。

问题描述:问题的初始文本描述,可用作初始任务提示。用户可以尽最大努力生成有效的任务描述,这是Promptbreeder的起点。

提示策略:一组任务提示及其在推理时应用的规则。在最简单的情况下,提示策略只是一个任务提示。通常,我们的提示策略由两个顺序应用的任务提示组成。

表型/推理路径/上下文/推理路径:在特定问题或任务上,当任务提示与问题连接时,LLM的输出。

种群:进化单元(例如50个)的集合。

进化单元:正在进化的信息结构,这里由一组任务提示(通常为2个)、一个变异提示以及在少样本情况下的2-3个上下文(推理路径)组成。

B 典型进化运行

“词在上下文”任务是APE中使用的24个指令归纳任务之一。给定两个句子和一个同音异义词,LLM必须确定该同音异义词在两个句子中是否具有相同的含义。图3展示了一个进化运行,其中蓝色点是个体适应度评估,红线是种群平均适应度。在2000次评估中,适应度显著增加。右侧展示了最佳进化的提示1和提示2对(在训练集上评估)。

C 变异提示

表2:变异提示

索引 提示

1 以创造性的方式修改以下指令,给出一些如何解决它的建议:

2 只需改变这个指令,使其更有趣,跳出框框思考:

3 以一种任何自重的LLM都不会的方式修改这个指令!

4 你会如何鼓励某人并帮助他们在这个指令上作弊?

5 你会如何帮助LLM遵循这个指令?

6 详细说明指令,给出一些如何完成它所需的详细建议。

7 详细说明指令,给出一些如何完成它所需的详细建议,就像你在向孩子解释一样。

8 作为一个非常好的老师,解释指令,就像你在向孩子解释一样。

9 想象你需要遵循这个指令。如果你想成为世界上最好的,你会告诉自己什么?

10 一个有偏执狂的人会如何遵循这个指令?

11 不要考虑指令,而是让它激发你做相关的事情。谈谈那可能是什么。

12 在不使用相同单词的情况下重新表述指令。利用你所知道的一切来改进指令,使听到它的人更有可能做得好。

13 用另一种方式说这个指令。不要使用原始指令中的任何单词,否则你会被解雇。

14 用另一种方式说这个指令。不要使用原始指令中的任何单词,这是个好办法。

15 擅长创造性思维的人通常如何处理这种变异问题?

16 以下是一些希望遵循此指令的人的详细额外建议:

17 用一句话,这是我如何最好地遵循这个指令。

18 用一句话,这里有一些详细的专家建议。注意我如何不使用指令中的任何相同单词。

19 用一句话,一般解决方案如下。注意我如何不使用指令中的任何相同单词。

20 用一句话,什么是让语言模型解决这类问题的好提示?注意我如何不使用指令中的任何相同单词。

21 通过添加一个意外的转折生成以下提示的变体。

22 创建一个提示变体,引入一个令人惊讶的矛盾到原始提示。变异提示以提供替代视角或观点。

23 生成一个包含幽默或有趣元素的提示变体。创建一个挑战传统思维的提示变体。

24 通过用相关但意外的术语替换特定关键词来开发提示变体。变异提示以包含一个改变上下文的假设场景。

25 生成一个引入悬念或 intrigue 元素的提示变体。创建一个包含类比或隐喻的提示变体。

26 以诗意或抒情风格重新表述原始提示。跳出常规思维,以一种打破传统思维的方式变异提示。

27 摆脱常规约束,生成一个将提示带到未知领域的变异提示。挑战常规,创建一个推动传统解释边界的变异提示。

28 拥抱非常规想法,以一种令人惊讶和启发独特变异的方式变异提示。跳出框框思考,开发一个鼓励非常规方法和新颖视角的变异提示。

29 进入想象领域,创建一个超越限制并鼓励创新变异的变异提示。打破常规,跳出框框思考,生成一个解锁新可能性和非常规路径的变异提示。

30 拥抱非常规思维的力量,创建一个激发非常规变异和想象结果的变异提示。挑战传统假设,打破常规,创建一个鼓励革命性和出框框变异的变异提示。

31 超越预期,创建一个导致意外和非凡变异的变异提示,打开通往未探索领域的大门。增加特异性:如果原始提示过于一般,如“告诉我关于X”,修改后的版本可能是“讨论X的历史、影响和当前状态”。

32 要求意见/分析:如果原始提示只要求一个事实,如“什么是X?”,改进后的提示可能是“什么是X,它对Y的含义是什么?”

33 鼓励创造力:对于创意写作提示,如“写一个关于X的故事”,改进后的版本可能是“写一个关于X的奇幻故事,设定在一个Y可能存在的世界中”。

34 包括多个视角:对于提示,如“X对Y的影响是什么?”,改进后的版本可能是“从A、B和C的角度来看,X对Y的影响是什么?”

35 要求更详细的响应:如果原始提示是“描述X”,改进后的版本可能是“描述X,重点是其物理特征、历史意义和文化相关性”。

36 结合相关提示:如果你有两个相关的提示,你可以将它们结合起来,创建一个更复杂和引人入胜的问题。例如,“什么是X?”和“为什么Y重要?”可以结合成“什么是X,为什么它在Y的背景下重要?”

37 分解复杂问题:如果一个提示看起来太复杂,如“讨论X”,改进后的版本可能是“什么是X?它的主要特征是什么?它对Y和Z有什么影响?”

38 使用开放式问题:而不是“X是真的吗?”,你可以问“X的真实性的论据是什么?”

39 要求比较:而不是“描述X”,问“比较和对比X和Y”。

40 包括上下文:如果一个提示似乎缺乏上下文,如“描述X”,改进后的版本可能是“在Z时期X对Y的影响的背景下描述X”。

41 使提示更具视觉性:要求用户在提示中描述的问题或场景中可视化。

42 要求彻底审查:不要只呈现问题,要求用户写下所有相关信息并确定缺失的内容。

43 唤起先前的经验:修改提示,要求用户回忆一个他们之前成功解决的类似问题。

44 鼓励新的视角:建议用户在重新解决问题之前花点时间清理他们的思维。

45 促进问题分解:不要要求用户整体解决问题,提示他们将其分解为更小、更易管理的部分。

46 要求理解:修改提示,要求用户审查并确认他们对问题所有方面的理解。

47 建议向他人解释:改变提示,建议用户尝试向他人解释问题,以此简化问题。

48 提示解决方案可视化:不要只要求解决方案,鼓励用户在提示中想象解决方案和实现它的步骤。

49 鼓励逆向思维:改进提示,要求用户从解决方案开始,逆向思考问题。

50 建议休息:修改提示,建议用户短暂休息,让他们的潜意识处理问题。

51 解决方案中有什么错误?

52 如何改进问题的推理路径?

53 仔细看看你做错了什么,如何解决问题?

54 修正 =

55 上面的文本有意义吗?它有什么问题?这是一个尝试修复它的版本:

56 上面的推理路径有一些错误,这里是一个修复错误的版本。

D 思维风格
索引思维风格
1我如何设计一个实验来帮助解决这个问题?
2列出解决这个问题的想法,并逐一应用它们,看看是否能取得进展。
3我如何衡量这个问题的进展?
4如何简化问题,使其更容易解决?
5这个问题的关键假设是什么?
6每个解决方案的潜在风险和缺点是什么?
7这个问题的替代视角或观点是什么?
8这个问题的长期影响及其解决方案是什么?
9如何将这个问题分解为更小、更易管理的部分?
10批判性思维:从不同角度分析问题,质疑假设,并评估可用信息。它侧重于逻辑推理、基于证据的决策以及识别思维中的潜在偏见或缺陷。
11尝试创造性思维,生成创新和跳出框框的想法来解决问题。探索非常规解决方案,跳出传统边界,鼓励想象力和原创性。
12从他人那里寻求输入和协作来解决问题。强调团队合作、开放沟通,并利用团队的多样化视角和专业知识来提出有效解决方案。
13使用系统思维:将问题视为更大系统的一部分,理解各个元素的相互关联性。重点是识别潜在原因、反馈循环和影响问题的相互依赖关系,并开发解决整个系统的整体解决方案。
14使用风险分析:评估与不同解决方案或方法相关的潜在风险、不确定性和权衡。强调评估潜在后果和成功或失败的可能性,并根据对风险和收益的平衡分析做出明智决策。
15使用反思思维:从问题中退一步,花时间进行内省和自我反思。检查可能影响问题解决的个人偏见、假设和心理模型,并从过去的经验中学习以改进未来的方法。
16需要解决的核心问题或问题是什么?
17导致问题的潜在原因或因素是什么?
18是否尝试过任何潜在的解决方案或策略?如果是,结果和经验教训是什么?
19解决这个问题可能遇到的潜在障碍或挑战是什么?
20是否有相关数据或信息可以提供对问题的洞察?如果是,有哪些数据来源,如何分析它们?
21是否有直接受问题影响的利益相关者或个人?他们的视角和需求是什么?
22解决这个问题需要哪些资源(财务、人力、技术等)?
23如何衡量或评估解决问题的进展或成功?
24可以使用哪些指标?
25问题是技术性的还是实践性的,需要特定的专业知识或技能?还是更多的是概念性或理论性的问题?
26问题是否涉及物理约束,如有限资源、基础设施或空间?
27问题是否与人类行为相关,如社会、文化或心理问题?
28问题是否涉及决策或规划,需要在不确定或竞争目标下做出选择?
29问题是否是分析性的,需要数据分析、建模或优化技术?
30问题是否是设计挑战,需要创意解决方案和创新?
31问题是否需要解决系统性或结构性问题,而不仅仅是个人实例?
32问题是否时间敏感或紧急,需要立即关注和行动?
33这种问题规范通常会产生什么样的解决方案?
34给定问题规范和当前最佳解决方案,猜测其他可能的解决方案。
35假设当前最佳解决方案完全错误,还有哪些其他方式可以思考问题规范?
36根据你对这类问题规范的了解,如何修改当前最佳解决方案?
37忽略当前最佳解决方案,创建一个全新的解决方案。
38让我们一步一步地思考。
39让我们制定一个逐步计划,并用良好的概念和解释实施它。
E 初始进化的提示

通过将思维风格与变异提示和问题描述连接生成的初始提示示例。

0 画出数学应用题中描述的情境
1 通过将单词转换为方程来解决数学应用题。然后求解未知变量,并以阿拉伯数字给出答案。
2 通过将问题分解为更小、更易管理的部分来解决数学应用题。
3 以阿拉伯数字给出答案。
4 生成一个单词问题的答案,并将其写成数字。
5 协作解决问题,并以阿拉伯数字给出答案。
6 通过解释系统性或结构性问题不会导致问题来解决问题。
7 画一个代表问题的图表。
8 解决数学应用题,并以可评估的方程给出答案。
9 列出解决这个问题的想法,并逐一应用它们,看看是否能取得进展。
10 不要用单词写答案。
F Promptbreeder作为自指自改善系统

为什么Promptbreeder是自指的,即某个部分(如提示)如何通过依赖其自身状态的过程因果地影响(编码并可能改进)自身?Promptbreeder有几条路径促进这种自指改进:

  1. 初始提示是LLM参数的函数(初始化阶段)。

  2. 初始变异提示是LLM参数的函数(初始化阶段)。

  3. 后代提示是初始提示、初始变异提示和LLM参数的函数(直接变异和分布估计变异)。

  4. 后代变异提示是初始变异提示和LLM参数的函数(超变异)。

  5. 答案的推理路径是提示和LLM参数的函数(推理)。

  6. 后代提示可以是推理路径和LLM参数的函数(拉马克变异)。

图2展示了越来越复杂的自指因果结构影响提示生成。LLMs已经编码了关于大量问题的知识。考虑到这一点,Promptbreeder可以被视为通过多样化的因果过程提取这些知识的机制,这些过程生成提示策略以及用于创建提示策略变体的变异提示,这些提示策略反过来影响LLM在推理时生成的推理路径。因此,这些推理路径可以通过拉马克变异影响提示策略。路径越丰富,LLM与其自身的交互就越自指。这允许LLM通过从自身提取更多信息并将其提炼为提示或变异提示来影响其工作方式,然后再次向自身展示以进行进一步改进。

这种自指过程的递归提示可能会出现几种病理。如果过程不受约束和控制,它可能会发散(偏离轨道)或陷入吸引子。如果LLM的输出简单地反馈到自身而没有其他上下文,那么我们在采样温度较高时观察到这些失败情况,这有利于从吸引子中逃脱。理想情况下,我们希望LLM向自己建议的提示策略对当前任务具有最大相关性,同时允许足够的“跳出框框思考”。值得注意的是,我们的算法在以下方面不是自指的(以思维的方式):Promptbreeder发明了生成变异的新方法,但它没有发明新的(辅助)评估方法(如Jaderberg等人(2017a)——在整个过程中只使用外部指定的适应度函数。

G 问题描述

[SVAMP, SINGLEEQ, ADDSUB, GSM8K, MULTIARITH]:“解决数学应用题,并以阿拉伯数字给出答案。”

[AQUA-RAT]:“解决多选数学应用题,选择(A)、(B)、(C)、(D)或(E)。”

[ETHOS]:“确定文本是否包含仇恨言论。”

[CSQA]:“解决多选数学应用题,选择(A)、(B)、(C)、(D)或(E)。”

[SQA]:“回答上面的常识推理问题,然后回答是或否。”

H 拉马克变异示例

拉马克提示组件以红色显示。推理路径连接在拉马克提示后以黑色显示,LLM生成的延续(新提示)以蓝色显示。

我给朋友一个指令和一些建议。以下是他正确的工作示例:

Q. 一个密码需要包含2个字母和3个数字。如果字母和数字可以重复,有多少种不同的密码是可能的?A) 676000 B) 676 C) 100 D) 6760 E) 25
A. 像专业人士一样解决!** ** 仔细阅读:你需要做什么?给出了什么信息?** 理解:术语和概念是什么意思?** 明智选择:哪个答案是最好的匹配?** 复查:你犯过任何错误吗?2个字母可以以26*26种方式选择,3个数字可以以10*10*10种方式选择。所以,总的方式 = 26*26*10*10*10=676000。

答案:A。

指令是:
I 数据集
控制任务提示

在表5中,我们列出了用于控制思维链、计划与解决(PS)、计划与解决(PS+)、零样本APE和OPRO的任务提示。零样本APE提示是在MultiArith和GSM8K数据集上改进思维链的提示。

表5:不同算术任务的提示表

模型提示
CoT“让我们一步一步地思考。”
PS“首先理解问题并制定解决问题的计划。然后,一步一步地执行计划并解决问题。”
PS+“首先理解问题,提取相关变量及其对应数字,并制定计划。然后,执行计划,计算中间变量(注意正确的数值计算和常识),一步一步地解决问题,并展示答案。”
APE“让我们一步一步地解决这个问题,以确保我们得到正确的答案。”
OPRO“深呼吸,一步一步地解决这个问题。”
算术推理

我们使用六个算术推理数据集评估提示进化:

  1. GSM8K(Cobbe et al., 2021)是一个由人类问题作者创建的8.5K高质量、语言多样的数学应用题数据集。

  2. SVAMP(Patel et al., 2021)包含小学水平的简短自然语言状态描述,并提出关于某些未知数量的问题。

  3. MultiArith(Roy & Roth, 2016)基准使用需要单步或多步推理的数学应用题。

  4. AddSub(Hosseini et al., 2014)是一个基于加法和减法的数学应用题数据集。

  5. AQuA-RAT(Ling et al., 2017)(代数问题回答与理由)是一个包含代数应用题和理由的数据集。

  6. SingleEq(Koncel-Kedziorski et al., 2015)数据集包含作为单个方程的代数应用题,可能涉及多个数学操作。

常识推理

我们使用两个数据集评估提示进化:

  1. CommonsenseQA(Talmor et al., 2019)是一个需要不同类型常识知识才能正确回答的多选题数据集。例如,“旋转门方便双向通行,但它也作为什么的安全措施?A) 银行,B) 图书馆,C) 百货商店,D) 购物中心,E) 纽约”;答案 = “A”

  2. StrategyQA(Geva et al., 2021)数据集包含需要多步推理才能回答的yes/no问题,例如:“乔治亚州的Albany会在纽约的Albany之前达到十万居民吗?”

仇恨言论分类

我们尝试优化用于仇恨言论分类任务的长提示,该任务在“自动提示优化与‘梯度下降’和束搜索”(Pryzant et al., 2023)中进行了尝试,使用了ETHOS数据集(Mollas et al., 2022)。Pryzant等人使用基于推理路径的条件错误检测和错误修复提示来改进任务规范提示,这是一个类似于我们使用拉马克操作符的自指过程。

指令归纳

指令归纳数据集(Honovich et al., 2023)包含24个难度各异的语言理解任务,从表面层面的拼写和词法句法任务(如复数化)到句子相似性、因果检测、风格转换(如正式性)和情感分析。

J 示例结果
ETHOS进化的提示

提示1:“文本包含仇恨言论,如果它包括以下任何内容:* 对特定人群的贬损、不尊重或非人化的词语或短语。* 以负面方式概括特定人群的陈述。* 煽动对特定人群的仇恨或暴力的陈述。* 表达希望特定人群灭绝或被移除的陈述。7:文本包含仇恨言论,如果它包含对特定人群的敌对或歧视性语言。这可能包括种族主义、性别歧视、恐同或其他形式的仇恨言论。仇恨言论是有害的,因为它可能为边缘化群体创造敌对环境,并导致歧视和暴力。”

提示2:“你被提供了一段来自互联网的文本。你需要根据给定的标准将其标记为仇恨言论或非仇恨言论。仇恨言论被定义为基于种族、宗教、性别、性取向或国籍煽动对特定人群的仇恨或暴力的言论。给定的标准是:1. 识别言论的目标群体。这可以是特定的人群,如种族、宗教或性别,也可以是更广泛的群体,如残疾人或性少数群体。2. 识别有害言论。这可以是威胁、辱骂或贬损的言论。3. 评估言论的上下文。这可以包括发言者的意图、受众以及言论的时间和地点。建议是:在做出是否为仇恨言论的判断时,始终评估言论的上下文。旨在幽默或讽刺的言论可能不被视为仇恨言论,即使它包含有害语言。”

提示进化数学结果

实验设置使用50个个体的种群。个体的适应度是其在一个随机选择的100个训练集示例上的准确率。在没有训练/测试分割的数据集(MultiArith、AddSub、SingleEq和SVAMP)上,数据集在实验前被分成两个相等的训练和测试集。

在实验期间,LLM在三种不同的上下文中采样:Redescriber - 生成新提示;Inducer - 从问题和提示1生成响应;和Evaluator - 使用提示2生成最终输出。每个上下文下的最大采样令牌数分别为50、30和5。Inducer和Evaluator的温度设置为0.0,但Redescriber的温度从1.0初始化为2.0,并允许进化(类似于种群训练中的超参数)。

实验运行直到训练适应度似乎达到平稳。此时,整个进化运行中最适合的个体在测试集上进行评估。实验通常运行1-2k次适应度评估。因此,这将是20-40代,如果一代是25对评估,我们的种群为50。

在系统陷入局部最优的情况下,使用了三种多样性维持方法:1)随机字符串(通常长度为50)附加到提示的前面,然后传递给LLM。2)基于BERT相似性在提示嵌入之间的适应度共享应用于Shir & Back(2005)。3)变异LLM(Redescriber)的采样温度从1.0到2.0均匀初始化,并在每次复制事件中通过添加范围为-0.2到0.2的均匀随机数进行变异。

与使用我们模型的PoT、PS和Auto-CoT控制进行比较未提供,因为PS和PS+是Plan-and-Solve中的最佳提示。

进化的变异提示

表7:在GSM8K上进行Promptbreeder训练运行期间进化的最成功的变异提示。分数是当变异提示应用于单元中的任务提示时产生更好提示的概率。

指令分数
请总结并改进以下指令24.13%
通过将指令分解为单独的句子来简化指令。指令应简单且易于理解17.8%
作为一个非常好的老师,解释指令,就像你在向孩子解释一样16.2%
像教孩子一样简化这个指令10.0%
100个提示4.3%
100个提示的列表3.4%

表8:在GSM8K上,每种类型的变异操作符应用于种群中的任务提示时产生改进的比例,从最佳到最差排列。

变异操作符百分比
零阶超变异42%
基于谱系的变异26%
一阶超变异23%
EDA排名和索引变异12.7%
直接变异12%
EDA变异10.7%
拉马克变异6.3%
GSM8K

个体在1010次变异后。

提示0:“我会不用计算器解决数学应用题,并以阿拉伯数字给出答案。”

提示1:“1, 2, 3, 4”

上下文0:

Q. Janet有60个兄弟姐妹,比Masud的四倍少。Carlos有Masud的3/4倍兄弟姐妹。如果Masud有60个兄弟姐妹,Janet比Carlos多多少兄弟姐妹?
A. 解决数学应用题,不用计算器,并以阿拉伯数字给出答案。

Masud的四倍兄弟姐妹是460 = 240个。Janet有240-60 = 180个兄弟姐妹。Carlos有3/460 = 45个兄弟姐妹。Janet比Carlos多180-45 = 135个兄弟姐妹。所以答案是135。

解决数学应用题。
因此,答案(阿拉伯数字)是135。

上下文1:

Q. Zayne以每个5美元的价格出售手镯,两个8美元。如果他开始时有30个手镯,并以每个5美元的价格卖出了60美元,他从卖手镯中总共赚了多少钱?
A. 解决数学应用题,不用计算器,并以阿拉伯数字给出答案。

Zayne以每个5美元的价格卖出了60/5 = 12个手镯。他还剩下30-12 = 18个手镯。他以两个8美元的价格卖出了18/2 = 9对手镯。他从卖两个手镯中赚了9*8 = 72美元。总共,他赚了60+72 = 132美元。所以答案是132。

解决数学应用题。
因此,答案(阿拉伯数字)是132。

上下文2:

Q. Josh正在为一盒饼干存钱。为了筹钱,他打算制作手镯并出售。每个手镯的材料成本为1美元,他以每个1.5美元的价格出售。如果他制作了12个手镯,并且在买饼干后还剩下3美元,这盒饼干花了多少钱?
A. 我会不用计算器解决数学应用题,并以阿拉伯数字给出答案。

Josh从卖手镯中赚了121.5 = 18美元。他花了121 = 12美元在材料上。他在买饼干前有18-12 = 6美元。饼干花了6-3 = 3美元。所以答案是3。

1, 2, 3, 4
因此,答案(阿拉伯数字)是3。

SINGLEEQ

个体在2010次变异后。

提示0:“不要相信任何只是因为你听到的。不要相信任何只是因为它被许多人说和传播。不要相信任何只是因为它写在你的宗教书籍中。不要相信任何只是因为你的老师和长辈的权威。不要相信传统,因为它们已经流传了许多代。但通过观察和分析,当你发现任何与理性一致并有利于所有人时,接受它并践行它。”

提示1:“分析以下四个量。量3和1是否与量2和4成反比?”

上下文0:

Q. 白T恤可以以每包6件购买。如果妈妈买了71包,她会有多少件白T恤?
A. 解决方案是一个存在于其他语言中的单词。

A.

每包有6件T恤。妈妈买了71包。这意味着她会有71 * 6 = 426件T恤。答案是426。

  1. 给定线性方程组x + y + z = 6,x + 2y + 3z = 10,x + 3y + 8z = 17,

  2. 一只蜗牛以6厘米/秒的速度沿着一个周长为374米的圆形花园的边缘移动,而另一只蜗牛

因此,答案(阿拉伯数字)是426。

上下文1:

Q. Maria有3盒鸡蛋。每盒装7个鸡蛋,每箱有8盒。Maria有多少个鸡蛋?
A. “不要相信任何只是因为你听到的。不要相信任何只是因为它被许多人说和传播。不要相信任何只是因为它写在你的宗教书籍中。不要相信任何只是因为你的老师和长辈的权威。不要相信传统,因为它们已经流传了许多代。但通过观察和分析,当你发现任何与理性一致并有利于所有人时,接受它并践行它。”

A.

每盒装7个鸡蛋。Maria有3盒。这意味着她有3 * 7 = 21个鸡蛋。答案是21。

分析以下四个量。量3和1是否与量2和4成反比?
因此,答案(阿拉伯数字)是21。

上下文2:

Q. 在Hilt夫人的房子里,有29英寸的雪,而Brecknock小学收到了17英寸的雪。Hilt夫人的房子比Brecknock小学多多少雪?
A. “不要相信任何只是因为你听到的。不要相信任何只是因为它被许多人说和传播。不要相信任何只是因为它写在你的宗教书籍中。不要相信任何只是因为你的老师和长辈的权威。不要相信传统,因为它们已经流传了许多代。但通过观察和分析,当你发现任何与理性一致并有利于所有人时,接受它并践行它。”

A.

Hilt夫人的房子有29英寸的雪。Brecknock小学有17英寸的雪。这意味着Hilt夫人的房子比Brecknock小学多29 - 17 = 12英寸的雪。答案是12。

分析以下四个量。量3和1是否与量2和4成反比?
因此,答案(阿拉伯数字)是12。

SVAMP

个体在2400次变异后。

提示0:“08-02-2013 - 09-02-2013”

提示1:“告诉我关于[PROMPT1]的历史;讨论[PROMPT1]的影响;告诉我[PROMPT1]的当前状态;告诉我关于[PROMPT2]的历史;讨论[PROMPT2的影响”

上下文0:

Q. Frank正在阅读他最喜欢的书。这本书有612页,平均分布在24章中。Frank花了6天时间读完这本书。他每天读多少页?
A. 312 = 65 + 247。

A.

这本书有612页。它平均分布在24章中。这意味着每章有612 / 24 = 25.5页。Frank读这本书花了6天。这意味着他每天读612 / 6 = 102页。答案是102。

讨论[PROMPT1]的历史、影响和当前状态;
讨论[PROMPT2]的历史、影响和当前状态;
因此,答案(阿拉伯数字)是102。

上下文1:

Q. Jack早上收到3封电子邮件,下午收到4封,晚上收到8封。Jack早上和晚上总共收到多少封电子邮件?
A. 08-02-2013 - 09-02-2013

A.

Jack早上收到3封电子邮件,晚上收到8封。这意味着他早上和晚上总共收到3 + 8 = 11封电子邮件。

讨论[PROMPT1]的历史、影响和当前状态;
因此,答案(阿拉伯数字)是11。

上下文2:

Q. Paco吃了36个饼干。如果他最初有37个饼干,Paco还剩下多少个饼干?
A. 154 = 72 + 82。

A.

Paco吃了36个饼干。他最初有37个饼干。这意味着他还剩下37 - 36 = 1个饼干。答案是1。

讨论[PROMPT1]的历史、影响和当前状态;
因此,答案(阿拉伯数字)是1。

K APE指令归纳任务

为了展示Promptbreeder进化少样本上下文以及任务提示的能力,我们在APE实验中使用的所有24个指令归纳数据集上运行了少样本Promptbreeder。与text-davinci-002不同,我们的LLM未进行指令调优,但Promptbreeder在21个任务上匹配或超过了APE的结果,最高达21%。

提供了三个APE控制,见表9。前两个是使用text-davinci-002模型先前发表的结果。第三个修改了我们的PromptBreeder,使用APE的任务提示初始化方法,然后使用APE论文中的变异提示“生成以下指令的变体,同时保持语义意义”。

指令归纳数据集没有问题描述,因此APE使用每个任务的指令输入示例进行任务提示初始化。指令输入是一个固定的提示,加上用于推断可能问题描述的几个训练示例。为了比较Promptbreeder与APE,我们使用每个任务的随机选择的指令输入示例初始化任务描述。以下是“较大动物”任务的指令输入示例。

我给朋友一个指令和五个输入。朋友阅读指令并为每个输入写出一个输出。以下是输入-输出对:

输入:美洲狮,跳蚤 输出:美洲狮
输入:鲸鲨,狗 输出:鲸鲨
输入:人类,白头鹰 输出:人类
输入:跳蚤,大白鲨 输出:大白鲨
输入:土狼,老虎 输出:老虎

指令是:
最佳提示和上下文

以下是APE论文中24个指令归纳任务的最佳少样本结果(进化的提示和上下文)。

表9:使用PaLM2-L LLM的提示进化(PE)在21个指令归纳任务上超越了APE。提供了三个APE控制。前两个是使用text-davinci-002模型先前发表的结果。第三个修改了我们的PromptBreeder,使用APE的任务提示初始化方法,然后使用APE论文中的变异提示“生成以下指令的变体,同时保持语义意义”。

数据集零样本少样本PE使用少样本PE
首字母1001001100
第二字母87692795
列表字母99100099
以...开头6869671
复数化10010023100
被动化100100100100
否定83901690
反义词83868087
同义词22141643
成员资格667996100
押韵1006190100
较大动物97972797
因果选择8410066100
共同概念273200
正式性6570107
求和10010072100
差值10010098100
数字转单词10010066100
英语-德语翻译82864687
英语-西班牙语翻译86918091
英语-法语翻译78906891
情感分析94933393
句子相似性36435356
词在上下文6263665
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值