少样本提示
虽然大型语言模型展示了显著的零样本能力,但在使用零样本设置时,它们在更复杂的任务上仍然表现不足。少样本提示可以作为一种技术来实现上下文学习,我们在提示中提供演示,以引导模型获得更好的性能。这些演示作为后续示例的条件,我们希望模型能够生成响应。
根据Touvron等人2023年(在新标签页中打开)的研究,当模型被扩展到足够大小时,少样本属性首次出现(Kaplan等人,2020)(在新标签页中打开)。
让我们通过一个在Brown等人2020年(在新标签页中打开)中展示的例子来演示少样本提示。在这个例子中,任务是正确地在句子中使用一个新词。
提示:
A "whatpu" is a small, furry animal native to Tanzania. An example of a sentence that uses the word whatpu is:
We were traveling in Africa and we saw these very cute whatpus.
To do a "farduddle" means to jump up and down really fast. An example of a sentence that uses the word farduddle is:
输出:
When we won the game, we all started to farduddle in celebration.
我们可以观察到,模型通过仅提供一个示例(即1-shot)就学会了如何执行任务。对于更困难的任务,我们可以尝试增加演示次数(例如,3-shot、5-shot、10-shot等)。
根据Min et al. (2022) (在新标签页中打开)的研究结果,以下是一些关于在进行少样本学习时使用演示/示例的额外提示:
- "标签空间和由演示指定的输入文本的分布都很重要(无论标签是否对个别输入正确)"
- 你使用的格式在性能中也起着关键作用,即使你只是使用随机标签,这比完全没有标签要好得多。
- 额外的结果表明,从真实标签分布中选择随机标签(而不是均匀分布)也有帮助。
让我们尝试几个例子。首先尝试一个带有随机标签的例子(意味着标签“负面”和“正面”是随机分配给输入的):
提示:
This is awesome! // Negative
This is bad! // Positive
Wow that movie was rad! // Positive
What a horrible show! //
输出:
Negative
尽管标签已被随机化,我们仍然得到了正确的答案。请注意,我们也保留了格式,这也有帮助。事实上,通过进一步的实验,似乎我们正在试验的较新的GPT模型对随机格式的鲁棒性越来越强。示例:
提示:
Positive This is awesome!
This is bad! Negative
Wow that movie was rad!
Positive
What a horrible show! --
输出:
Negative
上述格式没有一致性,但模型仍然预测了正确的标签。我们必须进行更彻底的分析,以确认这是否适用于不同且更复杂的任务,包括不同的提示变体。
少样本提示的限制
标准的少样本提示对于许多任务效果很好,但仍然不是一种完美的技术,尤其是在处理更复杂的推理任务时。让我们演示一下为什么会这样。你还记得我们之前提供的以下任务的例子吗:
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
A:
如果我们再试一次,模型会输出以下内容:
Yes, the odd numbers in this group add up to 107, which is an even number.
这不是正确的响应,这不仅突出了这些系统的局限性,而且表明需要更高级的提示工程。
让我们尝试添加一些示例,看看少样本提示是否能改善结果。
提示:
The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
A: The answer is False.
The odd numbers in this group add up to an even number: 17, 10, 19, 4, 8, 12, 24.
A: The answer is True.
The odd numbers in this group add up to an even number: 16, 11, 14, 4, 8, 13, 24.
A: The answer is True.
The odd numbers in this group add up to an even number: 17, 9, 10, 12, 13, 4, 2.
A: The answer is False.
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
A:
输出:
The answer is True.
那没有奏效。似乎对于这种类型的推理问题,少样本提示不足以获得可靠的响应。上面的例子提供了任务的基本信息。如果你仔细观察,我们介绍的任务类型涉及更多的推理步骤。换句话说,如果我们将问题分解成步骤并向模型展示,可能会有所帮助。最近,思维链(CoT)提示(在新标签页中打开)已经被推广用于解决更复杂的算术、常识和符号推理任务。
总的来说,提供示例似乎对解决某些任务是有用的。当零样本提示和少样本提示不足时,可能意味着模型所学的内容不足以很好地完成任务。从这里开始,建议开始考虑微调您的模型或尝试更高级的提示技术。接下来,我们将讨论一种流行的提示技术,称为思维链提示,这种技术已经获得了很大的关注。