赞
踩
虽然GPT在传统的预训练微调方面并没有在自然语言理解任务上达到最好的效果, 但是当使用我们提出的P-tuning方法时,便可以与BERT相媲美。P-tuning是一种新的微调方法,其使用可训练的连续空间内的prompt embeddings。在knowledge probing和superGLUE benchmark上得以提升。最重要的是,我们发现P-tuning也可以让BERT在小样本和监督学习上得以提升。且P-tuning可以在superGLUE的小样本任务上达到SOTA。
简要信息:
序号 | 属性 | 值 |
---|---|---|
1 | 模型名称 | P-tuning |
2 | 所属领域 | 自然语言处理;文本分类 |
3 | 研究内容 | 预训练语言模型;Prompt框架 |
4 | 核心内容 | Prompt-based Fine-tuning |
5 | GitHub源码 | https://github.com/THUDM/P-tuning |
6 | 论文PDF | https://arxiv.org/pdf/2103.10385.pdf |
核心要点:
In this work, we propose a novel method– P-tuning– to automatically search prompts in the continuous space to bridge the gap between GPTs and NLU applications.1 P-tuning leverages few continuous free parameters to serve as prompts fed as the input to the pre-trained language models. We then optimize the continuous prompts using gradient descent as an alternative to discrete prompt searching.
综合上述,作者提出了新的方法P-tuning:
在一般场景下,给定一个token序列,通过随机MASK若干个token,并进行自监督训练,预测MASK部分的词;在预测阶段(例如分类),则输入的是整个文本序列,预测[CLS]对应的类别。
如果在prompt-based场景下,则通常将下游任务转化为Mask Language Model任务,因此此时不需要引入额外的参数,但需要明确一个prompt模板。作者认为一个模板 T T T 就可以表示为一个token序列:
T = { [ P 0 : i ] , x , [ P i + 1 : m ] , y } T = \{[P_{0:i}], \mathbf{x}, [P_{i+1:m}], \mathbf{y}\} T={[P0:i],x,[Pi+1:m],y}
其中 x \mathbf{x} x 表示一个input text, y \mathbf{y} y 表示真实标签(或对应的词,输入时被替换为[MASK])。
传统的使用离散的prompt搜索方法是直接将模板 T T T 的每个token映射为对应的embedding,然后为整个模板生成一个得分。而在P-tuning中,则将模板中的 P i P_i Pi 映射为一个可训练的参数 h i h_i hi(如上图所示),此时这部分的token则称为pseudo token(有的工作也叫做soft-prompt、virtual token等)。在优化过程中,认为这部分pseudo token也存在序列关系,因此使用双向LSTM对模板 T T T 中的pseudo token序列进行表征,则可以使用梯度下降法更新连续的参数。
另外作者发现,加入一些anchor可以提升效果。理解为加入一些比较有代表性的token可以显示让模型知道预测的意图。
- 先前的prompt generator是通过decoder等方法直接生成出显式的token词,然后将这些token对应的embedding喂入到BERT中参与微调。
- 而P-Tuning的思路应该是不显式的生成这些prompt temporary具体的token词,而是在generator之前的encoder表征的向量来代替这些词,这样在BERT微调的时候可以让这些temporary也跟着微调,达到作者所谓的differential,可以传梯度了。
P-tuning的具体代码细节可以简单描述为:
The Disney film is good! It was [MASK].
;The Disney film is good! [pseudo] was [MASK].
其初始化可以直接使用原本的token embedding; 典型代表是LAMA数据集,根据知识库中结构化三元组(事实)构建的完形填空类型的数据。例如三元组(Dante, born in, Florence)可以转化为一个完型填空句子“Dante was born in [MASK]”,语言模型则可以通过MLM来预测[MASK]标记对应的词
(1)设置
(2)分析
作者对传统的fine-tuning和p-tuning进行了对比。选择四个对比模型(MP:manual prompt、FT:fine-tuning、MP+FT、P-tuning),发现P-tuning超过了另外三个基线,且在BERT和GPT上均达到最好。作者认为:
(1)设置
(2)分析
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。