NLP新范式 prompt【0】

NLP新范式 prompt【0】

与使用具体的分类器的传统Fine-tuning不同,基于prompt的fine-tune直接使用预训练的模型来执行分类或回归的预训练任务。

从 BERT (Devlin et al., 2019) 开始,在下游应用程序中使用特定任务的上游微调预训练语言模型 (LM) 已成为 NLP 的标准做法。 然而,具有 175B 参数的 GPT-3 模型带来了一种将 LM 用于下游任务的新方法:GPT-3 可以很好地处理少标注任务。 通过利用自然语言提示和任务演示作为上下文,GPT-3可以处理很大范围的任务,同时也不更新底层模型中的参数。 GPT-3 庞大的模型规模是其成功的重要因素,而提示和演示的概念也让我们对如何更好地使用语言模型有了新的认识。

1. prompt(提示)是什么?

​ prompt是插入到输入示例的一段文本。举个例子:“Obama is a ____ (职业)” ,这里的"____"就是prompt。

GPT-3 发布后,出现了很多与prompt相关的论文,其中很多都讨论了 BERT(BERT-base 有 110M 个参数,比最大的 GPT 小 1000 倍)等中等规模的预训练模型的基于prompt的学习)。

2. 为什么用prompt?

image-20210926204356334

在标准的“pretrain+fun-tune”范式中,预训练阶段和下游任务之间的差距可能很大、

对于下游任务,我们通常需要引入新的参数。例如,对于 BERT 大型模型和二元分类任务,它需要一组额外的 1,024 x 2 参数。但是prompt使得下游任务可以采用与预训练目标相同的格式(如上图所示)并且不需要新的参数!

对于分类任务,我们只需要设计一个模板(“It was”)和预期的文本响应(我们称这些标签词,例如图中正标签为“great”,负标签为“terrible” )。

通过缩小这上下游两个阶段之间的差距,在特定任务上部署预训练模型变得更加容易,特别是对于少样本的情况

当你只有十几个训练样本来完成一项新任务时,很难精确而有效地调整预训练模型和新的特定于任务的参数,但如果换成prompt方法则要顺畅得多,因为你压根就不需要引入新的参数。 研究表明一个prompt可能价值 100 个常规数据点,这说明prompt可以样本效率产生巨大提升。

3. 怎么用prompt?

prompt的研究有两种不同的范式:

  1. 基于prompt的微调(关键点是进一步优化参数 ) 被认为是通往更好的小语言模型的小样本学习者的途径

    这种方法受 PET 论文的启发 (Schick and Schütze, 2021a, b),(小的,我的意思是数百万而不是数十亿的参数,如 BERT 或 RoBERT; )

  2. 直接使用prompt来调整参数并用于不同的下游任务中

    因为对于像 175B GPT-3 和 11B T5 这样的超大型模型,微调它们是很困难的而且成本很高, 所以我们希望通过不同的prompt(离散的或连续的,我将在后面讨论)来调整它们的参数并应用它们到不同的任务。

两种不同形式的prompt

  1. 离散的提示(Discrete prompts

离散的,顾名思义就是自己设计一个prompt或者生成一个prompt,一个一个地应用到训练中。

GPT-1/2 适当设计prompt,LM在情感分类和阅读理解任务上有不错的性能

在LM利用prompt可以挖掘事实和常识,后来prompt方法被引入了小型LM,与大型LM如GPT-3不同,小LM对完整模型进行了微调,并且用的是双向掩码。合适地在prompt基础上进行微调可以让模型性能进一步优化。

大部分的工作都是基于人工设计prompt,但这样其实费时费力又无法达到最优。也有做了自动搜索prompt的工作,比如 Guo et al., 2021 表明 soft Q-learning方法对prompt迭代有很好的效果。AutoPrompt (Shin et al., 2020) 可以基于梯度来进行搜索。

AutoPrompt就像做了一个整合,里面有很多的Template,基于输入和Trigger Tokens,可以输出一个推荐的prompt。

image-20210926211645256

  1. soft prompt(不知道怎么翻译了)

    因为 AutoPrompt 已经对提示进行了基于梯度的搜索,所以我们可以从离散标记转向连续的“soft prompt”了。

4. 上下文学习:一种新的元学习形式

​ GPT-3的成功可以归结于两点:Prompts和上下文学习。

GPT-3其实没有为下游任务微调参数,但是它可以通过上下文来学习下游任务的知识。

image-20210926212305680

如图,GPT3从训练集中,将随机实例(sea otter=> loutre de mer) 和 实际查询(比如这里的cheese=>) 连接起来。

由于预训练模型已经学会从上下文中捕获模式,并且 Transformers 的自注意力允许跨过这些实例逐个进行比较,因此上下文学习的效果出奇地好。

GPT-3就称之为“元学习”,即“阅读”了大量的无监督文本数据后,模型初步具有广泛的模式识别能力。GPT-3作者也说,预训练期间也会在单个序列中嵌入重复的子任务,很类似与上下文学习的范式。

Gao et al., 2021; Liu et al. (2021) 也表明,按照上下文给模型展示相关查询信息,会比随机展示查询信息效果更好Lu et al. (2021) 表明演示的顺序很重要,并提出了一种新的定义最优展示顺序。

虽然in-context learning只有在不能调优模型时才“需要”,当训练样例数量增加时很难泛化(因为模型的输入长度有限),研究如何更好地使用演示(即 ,如何进一步压缩 LM 学到的“元知识”)以及哪些预训练目标和数据可以提高上下文能力,同时这样可能会进一步帮助我们了解预训练 LM 的内部工作原理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值