提示工程已成为扩展大型语言模型(LLMs)和视觉-语言模型(VLMs)能力的不可或缺的技术。这种方法利用特定于任务的指令,即提示,以增强模型效能,而无需修改核心模型参数。与其更新模型参数,不如使用提示允许预训练模型无缝集成到下游任务中,仅通过给定的提示来引出所需的模型行为。提示可以是提供上下文以指导模型的自然语言指令,或激活相关知识的学习向量表示。这一新兴领域在各种应用中取得了成功,从问答到常识推理等。然而,对于多样的提示工程方法和技术,仍缺乏系统的组织和理解。本综述论文通过提供一个结构化的概览来填补这一空白,概述了提示工程的最新进展,按应用领域分类。对于每种提示方法,我们提供了一个总结,详细说明了提示方法、其应用、涉及的模型和使用的数据集。我们还深入探讨了每种方法的优势和限制,并包括一个分类图和表格,总结了数据集、模型和每种提示技术的关键点。这种系统分析使人们能够更好地理解这一迅速发展的领域,并通过阐明提示工程的开放挑战和机会,促进未来的研究。
提示工程已成为增强预训练大型语言模型(LLMs)和视觉-语言模型(VLMs)能力的关键技术。它涉及策略性地设计特定于任务的指令,这些指令称为提示,用于引导模型输出而不改变参数。提示工程的重要性特别体现在其对LLMs和VLMs适应性的变革性影响上。通过提供一种机制,通过精心设计的指令微调模型输出,提示工程使这些模型能够在不同的任务和领域中表现出色。这种适应性与传统范式不同,在传统范式中,通常需要模型重新训练或广泛的微调以达到特定任务的性能。这就是提示工程的变革性承诺,推动了AI的边界,并为充满可能性的未来开启了大门。在不断发展的环境中,持续的研究不断揭示了提示工程内的创新方法和应用。提示工程的重要性通过其引导模型响应的能力得到了凸显,增强了LLMs在多个行业的适应性和应用性。当代提示工程的景观涵盖了从零样本和少样本提示的基础方法,到更复杂的“代码链”提示等技术的一系列技术。提示工程的概念最初在LLMs中被调查和普及[Liu et al., 2023],[Tonmoy et al., 2024],[Chen et al., 2023],后来扩展到VLMs [Wu et al., 2023],[Bahng et al., 2022]。尽管LLMs和VLMs内的提示工程文献广泛,但尤其是关于以应用为中心的提示工程技术的系统概述,仍有显著的空白。随着提示工程的最近进步,迫切需要一项综合性的调查,提供对当代研究中应用和进步的细致理解。这项调查深入探讨了不断演变的提示工程景观,分析了29种不同技术,按其多样的应用进行分类。采用系统性回顾方法,我们仔细研究了多种尖端提示方法的复杂性。我们的审查包括它们的应用、使用的语言模型和进行实验的数据集,提供了关于提示工程不断演变景观的详细和细致分析。此外,我们讨论了这些技术的利弊,提供了它们相对效能的见解。我们揭示了一个全面的分类图,阐明了这些技术如何导航LLM能力的广阔领域。从语言生成和问答到代码创建和推理任务,提示工程赋予了LLMs执行我们从未想象过的壮举。通过弥合文献中的现有差距,本调查旨在为研究人员和实践者提供一个宝贵的资源,提供对最新发展的见解,并促进对提示工程不断演变景观的更深入理解。论文的结构如下:第2节介绍了从基础到高级的提示工程技术,按应用领域分类;第3节提供了结论以及对未来研究努力的考虑。
提示工程 在本节中,我们根据应用领域组织了提示工程技术,并提供了从零样本提示到最新进展的提示技术演变的简明概览。
无需广泛训练的新任务 零样本提示零样本提示为利用大型LLMs提供了一种范式转变。这项技术[Radford et al., 2019]消除了对大量训练数据的需求,转而依赖于精心设计的提示来引导模型处理新任务。具体来说,模型在提示中接收到任务描述,但缺乏用于特定输入-输出映射训练的标签数据。然后,模型利用其预先存在的知识,基于给定提示为新任务生成预测。 少样本提示少样本提示与零样本提示不同,后者不提供示例,少样本提示为模型提供了少量输入-输出示例,以诱导对给定任务的理解[Brown et al., 2020]。即使提供几个高质量示例,也已经提高了模型在复杂任务上的性能,与不提供演示相比。然而,少样本提示需要额外的令牌来包含示例,这可能对较长文本输入成为禁止性的。此外,提示示例的选择和组成可以显著影响模型行为,偏见如偏爱频繁词汇可能仍然影响少样本结果。尽管少次样本提示增强了复杂任务的能力,尤其是在像GPT-3这样的大型预训练模型中,但精心的提示工程对于实现最佳性能和减少意外模型偏差至关重要。 推理和逻辑 链式思维(CoT)提示LLMs面对复杂推理时常常遇到困难,限制了它们的潜能。为了弥补这一差距,[Wei et al., 2022]引入了链式思维(CoT)提示作为一种促进连贯和逐步推理过程的提示LLMs的技术。主要贡献在于提出和探索CoT提示,展示了其在诱导LLMs产生更有结构和深思熟虑的响应方面,相比传统提示的有效性。通过一系列实验,作者展示了CoT提示的独特品质,强调了其引导LLMs进行逻辑推理链的能力。这导致的响应反映了对给定提示的更深层理解。例如,提示会显示多步数学字问题的推理过程和最终答案,并模仿人类如何将问题分解为逻辑中间步骤。作者通过使用PaLM 540B的CoT提示,在数学和常识推理基准测试中实现了最先进的性能,准确率达到90.2%。 自动链式思维(Auto-CoT)提示手动创建高质量的CoT示例既耗时又次优。[Zhang et al., 2022]引入了Auto-CoT,自动指导LLMs使用“让我们逐步思考”的提示来生成推理链。认识到单独生成的链中可能存在错误的可能性,Auto-CoT通过多样化采样增强了鲁棒性。它为各种问题采样并为每个问题生成多个不同的推理链,形成最终的示例集。这种自动化的多样化采样最小化了错误并增强了少次学习,消除了手动创建推理链的劳动密集型需求。Auto-CoT展示了提升的性能,在算术和符号推理任务上分别以平均准确率改善了1.33%和1.5%,使用GPT-3。 自我一致性 [Wang et al., 2022]引入了自我一致性,这是一种解码策略,与贪婪解码相比,提高了CoT提示中的推理性能。对于具有多个有效路径的复杂推理任务,自我一致性通过从语言模型的解码器中采样生成多样化的推理链。然后,通过边缘化这些采样链来识别最一致的最终答案。这种方法利用了一个观察,即需要深思熟虑的分析的问题往往涉及更大的推理多样性,从而导致解决方案。自我一致性和链式思维提示的结合在各种基准测试中取得了显著的准确率提高,例如在GSM8K上提高了17.9%,在SVAMP上提高了11.0%,在AQuA上提高了12.2%,在StrategyQA上提高了6.4%,以及在ARC挑战上提高了3.9%,与基线链式思维提示相比。 逻辑链式思维(LogiCoT)提示对于LLMs来说,执行逻辑推理对于解决多步骤的复杂问题至关重要。现有方法,如CoT提示,鼓励逐步推理,但缺乏有效的验证机制。[Zhao et al., 2023]提出了逻辑链式思维(LogiCoT)提示,一种神经符号框架,利用符号逻辑的原理来以连贯和结构化的方式增强推理。具体来说,LogiCoT应用了反证法的概念,以验证模型生成的每一步推理,并提供有针对性的反馈以修正错误步骤。LogiCoT通过思考-验证-修正循环,可以减少逻辑错误和幻觉。在Vicuna-33b和GPT-4上进行实验,结果强调了LogiCoT在推理能力上的显著增强,相比CoT,在GSM8K数据集上分别展示了0.16%和1.42%的改进,在AQuA数据集上分别展示了3.15%和2.75%的改进。 符号链式思维(CoS)提示由于依赖自然语言,LLMs经常难以处理涉及复杂空间关系的任务,自然语言容易受到歧义和偏见的影响。为了克服这一限制,[Hu et al., 2023]引入了CoS,使用浓缩符号而非自然语言。CoS提供了明确和简洁的提示、提高了LLMs的空间推理能力和提高了人类的可解释性。CoS面临的挑战包括可扩展性、通用性、与其他技术的集成以及基于符号的LLM推理的可解释性。值得注意的是,CoS的实施显著提高了ChatGPT的性能,在Brick World任务上的准确率从31.8%提高到了令人印象深刻的92.6%。此外,CoS在提示令牌上实现了高达65.8%的减少,简化了过程的同时保持了高准确率。 树形思维(ToT)提示[Yao et al., 2023a]和[Long, 2023]提出了树形思维(ToT)框架,以增强对需要探索和预判推理的复杂任务的提示能力。ToT通过管理一个中间推理步骤的树结构——称为“思维”——来扩展CoT提示。每个“思维”代表一系列朝最终解决方案前进的连贯语言序列。这一结构允许语言模型通过评估“思维”在解决问题过程中产生的进展来有意地进行推理。ToT将模型产生和评估“思维”的能力与诸如广度优先或深度优先搜索等搜索算法结合起来。这使得在推理链中进行系统探索成为可能,能够预判扩展有前景的方向,并在解决方案错误时进行回溯。ToT在24点游戏任务中表现出色,成功率达到74%,相比于CoT的4%。此外,在单词级任务中,ToT的成功率为60%,而CoT为16%。 思维图(GoT)提示人类思维过程的固有非线性特征挑战了CoT提示的传统顺序方法。[Yao et al., 2023b]引入了“思维图”提示,这是一个基于图的框架,其先进于传统的顺序方法,更好地与人类思维的非线性特征相匹配。这个框架允许动态相互作用、回溯和评估想法,允许从各个分支聚合和组合思维,脱离了树形思维的线性结构。关键贡献包括将推理过程建模为有向图,提供具有多种转换操作的模块化架构。该框架被呈现为一种灵活和动态的语言模型提示方法,捕捉人类思维过程的复杂性并增强模型能力。GoT推理模型在CoT基线上显示出显著增益,在GSM8K上分别使用T5-base和T5-large改进了3.41%和5.08%的准确率。它还在使用T5-base的ScienceQA上比最先进的Multimodal-CoT提高了6.63%,使用T5-large提高了1.09%。 系统注意力(S2A)提示基于Transformer的LLMs中的软注意机制容易纳入不相关的上下文信息,不利地影响令牌生成。为此,[Weston和Sukhbaatar, 2023]提出了系统2注意力(S2A),利用LLMs的推理能力选择性地关注相关部分,通过重新生成输入上下文。S2A采用两步过程来通过使用上下文再生和带有精炼上下文的响应生成来增强注意力和响应质量。在包括事实QA、长形生成和数学字问题在内的各种任务中评估了S2A的有效性。在事实QA中,S2A达到了80.3%的准确率,显示出在事实性方面的显著增强。在长形生成中,它提高了客观性,获得了5分中的3.82分。 思维线索(ThoT)提示[Zhou et al., 2023]提出了思维线索(ThoT),一种旨在增强LLMs在混乱上下文中推理能力的提示技术。ThoT受到人类认知的启发,系统地将广泛的上下文检查为可管理的片段,以便进行逐步分析,采用两阶段方法,其中LLM首先总结并检查每个片段,然后精炼信息以得出最终响应。ThoT的灵活性作为一种多功能的“即插即用”模块闪耀,增强了不同模型和提示方法的推理能力。在问答和对话数据集的评估中显示了显著的性能改进,分别为47.20%和17.8%,特别是在混乱的上下文中。 表格链式提示像CoT、PoT和ToT这样的方法通过自由形式的文本或代码表示推理步骤,面对处理复杂表格场景时遇到挑战。[Wang et al., 2024]引入了一种开创性的提示技术,名为表格链式提示。这种方法通过动态生成和执行表格上的常见SQL/-DataFrame操作来使用逐步的表格推理。这一过程的迭代性增强了中间结果,赋予LLMs通过逻辑可视化的推理链做出预测的能力。显著地,表格链式提示在两个基准表格数据集上一致地提高了性能,分别在TabFact上提高了8.69%,在WikiTQ上提高了6.72%。 结论在人工智能领域,提示工程已成为一种变革性力量,解锁了LLMs的巨大潜力。本综述论文旨在作为一项基础资源,系统地分类了29种不同的提示工程技术,基于它们的目标功能,激发进一步的研究,并在提示工程不断演变的景观中赋能创新者。分析涵盖了应用、模型和数据集,揭示了每种方法的优势和局限性。此外,我们添加了一张图表和一张表格来突出重要点。尽管取得了显著的成功,但仍然存在挑战,包括偏见、事实不准确和可解释性差距,需要进一步调查和缓解策略。提示工程的未来拥有巨大潜力,新兴趋势如元学习和混合提示架构承诺提高能力。然而,伦理考虑至关重要,强调负责任的开发和部署,以确保积极地融入我们的生活。