大语言模型在不同自然语言处理任务中的提示工程方法综述 精华

发布于 2024-7-29 00:53
浏览
0收藏

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

一、结论写在前面​

论文标题:A Survey of Prompt Engineering Methods in Large Language Models for Different NLP Tasks

论文链接:​​https://arxiv.org/pdf/2407.12994​

大型语言模型(LLMs)在众多不同的自然语言处理(NLP)任务上展现出卓越的性能。提示工程在增强LLMs已有的能力方面发挥着关键作用,以在各种NLP任务上实现显著的性能提升。提示工程需要编写称为提示的自然语言指令,以结构化的方式从LLMs中引出知识。与先前的最先进(SoTA)模型不同,提示工程不需要对给定的NLP任务进行广泛的参数重新训练或微调,因此仅依赖于LLMs嵌入的知识。

此外,LLM爱好者可以通过基本的自然语言对话交流或提示工程智能地提取LLMs的知识,使得越来越多没有深厚数学机器学习背景的人也能实验使用LLMs。随着提示工程在过去两年中日益流行,研究人员围绕设计提示提出了多种工程技术,以提高从LLMs中提取信息的准确性。

论文对44篇研究论文进行了深入调查,这些论文讨论了39种提示策略,涵盖了29个不同的NLP任务。论文通过分类图直观地展示了这一点。论文尝试将不同数据集标准化分类为29个NLP任务,并讨论了近期提示技术在这些任务上的整体影响,同时列出了每个数据集的潜在SoTA提示方法。    

二、论文的简单介绍

2.1 论文的背景

随着大型语言模型(LLMs)的引入,人工智能取得了显著的进步。LLMs 在包含数百万乃至数十亿个标记的大量文本语料库上进行训练。研究表明,随着模型参数数量的增加,机器学习模型的性能会提升,这一现象在 LLMs 中同样得到了验证。它们在众多 NLP 任务上取得了前所未有的性能,如 Chang 等人所示(2023),因此引起了学术界和包括医疗、法律、金融等多个行业的广泛关注。当前关于 LLMs 的研究重点是通过提示而非仅限于下一个标记预测来探讨其推理能力,这开启了一个围绕提示工程的新研究领域。

提示工程是指创建自然语言指令或提示,以有组织的方式从 LLMs 中提取知识的过程。与早期的传统模型相比,提示工程仅依赖于 LLMs 中嵌入的知识,不需要根据底层 NLP 任务进行大量的参数重新训练或微调。理解模型参数中嵌入的真实世界知识超出了人类的能力范围,因此这一新的提示工程领域引起了广泛关注,因为它允许研究人员与 LLMs 之间通过自然语言交流来实现底层 NLP 任务的目标。

论文列举了多种提示策略,并根据它们所应用的不同自然语言处理(NLP)任务进行分类。论文提供了一个分类图,将针对不同NLP任务尝试的提示技术制成表格,讨论所采用的大型语言模型(LLMs),并列出每个数据集的潜在最先进(SoTA)方法。作为本次调研的一部分,论文总共回顾和分析了44篇研究论文,其中大部分在过去两年内发表,涵盖了39种提示技术应用于29个不同的NLP任务。关于提示工程的系统性调研并不多见。Sahoo等人(2024年)基于应用对29篇提示技术论文进行了调研。这种分类非常宽泛,因为单个应用可以包含众多NLP任务。例如,他们讨论的应用之一是推理和逻辑,这可以包括常识推理、数学问题解决、多跳推理等多种NLP任务。这与论文的方法不同,论文基于NLP任务对提示策略进行了更细粒度的分类。Edemacu和Wu(2024年)概述了隐私保护提示方法,因此专注于提示工程的一个相对较小的子领域。Chen等人(2023年)将提示策略的讨论限制在9-10种方法,并且也没有根据NLP任务进行分类。

2.2 提示工程技术

论文简要介绍了不同的提示方法以及它们如何随着发布时间改进现有性能。需要注意的是,以下大多数提示策略已在两种不同的变体或设置中进行了实验,如果不是更多的话。这些变体包括零样本和少样本。某些提示技术可能本质上存在于零样本或少样本变体中,可能不存在其他变体。在零样本设置中,Radford等人(2019年)没有涉及训练数据,LLM通过提示指令执行任务,完全依赖于其在预训练阶段学到的嵌入知识。另一方面,在少样本变体中,Brown等人(2020年)提供了少量训练数据点以及基于任务的提示指令,以更好地理解任务。来自各种提示工程工作的结果显示,少样本变体有助于提高性能,但这需要精心准备少样本数据点,因为LLM可能对精心策划的少样本数据点表现出无法解释的偏见。

2.2.1 基础/标准/朴素提示

基础提示指的是直接向大型语言模型(LLM)提出查询,而不对其进行任何工程优化以提高LLM性能的方法,这是大多数提示策略的核心目标。基础提示在不同研究论文中也被称为标准或朴素提示。

2.2.2 思维链(COT)

在这种提示策略中,Wei等人(2022)基于人类如何将复杂问题分解为更简单的子问题,然后再得出复杂问题的最终解决方案的想法。类似地,作者研究了LLM通过产生一系列中间推理步骤,即思维链,来增强复杂推理能力的方式。结果显示,与基础提示相比,思维链提示有显著改进,最大差异在数学问题解决任务中约为39%,在常识推理任务中约为26%。这项工作为提示工程领域开辟了新的研究方向。

2.2.3 自一致性

自一致性(Wang et al. 2022)提示技术基于一个直觉:复杂推理问题可以通过多种方式解决,因此可以通过不同的推理路径达到正确答案。自一致性采用了一种新颖的解码策略,不同于思维链使用的贪婪策略,并包含三个重要步骤。第一步要求使用思维链提示LLM,第二步从LLM的解码器中采样多样化的推理路径,最后一步涉及在多个推理路径中选择最一致的答案。与思维链相比,自一致性在数学问题解决任务中平均提高了11个百分点,在常识推理任务中提高了3个百分点,在多跳推理任务中提高了6%。    

