NLP新范式prompt【2】

本文探讨了NLP领域的最新趋势,指出小语言模型通过prompt技术也能展现出与大模型相当的性能。介绍了预训练、prompt和预测的新范式,强调了prompt在任务重新形式化中的关键作用,以及其在多种NLP任务中的应用,如文本分类、信息提取和推理等。
摘要由CSDN通过智能技术生成

【1】It’s Not Just Size That Matters:Small Language Models Are Also Few-Shot Learners

使用了pet的语言模型:小模型少参数抗衡GPT-3

最近的预训练模型参数已经扩展到千亿个级别了,如GPT-3 。 很多时候训练这样一个巨大的模型带来的资源消耗也是不可低估的,这就给研究者的使用带来困难。

但是不是参数越多,模型越大性能就越好。改善后的语言模型仍然可以有类似的性能,但是参数数量却小上很多。

这篇论文将文本输入转换为包含任务描述的封闭问题,并结合基于梯度的优化来实现的;利用未标记的数据可以提供进一步的改进。通过小语言模型确定了成功理解自然语言所需的关键因素。

image-20210926110925838

​ 参数更少,性能更优

主要使用的方法就是上面一篇论文提出的Pet方法,并完成实验验证:在文本分类任务上,更小参数数量级的pet可以比GPT有更优良的性能

image-20210926105528738

【2】Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing 1

一篇很好的关于prompt的综述

image-20210926101339250

NLP的四种范式

  1. Fully Supervised Learning (Non-Neural Network)
  2. Fully Supervised Learning (Neural Network)
  3. Pre-train, Fine-tune
  4. Pre-train, Prompt, Predict

全监督学习,即仅在目标任务的输入输出样本数据集上训练特定任务模型,长期以来在许多机器学习任务中发挥着核心作用,同样的,全监督学习在 NLP 领域也非常重要。但是全监督的数据集对于学习高质量的模型来说是不充足的,早期的 NLP 模型严重依赖特征工程。

随着用于 NLP 任务的神经网络出现,使得特征学习与模型训练相结合,研究者将研究重点转向了架构工程,即通过设计一个网络架构能够学习数据特征。

然而,从 2017-2019 年开始,NLP 模型发生了翻天覆地的变化,这种全监督范式发挥的作用越来越小。

具体而言,研究重点开始转向预训练、Fine-tuning范式。在这一范式下,一个具有固定架构的模型通过预训练作为语言模型(LM),用来预测观测到的文本数据的概率。由于训练 LM 所需的原始文本数据需要足够丰富,因此,这些 LM 都是在比较大的数据集上训练完成。之后,通过引入额外的参数,并使用特定任务的目标函数对模型进行Fine-tuning,将预训练 LM 适应于不同的下游任务。在这种范式下,研究重点转向了目标工程,设计在预训练和Fine-tuning阶段使用的训练目标(损失函数)。

当前我们正处于第二次巨变中,「预训练、Fine-tuning」过程被称为「预训练、prompt 和预测」的过程所取代。在这种范式中,不是通过目标工程使预训练的语言模型(LM)适应下游任务,而是重新形式化(Reformulate)下游任务,使其看起来更像是在文本 prompt 的帮助下在原始 LM 训练期间解决的任务。通过这种方式,选择适当的 prompt,该方法可以操纵模型的行为,以便预训练的 LM 本身可以用于预测所需的输出,有时甚至无需任何额外的特定任务训练。这种方法的优点是给定一组合适的 prompt,以完全无监督的方式训练的单个 LM 就能够用于解决大量任务。然而该方法也存在一个问题——这种方法引入了 prompt 挖掘工程的必要性,即需要找出最合适的 prompt 来让 LM 解决面临的任务。

prompt 是什么?

prompt释义: 提示,提词器 。 简单的理解,就是遮住一些词汇或句子,作为训练资料喂给机器。

Prompt的形式:

  1. cloze prompt(填充空白字符串)
  2. Prefix prompt (前缀)

选择哪一个取决于任务和用于解决任务的模型。一般来说,对于有关生成的任务或使用标准自回归 LM 解决的任务,前缀 prompt 往往更有帮助,因为它们与模型从左到右的性质刚好吻合。对于使用掩码 (Mask) LM 解决的任务(比如,BERT),完形填空 prompt 则非常合适,因为它们与预训练任务的形式非常匹配。全文本重建模型则可以与完形填空 prompt 或前缀 prompt 一起使用。最后,对于一些涉及多个输入的任务,例如文本对分类,prompt 模板必须包含至少两个输入的空间。

prompt的模板如何定义?

  1. 手动定义

    直观,但是需要大量经验和时间,而且也无法最优化

  2. 自动生成

multi-prompt 方法

复合 prompt 可以进一步提升 prompting 方法的效果

下面试常见的方法:

  1. prompt ensembling

    把多个prompt通过某种加权方法组合到一起

  2. prompt augmentation

    启发式学习,如图

  3. prompt composition

    将复合的prompt句子,拆解成多个小段prompt,最后再组合在一起训练

  4. prompt decomposition

    由于一些任务的mask工作使用句子数量有限(比如词性标注任务),于是就只能通过decomposition将一个句子拆分成多个部分后,再对每个部分做prompt单独训练

image-20210926102917042

answer空间的设计

如果说prompt是将语料空间A映射到一个隐藏空间B,那么answer就是将隐藏空间B映射到结果空间C,answer可以理解为任务对话系统里面的回答库,就是机器该回答的内容所构成的集合。

answer集合如何定义?

定义answer的形式

​ answer 的形式决定了它的粒度,一些常见的选择包括

  • Token:预训练 LM 词汇表中的一个 token,或者词汇子集;

  • Span:短的 multi-token span,这些通常与 cloze prompt 一起使用;

  • 句子或文档:这些通常与前缀 prompt 一起使用

    搜索answer的方式

    ​ 和prompt一样,需要一个模板,模板的定义也分为人工和自动生成。

prompting 方法的训练策略

  • Promptless Fine-tuning

  • Tuning-free Prompting

  • Fixed-LM Prompt Tuning

  • Fixed-prompt LM Tuning

  • Prompt+LM Fine-tuning

image-20210926104304638

prompt的应用

  • 知识探索(事实探索和语言学探索)
  • 分类任务(文本分类和自然语言推理)
  • 信息提取(关系提取、语义分析和命名实体识别)
  • NLP 中的推理(常识推理和数学推理)
  • 问答
  • 文本生成
  • 文本生成的自动评估
  • 多模态学习
  • 元应用(域自适应、除偏和数据集创建)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值