论文解读:P-Tuning v2: Prompt Tuning Can Be Comparable to Finetuning Universally Across Scales and Tasks

论文解读:P-Tuning v2: Prompt Tuning Can Be Comparable to Finetuning Universally Across Scales and Tasks

  P-tuning等方法的提出,避免了人工构建离散的template,而让模型可以自动学习continuous embedding,然而P-tuning在一些复杂的自然语言理解(Natural Langauge Understanding, NLU)任务上效果很差。因此本文基于P-tuning和Prefix-tuning,拓展提出p-tuning的V2版本模型——P-tuning V2,并引入Deep Prompt Encoding和Multi-task Learning。

简要信息:

序号属性
1模型名称P-Tuning V2
2所属领域自然语言处理;自然语言理解;
3研究内容预训练语言模型;Prompt框架
4核心内容Prompt-based Fine-tuning
5GitHub源码https://github.com/THUDM/P-tuning-v2
6论文PDFhttps://arxiv.org/pdf/2110.07602.pdf

核心要点:

  • 在原始P-tuning基础上,提出deep prompt tuning,对pseudo token采用更深的表征,该方法可以视为Prefix-tuning的拓展版本(Prefix-tuning本身用于生成任务,作者将其拓展为NLU任务);

一、动机

  • Fine-tuning需要微调整个预训练语言模型,且额外添加了新的参数,而Prompting则可以将整个预训练语言模型的参数保持固定,而只需要添加prompt来预测结果即可;因此无需微调,但容易陷入局部最优;
  • Prompt-tuning则是将Prompt加入到微调过程中,此时只对Prompt部分的参数进行训练,而语言模型的参数固定不变。例如,在P-tuning中引入continuous template,此时template是连续可微调的token,而不是离散的token,模型可以学习一个pseudo token;
    但发现P-tuning等Prompt-tuning方法在一些自然语言理解(NLU)任务中(例如抽extractive QA、序列标注等),基于普通的预训练语言模型,现有的prompting工作推理能力十分有限;
  • 因此本文提出P-tuning-V2模型(对Prefix-tuning的扩展),发现稍微改进优化后的prompt-tuning依然可以达到与传统Fine-tuning一样甚至更好的效果;提出Deep Prompt Tuning,进一步对pseudo continuous embedding进行深度表征:

Deep prompt tuning increases the capacity of continuous prompts and closes the gap to finetuning across various settings, especially for small models and hard tasks.

  如下图(RTE、BoolQA、CB验证集的平均准确率):
在这里插入图片描述
当预训练语言模型的参数很少时,P-tuning效果显然很差,而只有当参数规模达到100亿时,才勉强达到Fine-tuning效果。

二、方法:

2.1 P-tuning

在这里插入图片描述

  如上图,输入一个句子,设计一个template,其包含pseudo token,对这部分token使用LSTM进行表征,并替换原始的pre-trained model word embedding后,得到:

[ e ( x ) , h 0 , ⋯   , h i , e ( [ M A S K ] ) ] [\mathbf{e}(\mathbf{x}), h_0, \cdots, h_i, \mathbf{e}([MASK])] [e(x),h0,,hi,e([MASK])]

将其喂入MLM,MLM输出[MASK]位置的概率分布,根据verbalizer给出label word以及对应的class预测概率。
  然而P-tuning其存在两个问题:

  • Fail to work well on small models:发现当预训练语言模型的参数量低于100亿时,Prompt-tuning会比传统的Fine-tuning差;

But for those smaller models (from 100M to 1B), there is a significant discrepancy between performances of prompt tuning and fine-tuning.

  • Fail to work well on hard NLU tasks:发现像序列标注等对推理和理解要求高的任务,prompt-tuning效果会变差;

2.2 Deep Prompt Tuning

  先前的P-tuning用了一层BiLSTM来表征pseudo token,显然是推理能力不足的原因之一,因此该部分提出Deep Prompt Tuning,替换原来的BiLSTM而使用Prefix-tuning中的深层模型,如下图:

在这里插入图片描述
  P-tuning V2相比P-tuning,区别在于:

  • 取消了reparamerization:对pseudo token,不再使用BiLSTM或MLP进行表征,且不再替换pre-trained model word embedding,取而代之的是直接对pseudo token对应的深层模型的参数进行微调;
  • Multi-task learning:对于pseudo token的continous prompt,随机初始化比较难以优化,因此采用multi-task方法,具体实现相见实验部分;
  • P-tuning V2无需verbalizer,而完全变为生成模型,可以在[CLS]部分输出sentence-level class,以及每个token位置上输出token-level class。

三、实验

  挑选部分NLU task,包括:

  • GLUE(SST-2、MNLI-m);
  • SuperGLUE(RTE、BoolQ、CB);
  • 实体识别(CoNLL03、OntoNotes 5.0、CoNLL04);
  • ExtractiveQA(SQuAD1.1、SQuAD2.0);
  • Semantic Role Labelling(CoNLL05、CoNLL12)。

  Baseline选择:

  • PT-2:本文提出的P-tuning V2;
  • MPT-2:本文提出的P-tuning V2,并采用Multi-task learning方法;
  • PT:P-tuning;
  • FT:传统的Fine-tuning方法;

3.1 Across Scales

  • Prompt-tuning/P-tuning方法在参数规模小的语言模型上,效果低于传统的Fine-tuning;
  • P-tuning V2则不论在小模型还是大模型上,均可以提升;
  • 当选择100亿参数规模的语言模型时,P-tuning V2基本可以与传统的Fine-tuning保持相当水平;

3.2 Across Tasks

  挑选几个比较复杂的任务:
(1)实体识别(CoNLL03、OntoNotes 5.0、CoNLL04):

  • 任务旨在对每个token进行分类,并输出对应的标签;
  • Multi-task版本:三个task混合起来进行训练,并分别对应一个分类器,continuous prompt及其参数则共享;
  • 实验结果如下:
    在这里插入图片描述

(2)ExtractiveQA(SQuAD1.1、SQuAD2.0):

  • 任务旨在给定question和passage,从passage中抽取一个span text作为答案。本文视为一种序列标注任务,每个位置token输出start和end的概率;
  • Multi-task版本:直接将两个task训练数据混合起来,且不考虑unanswerable情况;(问题:SQuAD1.1和2.0有很多是重复的)
  • 实验结果如下:
    在这里插入图片描述

(3)Semantic Role Labelling(CoNLL05、CoNLL12):

  • 任务旨在给定一个句子,对句子中的word或phrase标注语义角色(semantic role);
    Multi-task版本:三个task混合起来进行训练,并分别对应一个分类器,continuous prompt及其- - 参数则共享;
  • 实验结果如下:
    在这里插入图片描述

(4)结论:

  • P-tuning在复杂的NLU任务上效果很差;
  • P-tuning V2可以与传统Fine-tuning有差不多的效果;
  • Multi-task P-tuning V2效果更好,分析认为可能是变相的数据增强带来的影响。
  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华师数据学院·王嘉宁

$感谢支持$

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值