2.2.4 集成细化(ER)

这种提示方法已在Singhal等人(2023)中讨论过。它建立在CoT和自一致性(Self-Consistency)的基础上。ER包含两个阶段。首先,给定一个少样本CoT提示和一个查询,通过调整其温度,LLM生成多个推理链。每个推理链包含对查询的推理和答案。接下来,LLM基于原始提示、查询和前一阶段生成的拼接推理链,生成更好的解释和答案。这一第二阶段会多次进行,然后通过多数投票机制在这些第二阶段生成的答案中选出最终答案,正如自一致性中的做法。ER在多个属于无上下文问答任务的数据集上表现优于CoT和自一致性。

2.2.5 自动思维链(Auto-CoT)

在这项工作中,Zhang等人(2022)解决了少样本CoT或手动CoT面临的问题,即需要精心挑选高质量的训练数据点。Auto-CoT包含两个主要步骤。第一步是将给定数据集的查询分为几个簇。第二步是从每个簇中选择一个代表性查询,并使用零样本CoT生成其对应的推理链。作者声称,Auto-CoT在数学问题解决、多跳推理和常识推理任务上的表现要么优于要么与少样本CoT相当。这表明,对于少样本或手动CoT,可以省去训练数据点的挑选步骤。

2.2.6 复杂CoT

Fu等人(2022)引入了一种新的提示策略,旨在选择复杂的数据点提示而非简单的。数据点的复杂性在这里由涉及的推理步骤数量定义。作者假设,如果使用复杂数据点作为上下文训练示例,LLM的推理性能可以提高,因为它们已经包含了简单的数据点。复杂CoT除了使用复杂数据点作为训练示例外,另一个重要方面是在解码过程中,类似于自一致性,从N个采样的推理链中,选择最复杂的K条链中的多数答案作为最终答案。此外,本文还介绍了一种基线提示方法,称为随机CoT(Random CoT)。在随机CoT中,数据点是随机采样的,不考虑其复杂性。复杂CoT在数学问题解决、常识推理、基于表格的数学问题解决和多跳推理等任务的多个数据集上,平均提高了5.39%的准确率,最高可达18%的准确率提升。

2.2.7 思维程序 (Program-of-Thoughts, POT)

Chen 等人 (2022a) 在 CoT 的基础上构建了 POT,与 CoT 使用 LLM 进行推理和计算不同,POT 生成 Python 程序并将计算部分委托给 Python 解释器。该工作认为减少 LLM 的责任使其在数值推理方面更加准确。POT 在数学问题解决、基于表格的数学问题解决、上下文问答和对话上下文问答任务中平均比 CoT 提高了约 12% 的性能。    

2.2.8 从易到难 (Least-to-Most)

Least-to-Most Zhou 等人 (2022) 提示技术试图解决 CoT 无法准确解决比提示中示例更难的问题。它包含两个阶段。首先,LLM 被提示将给定问题分解为子问题。接下来,LLM 被提示按顺序解决这些子问题。任何子问题的答案都依赖于前一个子问题的答案。作者表明,Least-to-Most 提示在常识推理、基于语言的任务完成、数学问题解决和上下文问答任务中显著优于 CoT 和基本提示方法。

2.2.9 符号链 (Chain-of-Symbol, COS)

CoS Hu 等人 (2023) 建立在 CoT 的思想上。在传统的 CoT 中,推理步骤的中间链以自然语言表示。虽然这种方法在许多情况下取得了显著成果,但它也可能包含不正确或冗余的信息。该工作的作者提出假设,空间描述在自然语言中难以表达,因此 LLM 难以理解。相反,使用符号在单词序列中表达这些关系可能是 LLM 的更好表示形式。CoS 在空间问答任务中实现了高达 60.89% 的准确性提升。

2.2.10 结构化思维链(SCoT)

SCoT(Li et al., 2023b)的直觉在于,使用序列、分支和循环等程序结构来组织中间推理步骤,比传统CoT中使用自然语言表示中间推理步骤更能提高代码生成的准确性。作者声称,前者更接近人类开发者的思维过程,这一点已通过最终结果得到证实,SCoT在代码生成任务上的表现优于CoT高达13.79%。

2.2.11 计划与解决(PS)

Wang et al. (2023) 讨论并试图解决CoT的三个缺点:计算错误、遗漏步骤错误和语义误解错误。PS包含两个部分,第一部分需要制定一个计划,将整个问题分解为较小的子问题,第二部分则需要根据计划执行这些子问题。一个改进版的PS称为PS+,增加了更详细的指令,有助于提高推理步骤的质量。PS提示方法在零样本设置下的数学问题解决任务中,几乎所有数据集的准确率都比CoT提高了至少5%。同样,在常识推理任务中,它在零样本设置下始终优于CoT至少5个百分点,而在多跳推理任务中,其准确率提高了约2%。  

2.2.12 数学提示器(MathPrompter)

Imani et al. (2023) 试图解决CoT在数学问题解决任务中的两个关键问题:(1)CoT解决问题时步骤的有效性不足;(2)LLM对其预测的自信程度。MathPrompter提示策略总共包含4个步骤。(I)给定一个查询,第一步要求为查询生成一个代数表达式,用变量替换数值。(II)接下来,提示LLM通过推导代数表达式或编写Python函数来解析地解决查询。(III)第三步,通过为变量赋不同的值来解决步骤(I)中的查询。(IV)如果在N次迭代中(II)中的解是正确的,则最终用原始查询值替换变量并计算答案。如果不是,则重复步骤(II)、(III)和(IV)。MathPrompter能够将数学问题解决任务所属数据集的性能从78.7%提升到92.5%。

2.2.13 对比链式推理/对比自一致性

