AI News HubLIVE
站内改写2 分钟阅读

提示工程

本文全面介绍了提示工程的概念、方法及其在大型语言模型中的应用,涵盖从基础提示到高级技术的各个方面,包括零样本、少样本、指令提示、自一致性采样、思维链、自动提示设计和增强型语言模型等。

提示工程(Prompt Engineering),又称上下文提示(In-Context Prompting),是指在不更新模型权重的情况下,通过设计输入提示来引导大型语言模型(LLM)产生期望输出的方法。这是一门实证科学,其效果在不同模型间差异很大,因此需要大量的实验和启发式方法。本文仅关注自回归语言模型的提示工程,不涉及完形填空、图像生成或多模态模型。其核心目标是实现模型对齐和可操控性。

基础提示方法

零样本(Zero-Shot)学习是最简单的提示方式,直接将任务文本输入模型并要求输出。例如,给出一段文本,让模型判断情感极性。而少样本(Few-Shot)学习则在提示中提供若干高质量的输入-输出对作为示例,帮助模型更好地理解任务要求。少样本通常比零样本性能更好,但会消耗更多Token,并可能受限于上下文长度。

示例的选择和排序对少样本性能影响很大。研究表明,选择与测试样本语义相似的示例、使用图算法选择多样化示例、或通过对比学习训练嵌入来选择示例,都能提升效果。此外,示例的顺序也至关重要,不合理的排序可能导致模型预测偏差,如多数标签偏差、近因偏差和常见Token偏差。因此,建议选择多样化、与测试样本相关的示例,并采用随机顺序。

指令提示

指令提示直接向模型描述任务要求,而不是通过示例间接传达。经过指令微调的模型(如InstructGPT)能够更好地理解用户意图,并遵循指令。与指令模型交互时,应详细描述任务需求,具体且精确,避免使用否定表述,而是明确指出要做什么。例如,指定输出格式、目标受众等。上下文指令学习(In-Context Instruction Learning)将少样本学习与指令提示结合,在提示中融入多个任务的定义、输入和输出示例。

自一致性采样

自一致性采样(Self-Consistency Sampling)通过以大于零的温度参数多次采样输出,然后选择最佳结果。常见的选择标准是多数投票。对于易于验证的任务(如编程题),可以通过单元测试来确定正确性。

思维链提示

思维链(Chain-of-Thought, CoT)提示是生成一系列简短句子,逐步描述推理逻辑,最终得出答案。该方法对复杂推理任务尤其有效,尤其在使用大型模型(参数超过500亿)时。CoT主要有两种类型:少样本CoT,即提供包含手动编写的高质量推理链的示例;零样本CoT,则使用如“让我们逐步思考”之类的自然语言语句来鼓励模型先生成推理链。

后续扩展包括:自一致性采样可提升推理准确性;通过自训练生成推理链(STaR方法);基于复杂度的提示,优先选择复杂推理链;自我提问(Self-Ask)和检索增强CoT(如IRCoT、ReAct)结合外部知识源;思维树(Tree of Thoughts)则探索多个推理路径。

自动提示设计

自动提示设计将提示视为可训练的参数,通过梯度下降直接在嵌入空间优化。代表性方法包括AutoPrompt、Prefix-Tuning、P-tuning和Prompt-Tuning。自动提示工程师(APE)则从模型生成的候选指令中搜索最优指令。此外,还可以通过增强-剪枝-选择流程自动构建思维链提示。

增强型语言模型

增强型语言模型通过集成外部工具提升能力。检索增强方法(如使用Google搜索)将相关信息纳入提示,提升开放域问答的准确性。编程语言增强(如PAL和PoT)让模型生成代码,通过解释器执行计算。外部API增强(如TALM和Toolformer)使模型能够调用计算器、问答系统、搜索引擎、翻译系统和日历等工具。Toolformer采用自监督方式训练,仅需少量示例即可学会使用工具。

总结

提示工程是与大型语言模型交互的关键技术,从基础提示到高级思维链和工具增强,不断扩展模型的能力边界。随着技术的发展,自动提示设计和外部工具集成将成为重要方向,推动模型在更广泛场景中的应用。