摘要
随着大型语言模型(LLMS)能力的增加,in-context learning(ICL)已成为自然语言处理(NLP)的新范式,其中LLM仅基于由少量训练样例增强的上下文进行预测。探索ICL来评估和推断LLM能力已成为一种新的趋势。在本文中,我们旨在调查和总结ICL的进展,挑战和未来工作。我们首先提出了ICL的形式定义,并阐明了与其相关的研究。然后,我们组织和讨论了ICL的先进技术,包括训练策略,提示策略等。最后,我们提出了ICL的挑战,并为进一步的研究提供了潜在的方向。我们希望我们的工作能够鼓励更多地研究发现ICL是如何工作的并改善未来的工作。
1.介绍
随着模型和语料库大小的增加,大语言模型展示了从由少量样例构成的演示上下文中进行学习的能力(即in-context learning)。许多研究表明,LLM可以使用ICL执行一系列复杂的任务,例如解决数学推理问题。这种强大的能力已被作为大型语言模型的新兴能力进行了广泛验证。
in-context learning的关键思想是从类比中学习。图1给出了一个示例,其描述了语言模型如何用ICL做出决策。首先,ICL需要一些样例来构建演示上下文。这些样例通常用自然语言模板编写。然后,ICL将问题和演示上下文拼接在一起以形成一个提示,然后将其送入语言模型进行预测。与需要使用反向梯度更新模型参数的有监督学习不同,ICL不需要参数更新,并且直接在预训练的语言模型上执行预测。模型被期望学习隐藏在演示中的模式,并做出正确的预测。
作为一个新的范式,ICL具有多个吸引人的优势。首先,由于演示是以自然语言格式编写的,因此它提供了一种和大型语言模型进行通信的可解释接口。通过更改演示和模板,此范式能将人类知识纳入语言模型变得更加容易。其次,in-context learning与人类的决策过程相似,即在类比中进行学习。第三,与有监督训练相比,ICL是一个无需训练的学习框架。这不仅可以大大降低将模型调整到新任务的计算成本,而且还可以使language-model-as-a-service成为可能,并且可以轻松地应用于大规模的现实世界任务。
尽管很有希望,但还有一些有趣的问题和有趣的特性,需要对ICL进行进一步研究。尽管原始GPT-3模型本身显示出有希望的ICL能力,但几项研究观察到,在预训练期间可以通过自适应来显着提高该能力。此外,ICL的性能对特定上下文敏感,包括提示模板,样例的选择和样例顺序等。此外,虽然在直觉上合理,但ICL的工作机制仍然不清楚,很少有研究提供了初步的解释。
随着ICL研究的迅速增长,我们的调查旨在使研究人员对当前的进步敏感。具体而言,我们提供了一项详细的调查报告,其中包含论文清单,并且该论文清单将不断更新,并就ICL的相关研究进行了深入的讨论。我们强调了ICL的挑战和潜在的方向,并希望我们的工作可以为对该领域感兴趣的初学者提供有用的路线图,并阐明未来的研究。
2.Overview
ICL的强性能取决于两个阶段:(1)培养LLM ICL能力的训练阶段;(2)LLM根据特定任务的演示进行预测的推理阶段。
就训练阶段而言,语言模型直接以语言建模目标(例如从左到右的生成)进行训练。尽管这些模型不是专门针对in-context learning来优化的,但仍然出现了令人惊讶的ICL能力。现有的ICL研究基本上以训练好的语言模型为骨干,因此该调查将不会包含训练好的语言模型的细节。对于推理阶段,由于输入和输出标签都以可解释的自然语言模板了来表示,因此有多个方法可改善ICL性能。本文将提供详细的描述和比较,例如为演示选择合适的样例,并为不同任务设计特定的评分方法。
我们采用分类的方法(如图2所示)对ICL的当前进展进行了组织,并对ICL进行了正式定义(第3节),我们提供了有关热启动方法的详细讨论(第4节),以及演示设计策略(第5节)和主要评分函数(第6节)。第7节提供了有关揭示ICL背后秘密的当前探索的深入讨论。我们进一步为ICL(第8节)提供了有用的评估和资源,并引入了ICL显示了其有效性的潜在应用方案(第9节)。最后,我们总结了挑战和潜在方向(第10节),并希望这可以为该领域的研究人员提供一个方向。
3.Definition and Formulation
遵循ICL的原始论文,我们提供了ICL的定义:In-context learning是一种范式,它允许语言模型从以演示形式给定的几个样例中学习任务。从本质上讲,它通过使用训练好的语言模型在演示上进行潜在答案似然的估计。
正式地,给定一个问题输入文本
x
x
x和一组候选答案
Y
=
{
y
1
,
.
.
.
,
y
m
}
Y=\{y_1,...,y_m\}
Y={y1,...,ym},答案可以是类标签或一组自由文本短语,预训练语言模型
M
\mathcal M
M以一组演示集合为条件,然后将具有最高分数的候选答案作为预测,演示集合具有一个任务指令
I
I
I和
k
k
k个样例
C
=
{
s
(
x
1
,
y
1
,
I
)
,
.
.
.
,
s
(
x
k
,
y
k
,
I
)
}
C=\{s(x_1,y_1,I),...,s(x_k,y_k,I)\}
C={s(x1,y1,I),...,s(xk,yk,I)},其中
s
(
x
k
,
y
k
,
I
)
s(x_k,y_k,I)
s(xk,yk,I)是一个遵循任务指令
I
I
I的以自然语言文本编写的样例。使用模型
M
\mathcal M
M,候选答案
y
j
y_j
yj的似然能够被表示为整个输入序列上的评分函数
f
f
f:
P
(
y
j
∣
x
)
=
Δ
f
M
(
y
j
,
C
,
x
)
(1)
P(y_j|x)\stackrel{\Delta}{=}f_{\mathcal M}(y_j,C,x)\tag{1}
P(yj∣x)=ΔfM(yj,C,x)(1)
最终的预测标签
y
^
\hat y
y^是具有最高概率的候选答案:
y
^
=
a
r
g
m
a
x
y
j
∈
Y
P
(
y
j
∣
x
)
(2)
\hat y=\mathop{argmax}\limits_{y_j\in Y}P(y_j|x)\tag{2}
y^=yj∈YargmaxP(yj∣x)(2)
给的演示样例及问题文本,评分函数用于对当前答案的似然进行估计。例如,我们能够通过比较Negative和Positive字符的概率来进行情感二分类。对于不同的应用,有多种
f
f
f的变种,其在第6节进行了详细描述。
根据定义,我们可以看到ICL与其他相关概念之间的区别。(1)Prompt Learning:提示可以是离散模板或软的参数,以鼓励模型预测所需的输出。严格来说,ICL可以被视为提示微调的子类别,其中演示样例是提示的一部分。Liu
et al. (2021) 对提示学习进行了彻底的调研。但是,该调研中不包括ICL。(2)Few-shot Learning:少样本学习是通用的机器学习问题,它使用参数自适应来学习任务的最优模型参数,并使用有限的有监督样例学习。作为比较,ICL不需要参数更新,并且直接在预训练的语言模型上执行。
4.Model Warmup
尽管LLM显示出有希望的ICL能力,但许多研究还表明,通过预训练和ICL推理之间的连续训练阶段可以进一步提高ICL的能力,我们简称为模型热启动。热启动是ICL的可选过程,它可以在ICL推理之前调整LLM,包括修改LLM的参数或添加其他参数。与微调不同,热启动并不旨在训练LLM执行特定任务,而是增强了模型的整体ICL能力。
4.1 Supervised In-context Training
为了增强ICL的能力,研究人员提出了通过构建in-context训练数据的一系列有监督in-context微调策略以及多任务训练。由于预训练目标对于in-context learning并不是最优的,Min et al. (2022b) 提出了一种方法MetaICL,以消除预训练和下游ICL使用之间的差距。预训练LLM在具有演示样例的广泛的任务上进行训练,这提高了其few-shot能力,例如,MetaICL获得的性能与在52个独力数据集上进行有监督微调相当。
此外,还有一个研究方向,即有监督指令微调。指令微调通过对任务指令进行训练增强了LLM的ICL能力。通过在由自然语言指令模板构建的60多个NLP数据集上调整137B LaMDA-PT,FLAN可以改善zero-shot和few-shot ICL性能。与MetaICL为每个任务构建若干演示样例相比,指令微调主要考虑对任务的解释,并且易于扩展。Chung et al. (2022) 和Wang et al.(2022c) 提出使用超过1000多个任务指令来扩展指令微调。
4.2 Self-supervised In-context Training
为了利用原始语料库进行热启动,Chen et al. (2022a) 提出根据下游任务的ICL格式构建自监督训练数据。他们将原始文本转换为输入-输出对,并考虑了四个自监督的目标,包括屏蔽字符预测和分类任务。
5.Prompt Designing
许多研究表明,ICL的性能强烈依赖于演示样例,包括提示格式,样例的顺序等。由于演示在ICL中起着至关重要的作用,在本节中,我们调查了提示的设计策略并将其分为两组:演示组织和演示格式,如表1所示。
5.1 Demonstration Organization
给定一个训练样例池,演示组织主要关注如何选择一个样例子集,以及如何对选择样例进行排序。
5.1.1 Demonstration Selection
演示选择旨在回答一个基本问题:哪些例子对ICL是好的?我们将相关研究分为三类,包括基于预定义指标的无监督方法和有监督方法。
Unsupervised Method。Liu et al. (2022) 表明,选择最接近的邻居作为样例是一个很好的解决方案。距离指标是基于句子嵌入预定义的L2距离或余弦相似度。他们提出了KATE,这是一项基于KNN的无监督检索器,用于选择 in-context样例。除距离指标外,互信息也是一个有价值的选择指标。互信息的优点是它不需要有标注的样例以及特定的LLM。此外,Gonen et al. (2022) 试图选择具有较低困惑度提示。Wu et al. (2022) 根据数据传输的代码长度选择了K-NN样例的最佳子集排列,以给定
x
x
x和
C
C
C压缩标签
y
y
y。这种自适应排名方法考虑了选择和排序。与这些研究不同的是从人类标注的数据中选择了样例,Kim et al. (2022a) 提出从LLM本身生成演示。
Supervised Method。Rubin et al. (2022) 提出了一种两阶段检索方法来选择演示。对于特定的输入,它首先构建了一个无监督的检索器(例如BM25),以召回与候选相似的样例,然后建立了一个有监督的检索器EPR,以从候选中选择样例。评分LM用于评估每个候选样例和输入的拼接。分数高的候选被标记为正样例,而得分较低的候选是负样例。此外,Zhang et al. (2022a) 引入了强化学习以进行样例选择。他们将演示选择作为马尔可夫决策过程,并通过Q-learning进行了演示的选择。其中动作是选择一个样例,奖赏被定义为有标注验证集的准确性。