Chia等人(2023)声称,对比链式推理(Contrastive CoT)或对比自一致性(Contrastive Self Consistency)是对链式推理(CoT)或自一致性(Self-Consistency)的一般性增强。这种提示方法的灵感来源于人类如何从正面和负面示例中学习。类似地,在这种提示技术中,通过提供正面和负面示例来增强大语言模型(LLM)的推理能力。对比链式推理在数学问题解决任务中平均能够比传统链式推理提升10%的性能。同样,对比自一致性在数学问题解决任务中能够比传统自一致性提升超过15%的性能。对于多跳推理任务,对比链式推理和对比自一致性相较于其传统版本都有超过10%的提升。

2.2.14 联合相同/不同参数自一致性/链式推理(Fed-SP/DP-SC/CoT)

Liu等人(2023)引入的这种提示方法基于通过使用同义众包查询来提高LLM推理能力的核心思想。这种方法有两种略有不同的变体。第一种是Fed-SP-SC,其中众包查询是原始查询的改写版本,但参数相同。这里的参数可以指数学问题解决任务数据点中的数值。对于Fed-SP-SC,首先直接生成答案,然后在其上应用自一致性。另一种是Fed-DP-CoT。在Fed-DP-CoT中,LLM首先生成不同查询的答案,然后通过形成链式推理来联合它们,为LLM提供提示。这些方法在数学问题解决任务中的结果显示,它们能够比传统链式推理至少提升10%,甚至高达20%。    

2.2.15类比推理

Yasunaga等人(2023)的工作受到心理学中类比推理概念的启发,即人们利用相关的先前经验来解决新问题。在LLM领域,作者首先提示它们生成与原始问题类似的示例,然后解决这些示例,最后回答原始问题。结果显示,类比推理在数学问题解决、代码生成、逻辑推理和常识推理任务中相较于链式推理能够实现平均4%的准确性提升。

2.2.16 合成提示(Synthetic Prompting)

Shao等人(2023)提出了一种利用大型语言模型(LLMs)生成合成示例的合成提示方法,这些合成示例被增广到现有的手工制作示例中,类似于传统的小样本学习设置。这种提示方法包括两个步骤:(1)后向步骤,LLM根据自生成的推理链合成查询;(2)前向步骤,LLM为合成的查询生成推理链,从而使推理链更加准确。最后,为了选择最佳示例,该工作使用簇内复杂度,并在推理过程中使用具有最长推理链的最复杂示例。实验结果显示,在不同的数学问题解决、常识推理和逻辑推理任务数据集上,合成提示实现了高达15.69%的绝对增益。

2.2.17 思维树(Tree-of-Thoughts, ToT)

Yao等人(2024)提出的ToT提示技术源自于任何类型的问题解决都需要通过一个组合空间进行搜索,该空间可以表示为一棵树,其中每个节点代表一个部分解,每条分支对应一个修改该部分解的操作符。现在,选择哪条分支的决定由启发式方法确定,这些方法有助于导航问题空间并引导问题解决者向解决方案前进。基于这一思想,作者提出了ToT,它主动维护一个思维树,其中每个思维是一个连贯的语言序列,作为解决问题的中介推理步骤。该框架允许LLMs在尝试解决问题时评估由思维生成的进展。ToT进一步结合了搜索技术,如广度优先或深度优先搜索,以及模型生成和评估思维的能力。在数学问题解决任务上,ToT的成功率比CoT高出65%,在不同的逻辑推理任务数据集上,成功率高出约40%。在自由回答任务上,ToT的连贯性得分为7.56,而CoT平均仅为6.93。

2.2.18 逻辑思维 (LoT)

在这项工作中,Zhao 等人 (2023b) 研究了使用逻辑等价性来提高大型语言模型(LLM)的零样本推理能力。除了允许 LLM 逐步推理外,LoT 还允许 LLM 根据归谬法原则的指导逐步验证,并在必要时修正推理链以确保有效推理。LoT 在数学问题解决任务中最多能超过 CoT 3.7\%,常识推理任务中最多能超过 16.2\%,逻辑推理任务中最多能超过 2.5\%,因果推理任务中最多能超过 15.8\%,以及社交推理任务中最多能超过 10\% 的准确率。    

2.2.19 助产术提示 (Maieutic Prompting)

通过使用深度递归推理来引出各种假设的溯因解释,Jung 等人 (2022) 鼓励 LLM 通过协作消除相互矛盾的替代方案来产生一致的响应。助产术提示的生成过程导出一个生成的命题树结构,其中一个命题为另一个命题的正确性建立了逻辑基础。最后,为了推断原始查询的答案,测量 LLM 对每个命题的信任程度以及助产术树中命题之间的逻辑联系。在常识推理任务上,助产术提示的结果显示,与基本提示、CoT、自一致性和 GKP (Liu et al., 2021) 相比,它能实现高达 20\% 的更好准确率,同时与监督模型竞争。

2.2.20 验证与编辑 (VE)

Zhao 等人 (2023a) 专注于开发一种技术,该技术可以对 CoT 生成的推理链进行后编辑,以产生更符合事实的输出。该方法包括三个阶段:(1) 决定何时编辑阶段,作者使用自一致性来发现不确定的输出;(2) 如何编辑理由阶段,作者通过从外部知识源搜索支持事实来编辑不确定输出的 CoT 推理链;(3) 推理阶段,使用前一阶段的编辑理由来得出最终答案。VE 在多跳推理任务中最多能超过 CoT、自一致性和基本提示 10\%,在真实性任务中最多能超过 2\%。

2.2.21 REASON + ACT (REACT)

