type
status
date
slug
summary
tags
category
icon
password
作者:CAMERON R. WOLFE, PH.D.
提示技术
我们之前通过一系列相关的概述介绍了各种提示技术:
现在我们将再次概述这些提示技术,为文章后面介绍的更复杂的方法打好基础。然而,在学习这些技术的过程中,我们应始终牢记简单在提示工程中的重要性。提示技术的复杂性并不意味着它一定比简单策略更好!
基本提示策略
![(摘自 [3])](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F06b95882-c25c-49fc-ba43-258e396a3487%2Fd5cca1a8-b061-4650-a4e2-79beab2d2543%2FUntitled.png?table=block&id=5151202e-cc21-4d4a-83ec-c5ea529d63f9&t=5151202e-cc21-4d4a-83ec-c5ea529d63f9&width=924&cache=v2)
零样本提示(Zero-shot prompting,如上所示)是我们可以采用的最基本提示策略之一,这一策略由 GPT-2 [2] 普及。通过零样本提示来解决任务,我们只需要:i) 在提示中描述任务,ii) 提示模型解决问题。以上问题的例子中,任务是将单词从英语翻译成法语,我们通过“cheese =>”这一字符串提示模型进行翻译,使得模型输出单词 cheese 的法语翻译。下面提供了几个零样本提示的示例。

虽然零样本学习在某些情况下表现良好,但它受限于任务描述的模糊性。性能依赖于创建一个清晰且全面的描述,并依靠模型仅基于此描述生成正确输出。通常情况下,我们可以通过在提示中插入更具体的信息来提高性能。
![(摘自 [3])](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F06b95882-c25c-49fc-ba43-258e396a3487%2F74509f4a-d765-42f8-bdd6-b41ee2494475%2FUntitled.png?table=block&id=b7e54232-63ef-4a32-8edc-70307060a162&t=b7e54232-63ef-4a32-8edc-70307060a162&width=708&cache=v2)
少样本提示(Few-shot prompting)通过在提示中插入多个正确问题解决方案的示例来实现这一目标。这一策略由 GPT-3 [3] 普及,展示了大语言模型(LLM)在规模上的少样本学习能力;见上文。直观地说,少样本学习通过提供多个期望输出的示例,消除了零样本学习的模糊性。因此,模型可以直接从这些示例中理解正确的行为,而不需要从任务描述中推断;见下文。
![(摘自 [3])](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F06b95882-c25c-49fc-ba43-258e396a3487%2F16f25952-efee-4ec2-ba0b-0bfdaadbc36d%2FUntitled.png?table=block&id=b0010a93-9198-447d-b2fb-f4bbb56a138e&t=b0010a93-9198-447d-b2fb-f4bbb56a138e&width=944&cache=v2)
大语言模型可以从提示中提供的这些示例中学习,这种策略通常被称为“上下文学习”(in-context learning);见下文。然而,这种学习方式不同于神经网络的常规训练——模型的参数完全没有被修改。相反,我们在提示中提供相关信息,模型可以利用这些信息作为上下文生成更好的输出。
![(摘自 [3])](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F06b95882-c25c-49fc-ba43-258e396a3487%2F36cbe79c-fdf0-4175-b421-34e5c5fb5da4%2FUntitled.png?table=block&id=1d9f76d5-e982-468a-8541-39056e9fc241&t=1d9f76d5-e982-468a-8541-39056e9fc241&width=1456&cache=v2)
在实际使用少样本学习时,我们需要调整两个关键设置:
- 示例数量。
- 选择示例的策略。
要确定使用的正确示例数量,我们可以使用评估集进行基本的超参数调整。许多论文探讨了示例选择策略(例如,随机选择、多样性、语义相似性、主动学习或更复杂的指标)。然而,随机选择示例在实践中通常是一种有效的策略。除此之外,还有许多关于少样本学习的实用规则和发现需要牢记[4,5]:
- 即使标签不正确,示例的标签分布也会影响模型的答案,因为模型偏向于常见标签。
- 答案偏向于最近观察到的示例。
- 示例的格式很重要。
- 随机选择示例有助于消除模型生成答案中的偏见(如位置或多数标签偏见)。
尽管其简单性,少样本学习是最有效的提示策略之一,并在实际应用中被广泛使用。
![指令提示的几个示例(摘自 [6])](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F06b95882-c25c-49fc-ba43-258e396a3487%2Feadfde13-50ac-47cd-9623-870c835ecd7c%2FUntitled.png?table=block&id=7c481ae5-b188-4cfc-a555-bcc1a2d00a51&t=7c481ae5-b188-4cfc-a555-bcc1a2d00a51&width=1154&cache=v2)
指令提示(Instruction prompting)是一种更直接的表达大语言模型期望输出的方法。通过少样本学习,我们通过具体示例向模型解释意图,但这些示例会消耗大量 Token。简单地用语言向模型解释我们的意图会更加高效。为了使其良好运作,使用的大语言模型必须能够一致地遵循指令。这类模型被称为“可操控的”,因为它们能理解提供的详细指令并相应地调整输出。
![(摘自 [6])](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F06b95882-c25c-49fc-ba43-258e396a3487%2Fe2679948-aa98-49f9-8afc-542bc579f193%2FUntitled.png?table=block&id=8f7f2215-d9a7-41b8-af3b-9268886ca6ce&t=8f7f2215-d9a7-41b8-af3b-9268886ca6ce&width=708&cache=v2)
关于大语言模型的研究主要集中在提高指令遵循能力。预训练的大语言模型在默认情况下不擅长遵循指令。然而,正如 InstructGPT [6] 所示,我们可以通过监督微调(SFT)和人类反馈强化学习(RLHF)的结合,使模型在遵循指令方面变得更好。上图显示,这种策略不仅可以提高指令遵循,还可以改善大语言模型的其他关键属性(如事实性和约束遵循)。
![使用 LaMDA 的角色提示(摘自 [8])](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F06b95882-c25c-49fc-ba43-258e396a3487%2F887b0e82-f265-4fe3-86f2-fb7779a9b58d%2FUntitled.png?table=block&id=e070078e-5e9e-4223-84c2-b9de12835f9b&t=e070078e-5e9e-4223-84c2-b9de12835f9b&width=1264&cache=v2)
鉴于大语言模型对齐的最新进展,指令提示——甚至可以与少样本提示相结合 [7]——是一种非常有效的且在实际应用中广泛使用的方法。实际上,几种流行的提示策略(如角色提示、指定受众或工具使用)只是指令提示的更具体版本!在编写指令时,我们应清晰且准确,以确保获得最佳结果。
参考文献
[2] Radford, Alec, et al. "Language Models are Unsupervised Multitask Learners."
[3] Brown, Tom, et al. "Language models are few-shot learners." Advances in neural information processing systems 33 (2020): 1877-1901.
[4] Work, What Makes In-Context Learning. "Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?."
[5] Zhao, Zihao, et al. "Calibrate before use: Improving few-shot performance of language models." International conference on machine learning. PMLR, 2021.
[6] Ouyang, Long, et al. "Training language models to follow instructions with human feedback." Advances in neural information processing systems 35 (2022): 27730-27744.
[7] Ye, Seonghyeon, et al. "Investigating the effectiveness of task-agnostic prefix prompt for instruction following." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 38. No. 17. 2024.
[8] Thoppilan, Romal, et al. "Lamda: Language models for dialog applications." arXiv preprint arXiv:2201.08239 (2022).