Yao等人(2022b)提出了ReAct,它结合了推理和行动,利用LLMs解决多样化的语言推理和决策任务。为了使模型能够进行动态推理,构建和修改高级行动计划(推理以行动),ReAct促使LLMs以交错方式生成与任务相关的口头推理轨迹和行动。Yao等人(2022b)还讨论了另一种类似于ReAct的提示方法Act,该方法基本上移除了ReAct轨迹中的思考或推理,但在所有讨论的任务中表现均不如ReAct。在多跳推理和真实性任务中,ReAct的表现优于基本提示,同时与CoT相竞争。当ReAct与CoT或自一致性结合时,其结果优于CoT。在基于语言的任务完成任务中,ReAct在不同数据集上的成功率分别提高了超过10%,优于强化学习方法。    

2.2.22 ACTIVE-PROMPT

Diao等人(2023)提出了Active-Prompt,帮助LLMs通过识别最相关的数据点作为示例,在少样本设置下适应不同任务。Active-Prompt是一个四步技术。第一步,LLM对训练集中的每个查询进行k次提示,生成k个可能的答案及其相应的推理链。第二步要求根据第一步生成的答案计算不确定性度量。第三步,选择前n个最不确定的查询,并由人类进行标注。最后一步,使用新的标注示例对测试数据进行少样本提示。作者还介绍了一种名为Random CoT的Active-Prompt变体,其中在步骤3中,前n个查询是随机选择的,而不是基于不确定性度量。结果显示,Active-Prompt在数学问题解决、常识推理、多跳推理、常识推理任务等多个数据集上,均能获得比自一致性、CoT、Auto-CoT和Random CoT更好的结果。

2.2.23 思维链(THOT)

Zhou等人(2023)提出了一种专注于处理长而混乱上下文的提示方法。其基于这样一种思想:人们在处理大量信息时会保留一种连续的思维流,从而能够选择性地提取相关数据并摒弃无关数据。在文档各部分之间保持这种注意力的平衡对于准确解读和回应所提供的信息至关重要。思维链(THOT)包括两个步骤。第一步要求大语言模型(LLM)分析并总结上下文的不同部分。在第二步中,LLM被提示根据第一步的输出回答所提出的查询。在无上下文问答任务中,思维链能够通过实现约0.56的精确匹配分数,超越链式思考(CoT)和基本提示技术。在对话系统任务中,思维链再次以3.8的平均分超越其他讨论的提示技术,获得最高分。

2.2.24 隐式检索增强生成(IMPLICIT RAG)

与传统的RAG(Lewis et al., 2020)不同,隐式RAG(Vatsal & Singh, 2024):Vatsal等人(2024)要求LLM自身从给定上下文中检索重要片段或部分,然后继续回答所提出的查询。这一技术需要调整两个超参数。第一个是提取的节数,第二个是每节中的单词数。隐式RAG在Vatsal等人(2024)的病人病例报告数据集上的上下文问答任务中取得了最先进(SoTA)的结果,而在Vatsal & Singh(2024)的生物医学上下文问答任务数据集中,取得了最先进或接近最先进的结果。

2.2.25 系统2注意力(S2A)

大语言模型(LLM)在面对无关上下文时往往做出错误判断。Weston & Sukhbaatar(2023)尝试通过两步提示策略来解决这一问题。第一步指示LLM重新生成给定上下文,使得重新生成的版本不包含任何可能对输出产生不利影响的无关部分。第二步则指示LLM使用第一步中重新生成的上下文来产生最终响应。结果显示,S2A能够在不同真实性任务数据集上超越基本、链式思考以及指导性提示(Shi et al., 2023)。    

2.2.26 指令提示

指令提示(Shi et al., 2023)再次围绕与S2A相同的理念展开,旨在解决大型语言模型(LLMs)被无关上下文分散注意力的问题。它仅包括一步,即明确指示语言模型忽略问题描述中的无关信息。指令提示能够在真实性任务中达到88.2%的归一化微准确率,并能够超越包括思维链(CoT)、从少到多(Least-To-Most)、程序提示和自一致性在内的所有同类方法。程序提示(Chowdhery et al., 2023)策略试图通过编写一个Python程序来解决问题。随后,通过使用外部Python解释器运行Python代码来验证所编写程序的正确性,从而获得最终答案。

2.2.27 验证链(CoVe)

大型语言模型(LLMs)容易生成事实错误的信息,称为幻觉。Dhuliawala et al. (2023)的作者试图通过CoVe解决幻觉问题并提高性能。CoVe执行四个核心步骤。首先,LLM为给定查询生成一个基线响应。其次,利用\xi结合原始查询和第一步的基线响应,生成一组验证查询,这些查询能够检查基线响应中是否存在任何错误。第三,生成所有来自第三步的验证查询的答案。第四,纠正第三步检测到的基线响应中的所有错误,并生成修订后的响应。结果显示,CoVe在无上下文问答、上下文问答和预响应任务中能够比CoT和基本提示至少高出10%。

2.2.28 知识链(CoK)

与CoVe类似,CoK(Li et al., 2023c)试图解决幻觉问题以获得更准确的结果。它是一种三阶段的提示技术。第一阶段是推理准备,给定一个查询,CoK准备多个初步理由和答案,同时识别相关的知识领域。第二阶段是动态知识适应,如果在答案中没有多数共识,CoK通过逐步适应第一阶段识别的领域知识来纠正理由。第三阶段是答案整合,使用第二阶段修正的理由作为最终答案整合的更好基础。CoVe在无上下文问答、基于表格的问答、多跳推理和真实性任务中超越了CoT、自一致性、VE和基本提示,分别显示出至少3%、39%、1%和1Y_O的改进。    

2.2.29 CHAIN-OF-CODE (COC)

在这项工作中,Li等人(2023a)提出了一种扩展方法,以改进LLM在代码导向推理方面的能力。在此方法中,LLM不仅编写程序代码,还通过生成某些无法实际执行的代码行的预期输出来有选择地模拟解释器。其主要思想是激励LLM将程序中的语义子任务格式化为灵活的伪代码,这些伪代码可以在运行时被显式捕获并传递给LLM进行模拟,作者称之为LMulator。实验表明,CoC在包括推荐系统、因果推理、常识推理、空间问答、情感理解、机器翻译、逻辑推理、基于表格的数学问题求解和数学问题求解等多种任务中超越了CoT和其他基线方法。

2.2.30 PROGRAM-AIDED LANGUAGE MODELS (PAL)

Gao等人(2023)提出了一种提示策略,该策略利用LLM阅读自然语言问题并生成交错的自然语言和编程语言语句作为推理步骤。最后,使用Python解释器执行编程语句以获取答案。结果显示,PAL在包括数学问题求解、基于表格的数学问题求解、常识推理和逻辑推理在内的多个NLP任务中轻松超越了CoT和基本提示等同类方法。

2.2.31 BINDER

作者声称Binder(Cheng等人,2022)是一种无需训练的神经符号技术,它将输入映射到一个程序,该程序(I)允许将LLM功能的单个API绑定到Python或SQL等编程语言,以扩大其语法覆盖范围并处理更广泛的查询;(II)在执行过程中使用LLM作为底层模型和程序解析器;(III)仅需要少量上下文样本注释。Binder流程分为两个阶段。首先,在解析阶段,LLM根据查询和知识源将输入映射到一个程序。其次,在执行阶段,LLM以选定的编程语言返回值,最后使用解释器运行程序。与之前需要显式训练或微调的方法相比,Binder在基于表格的真实性和基于表格的问答任务中能够获得更高的准确性。

2.2.32 DATER

Ye 等人(2023)探索了利用大型语言模型(LLMs)进行少样本学习,通过分解证据和查询以实现高效的基于表格的推理。这种提示策略包括三个重要步骤。首先,根据查询将一个庞大的表格分解为相关的小型子表格。接下来,使用 SQL 编程语言将复杂的自然语言查询分解为逻辑和数值计算。最后,利用前两个步骤中的子表格和子查询,在少样本设置中得出最终答案。结果显示,Dater 能够在基于表格的真实性任务中超越先前的需要显式微调的方法,至少提升 2\%。同样,在基于表格的问答任务中,它能够超越这些方法至少 1 q_o。Dater 在上述两项任务中也优于 Binder。    

2.2.33 CHAIN-OF-TABLE

在 Wang 等人(2024)的研究中,作者基于著名的 CoT 提示技术,将其引入到表格环境中。这种多步骤的表格提示方法促进了更准确的表格理解。Chain-of-Table 是一种三步骤的提示技术。第一步指导 LLM 通过上下文学习动态规划下一个表格操作,这里的操作可以是添加列或排序行等。第二步为选定的表格操作生成参数。前两个步骤有助于转换表格并创建各种中间表格表示,目的是回答原始查询。在最后一步中,使用前两个步骤中的最后一个表格表示来最终回答查询。Chain-of-Table 在基于表格的问答和基于表格的真实性任务中达到了最先进的性能。在基于表格的问答任务中,它的平均性能提升了约 39%,而在基于表格的真实性任务中,它的平均性能提升了约 1.5%,相较于之前的最先进结果。

2.2.34 分解提示法(DECOMP)

Khot等人(2022)提出的DecomP技术将复杂问题分解为更简单的子问题,然后将这些子问题委托给特定于子问题的LLM处理,这些LLM有自己的提示和分解器,可以进一步分解子问题。分解器可以采用层次分解、递归分解或调用外部API来解决子问题。在常识推理任务中,DecomP在精确匹配方面平均优于CoT和Least-to-Most方法25%。在多跳推理任务中,DecomP在四个不同数据集上均能轻松超越CoT。

2.2.35 三跳推理(THOR)

Fei等人(2023)提出的THOR模仿人类的情感/情绪理解推理过程。THOR包含三个步骤。首先,要求LLM识别给定查询中提到的方面。其次,基于前一步的输出和原始查询,要求LLM详细回答查询中嵌入的基本观点。最后,结合以上所有信息,要求LLM推断与给定查询相关的情感极性。THOR在多个情感/情绪理解任务数据集上显著超越了先前的SoTA监督模型和零样本模型。

2.2.36 元认知提示法(MP)

Wang和Zhao(2023)基于元认知概念提出MP,元认知源自认知心理学,涉及个体对其认知过程的意识和自我反思。MP包含五个阶段:1)理解输入文本,2)做出初步判断,3)批判性地评估这一初步分析,4)得出最终决策并解释推理过程,5)评估整个过程中的信心水平。结果显示,MP在众多NLP任务中持续优于CoT和PS,包括释义、自然语言推理、上下文问答、词义消歧、命名实体识别、关系抽取和多标签文本分类。    

2.2.37 事件链 (COE)

Bao等人 (2024) 提出了用于摘要任务的CoE方法。CoE包含四个连续步骤。第一步专注于特定事件提取。接下来,对第一步提取的事件进行分析和概括,形成更简洁精炼的形式。第三步,对上一步概括的事件进行筛选,仅选择覆盖文本大部分内容的事件。最后一步,根据事件的时间顺序重要性对第三步选择的事件进行整合。结果显示,CoE在两个摘要数据集上的rouge评分方面优于CoT,同时更加简洁。

2.2.38 基础提示与术语定义

这是Vatsal等人 (2024) 讨论的提示方法之一。在该方法中,基础提示指令通过添加医学术语定义得到增强,基于的假设是添加这些定义有助于LLM在回答查询时获得更多上下文。但结果显示,这些术语定义并未真正起到帮助作用,可能是因为它们狭窄的知识范围与LLM更大的知识库存在冲突。

2.2.39 基础 + 基于标注指南的提示 + 基于错误分析的提示

H等人 (2) 测试了LM在临床命名实体识别任务中的能力。这种提示策略包含三个不同的组成部分。基础部分告知LLM关于任务的基本信息以及LLM应以何种格式输出结果。基于标注指南的部分包含实体定义和从标注指南中得出的语言规则。基于错误分析的部分在利用训练数据对LLM输出进行错误分析后,加入了额外的指令。作者还通过创建上述组件的不同组合,实验了该提示方法的不同版本。这种提示方法在多个属于命名实体识别任务的数据集上,平均获得了0.57的精确匹配F1分数。

2.3 不同NLP任务中的提示工程

在将数据集归类于NLP任务时,不同的研究论文采用了不同的衡量标准,并且这些标准在不同的研究中持续变化。论文试图对此进行标准化,并通过定义不同的NLP任务,将不同的数据集归入这些任务,来为以往的分类方式构建结构。论文进一步讨论了针对这些任务所采用的各种提示方法。反映这一分类的分类图可以在图1中看到。需要注意的是,一个数据集很可能同时属于不同的NLP任务。但这可能导致对提示技术在不同NLP任务中表现进行结构化分析时出现复杂的交织。    

因此,在论文的研究中,论文确保一个数据集仅属于与其最紧密关联的一个NLP任务。以下各小节分别定义了一个不同的NLP任务、相应的数据集以及应用于这些数据集的各种提示策略。它们还进一步包含了每个数据集的潜在SoTA提示技术。提示方法的性能根据所使用的LLM而变化。因此,论文还列出了在给定数据集上使用提示策略的LLM列表。对于SoTA,论文仅提及了提示方法的名称,因为在许多情况下,特定的LLM尚未与给定的提示方法进行实验,因此不清楚它是否可能达到SoTA性能。因此,如果列表中的任何LLM与一种提示策略已被用于实验给定数据集并取得了最佳性能,论文将其指定为SoTA,不论用于该技术的具体LLM是什么。

另一个值得强调的点是,在许多工作中,作者们实验了同一数据集的不同版本,这使得对应用于它们的不同提示技术进行绝对比较变得困难。基于论文的理解,论文考虑了上述所有因素,并在为每个数据集选择SoTA时使用了论文的最佳判断。    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

图1:不同NLP任务中提示工程方法的分类图


2.3.1 数学问题求解

此任务衡量模型在非表格设置中执行任何类型数学计算的能力。论文在阅读有关此任务的不同提示方法时遇到的不同数据集有GSM8K Cobbe et al. (2021)、MATH Hendrycks et al. (2021)、SVAMP Patel et al. (2021)、ASDiv Miao et al. (2021)、AQuA Ling et al. (2017)、MAWPS Koncel-Kedziorski et al. (2016)、MultiArith Koncel-Kedziorski et al. (2016)、AddSub Koncel-Kedziorski et al. (2016)、SingleEq Koncel-Kedziorski et al. (2016)、Game rmof 24 Yao et al. (2024)、Multi-Step Arithmetic Srivastava et al. (2022)、GSM-HARD Gao et al. (2023)、SingleOp Koncel-Kedziorski et al. (2016) 和 MathQA Amini et al. (2019)。表1列出了上述数据集以及在这些数据集上实验过的不同提示方法及其最佳表现提示策略。    

2.3.2 逻辑推理

逻辑推理任务检查模型遵循一组带有输入的命令并解决给定问题的自然语言理解能力。论文在阅读有关此任务的不同提示策略时涵盖的不同数据集有Word Sorting Srivastava et al. (2022)、Temporal Sequences Srivastava et al. (2022)、Formal Fallacies Srivastava et al. (2022)、Mini Crosswords Yao et al. (2024)、Object Counting Srivastava et al. (2022)、Logical Deduction Srivastava et al. (2022)、Boolean Expressions Srivastava et al. (2022)、Tracking Shuffled Objects Srivastava et al. (2022)、Web of Lies Srivastava et al. (2022)、Dyck Languages Srivastava et al. (2022)、Geometric Shapes Srivastava et al. (2022)、Repeat Copy Logic Srivastava et al. (2022)。表2包含上述数据集以及在这些数据集上实验过的不同提示技术及其最佳表现提示方法。

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.3 常识推理

与逻辑推理任务相反,常识推理任务衡量模型基于人类常

表3:常识推理任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区


2.3.4 多跳推理

多跳推理任务评估模型如何从上下文的不同部分连接证据来回答给定查询的能力。论文在研究这项任务的不同提示策略时涵盖的不同数据集包括StrategyQA Geva et al. (2021)、HotpotQA Yang et al. ( 2 0 1 8 )、Bamboogle Press et al. ( 2 0 2 2 )、CommaQA-E Khot et al. (2021)、MuSiQue Trivedi et al. (2022)、2WikiMultihopQA和Ho et al. (2020)。表 4 列出了上述数据集以及在这些数据集上实验过的不同提示方法,以及表现最佳的提示策略。    

2.3.5 因果推理

因果推理任务检验模型处理因果关系的能力。在研究此任务的不同提示技术时,论文遇到了两个数据集,分别是Cause And Effect Srivastava等人(2022)和Causal Judgement Srivastava等人(2022)。表5展示了上述数据集及在这些数据集上实验过的不同提示技术,以及表现最佳的提示方法。

表4:多跳推理任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

表5:因果推理任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.6 社会推理

此任务测试模型对人类社会互动的推理能力。在调查此任务的不同提示技术时,论文仅发现了一个数据集,即SocialQA Srivastava等人(2022)。表6包含了上述数据集及在这些数据集上实验过的不同提示方法,以及表现最佳的提示策略。    

2.3.7 上下文问答

此任务衡量模型仅依赖给定上下文来回答查询的能力。论文在研究此任务的不同提示方法时涉及的不同数据集包括ProcessBank Berant et al. (2014)、BioMRC Pappas et al. (2020)、MASH-QA Zhu et al. (2020)、CliCR Suster & Daelemans (2018)、MultiSpanQA Li et al. (2022)、FinQA Chen et al. (2021b)、TAT-QA Zhu et al. (2021)、Patient Case Reports Vatsal & Singh (2024)、Drop Dua et al. (2019) 和 BoolQ Clark et al. (2019)。表 7 列出了上述数据集以及在这些数据集上实验过的不同提示方法,以及表现最佳的提示技术。

表 6:社交推理任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

表 7:上下文问答任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

   

2.3.8 无上下文问答

与上下文问答任务相反,无上下文问答任务依赖于模型嵌入的知识库或任何开源知识库,如维基百科,来回答查询,而不是仅使用提供的上下文。论文在调查此任务的不同提示技术时发现的各种数据集包括PopQA Mallen et al. (2022)、EntityQ rmS ciavolino et al. ( 2 0 2 1 )、Wikidata Dhuliawala et al. (2023)、Wiki-Catoegory List Dhuliawala et al. (2023)、MedMCQA Pal et al. (2022)、MMLU Physics Hendrycks et al. (2020)、MMLU Biology Hendrycks et al. ( 2 0 2 0 )、USMLE Sample Exam Nori et al. (2023)、USMLE Self Assessments Nori et al. (2023)、MedQA Jin et al. ( 2 0 2 1 )、PubMedQA Jin et al. ( 2 0 1 9 )、MMLU Hendrycks et al. (2020) 和 AI2 Reasoning Challenge Clark et al. (2018)。表 8 列出了上述数据集以及在这些数据集上实验过的不同提示策略,以及表现最佳的提示策略。

表8:无上下文问答任务的提示工程分析    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

表8 续前页    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.9 空间问答

空间问答任务衡量模型处理空间推理的能力,空间推理是基于空间对象、关系和变换的认知过程。论文在研究不同提示技术时遇到的多种数据集包括 Brick World Hu et al. (2023), NLVR-Based Manipulation Hu et al. (2023), Natural Language Navigation Hu et al. (2023), Spartun Mirzaee & Kordjamshidi (2022) 和 Navigate Srivastava et al. (2022)。表9包含了上述数据集以及在这些数据集上实验的不同提示方法和最佳表现的提示策略。

2.3.10 对话上下文问答

在此任务中,模型根据其对给定文本摘录的理解以及如何回答一系列以对话形式呈现的相互关联的查询来评估。需要注意的是,每个查询可能依赖于之前查询的答案。在研究此任务的不同提示方法时,论文仅涉及了一个数据集,包括ConvFinQA Chen et al. (2022b)。表10列出了上述数据集及在这些数据集上实验过的不同提示方法,以及表现最佳的提示策略。    

表9:空间问答任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

表10:对话上下文问答任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.11 对话系统

对话系统任务检验模型在用户与机器对话场景中进行语言生成的能力,或根据已生成的对话回答查询。在对话上下文问答任务中,当文本摘录变为对话时,这两个任务可能会有很强的重叠,但根据论文在调研中遇到的数据集和提示技术,论文决定将这两个任务分开。在调研此任务的不同提示方法时,论文仅发现了一个数据集,包括多轮对话响应(MTCR)Zhou et al. (2023)。表11列出了上述数据集及在这些数据集上实验过的不同提示策略,以及表现最佳的提示技术。

2.3.12 代码生成

此任务涉及输入或最终输出为编程语言代码的所有情况。论文在研究不同提示策略时遇到的不同数据集包括 Codeforce Scraping Yasunaga et al. (2023)、HumanEval Chen et al. (2021a)、MBPP Austin et al. (2021) 和 MBCPP Athiwaratkun et al. (2022)。表 12 列出了上述数据集以及在这些数据集上实验过的不同提示技术,以及表现最佳的提示策略。    

表 11:对话系统任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

表 12:代码生成任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.13自由响应

此任务评估模型生成无约束文本响应的能力。论文在研究不同提示方法时涉及的各种数据集包括 Creative Writing Yao et al. (2024) 和 Longform Generation of Biographies Min et al. (2023)。表 13 列出了上述数据集以及在这些数据集上实验过的不同提示策略,以及最佳技术。

表 13:自由响应任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.14 真实性

此任务评估模型传达事实而不传播任何类型错误信息的能力。此任务并不代表模型理解给定上下文的能力,而是更关注它们基于理解不做出虚假陈述的能力。表 14 显示了上述数据集以及在这些数据集上实验过的不同提示技术,以及表现最佳的提示技术。

表 14:真实性任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.15 基于表格的真实性

此任务是真实性任务的扩展,衡量模型在表格环境中传达事实且不传播任何类型错误信息的能力。在阅读关于此任务的不同提示方法时,论文遇到的唯一数据集是 TabFact Chen et al. (2019)。表 15 包含上述数据集和在这些数据集上实验的不同提示策略,以及表现最佳的提示策略。

表 15:基于表格的真实性任务提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.16基于表格的问答

此任务涉及在表格环境中的任何类型问答。它可以被视为其他类型表格任务的超集,如基于表格的真实性或基于表格的数学问题解决。但在本工作中,为了避免任何混淆,论文捕获了所有不属于更具体表格任务(如基于表格的真实性或基于表格的数学问题解决)的数据集。在阅读关于此任务的不同提示策略时,论文仅遇到了两个数据集,分别是 FeTaQA Nan et al. (2020) 和 WikiTQ Pasupat & Liang (2015)。表 16 显示了上述数据集和在这些数据集上实验的不同提示方法,以及表现最佳的提示策略。    

2.3.17 基于表格的数学问题求解

这项任务是数学问题求解任务的扩展,衡量模型在表格环境中执行各种数学计算的能力。论文在研究这项任务的不同提示技术时涉及的不同数据集包括TabMWP Lu et al. (2022)和Penguins in a Table Srivastava et al. (2022)。表17列出了上述数据集以及在这些数据集上实验过的不同提示方法,以及表现最佳的提示策略。

2.3.18 推荐系统

这项任务衡量模型处理给定输入并从可能项列表中建议最相关的一组项作为输出的能力。在调查这项任务的不同提示技术时,论文只发现了一个数据集,即电影推荐Srivastava et al. (2022)。表18列出了上述数据集以及在这些数据集上实验过的不同提示方法,以及表现最佳的提示技术。

2.3.19 情感/情绪理解

这项任务检查模型理解人类情感或情绪的能力。论文在研究这项任务的不同提示方法时遇到的各种数据集包括Ruin Names Srivastava et al. (2022),SemEval14 Laptop and Restaurant Pontiki et al. (2016)和Forex Fatouros et al. (2023)。表19包含了上述数据集以及在这些数据集上实验过的不同提示技术,以及表现最佳的提示策略。

表16:基于表格的问答任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

表17:基于表格的数学问题求解任务的提示工程分析    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

表18:推荐系统任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.20机器翻译

在此任务中,模型被测试其在两种语言之间翻译的能力。论文在研究不同的提示技术时遇到的不同的数据集包括显著翻译错误检测Srivastava等人(2022年),FLORES Costa-jussa等人(2022年),WMT21 Farhad等人(2021年),多领域Aharoni & Goldberg(2020年)和PDC Sun等人(2020年)。表20列出了上述数据集以及在这些数据集上实验过的不同提示方法,以及表现最佳的提示策略。

表19:情感/情绪理解任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

表20:机器翻译任务的提示工程分析    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.21 命名实体识别

命名实体识别任务旨在识别给定输入文本中预定义的类别或对象。论文在调查此任务的不同提示技术时发现的不同数据集包括MTSamples Uzuner等人(2011年),VAERS Du等人(2021年),研究论文Tang等人(2024年)和BC5CDR-chem Li等人(2016年)。表21显示了上述数据集以及在这些数据集上实验过的不同提示策略,以及表现最佳的提示策略。

表21:命名实体识别任务的提示工程分析    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区


2.3.22 词义消歧

词义消歧任务检验模型在不同语境中识别单词不同含义的能力。在阅读关于此任务的不同提示方法时,论文仅发现了一个数据集,即WiC Pilehvar & Camacho-Collados (2018)。表22展示了上述数据集和在该数据集上实验的不同提示技术,以及表现最佳的提示方法。

2.3.23 摘要生成

此任务测试模型将长篇输入文本分解为较小片段,同时确保这些小片段保留重要信息的能力。在阅读关于此任务的不同提示方法时,论文仅涵盖了一个数据集,即CCTC Bao et al. (2024)。表23包含了上述数据集和在该数据集上实验的不同提示技术,以及表现最佳的提示策略。

表22:词义消歧任务的提示工程分析    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

表23:摘要任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.24 释义

释义任务旨在通过使用不同的词汇重写给定的输入文本,同时保持原始输入文本的真实语义不变。摘要任务与释义任务的主要区别在于,摘要任务的主要目标是缩短输出文本的长度,使其相对于输入文本更短,而释义任务则专注于在其重写过程中使用不同的词汇。论文在2上进行了实验。表24列出了上述数据集以及在这些数据集上实验的不同提示方法,以及表现最佳的提示技术。

表24:释义任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.25 立场检测

此任务评估模型从文本中判断作者是否支持或反对某个主题、目标或评估对象的能力。论文在研究此任务的不同提示技术时遇到的不同数据集包括SemEval-2016 Mohammad等人(2016),VAST Allaway & McKeown (2020)和P-Stance Li等人(2021)。表25显示了上述数据集以及在这些数据集上实验的不同提示方法,以及表现最佳的提示技术。

表25:立场检测任务的提示工程分析    

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.26 自然语言推理

该任务的主要目标是确定在给定前提 p 的情况下,假设是真(蕴涵)、假(矛盾)还是未确定(中性)。论文在研究不同提示方法时涉及的数据集包括 QNLI Rajpurkar et al. (2016) 和 MedNLI Romanov & Shivade (2018)。表26列出了上述数据集以及在这些数据集上实验过的不同提示策略,以及表现最佳的提示方法。

表26:自然语言推理任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.27 关系抽取

关系抽取评估模型识别预定义类别或对象或命名实体之间语义关系的能力。论文在研究不同提示技术时只遇到一个数据集,包括 DDI Segura-Bedmar et al. (2013)。表 27 显示了上述数据集以及在这些数据集上实验过的不同提示方法,以及表现最佳的提示策略。

表27:关系抽取任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.28 基于语言的任务完成

该任务的主要目标是检查模型在遵循一系列基于语言的导航指令以做出完成任务所需行动决策方面的表现。论文在调查不同提示策略时发现的数据集包括 ALFWorld Shridhar et al. (2020)、WebShop Yao et al. (2022a)、SayCan Ahn et al. (2022) 和 Scan Lake & Baroni (2018)。表28列出了上述数据集以及在这些数据集上实验过的不同提示方法,以及表现最佳的提示方法。    

表28:基于语的任务完成任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

2.3.29 多标签文本分类

此任务衡量模型将每个输入分配给一组预定义目标标签的能力。此任务可以包含上述许多任务,如立场检测、命名实体识别等,但为了使这些任务定义尽可能不重叠,以便更好地调查提示方法,论文仅包括那些不能适当地归类于上述讨论任务的数据集。在阅读不同提示策略的相关文献时,论文涵盖的不同数据集包括EUR-LEX Chalkidis et al. (2021)、UNFAIR-ToS Lippi et al. (2019) 和 LEDGAR Tuggener et al. (2020)。表29包含上述数据集以及在这些数据集上实验过的不同提示策略,以及表现最佳的提示方法。

表29:多标签文本分类任务的提示工程分析

大语言模型在不同自然语言处理任务中的提示工程方法综述-AI.x社区

本文转载自​ AI帝国​,作者: 无影寺

收藏
回复
举报
回复
相关推荐