GPT Understands, Too

1. 介绍

传统fine-tune(使用训练数据来微调模型参数),GPT在自然语言理解任务上未能取得很好的效果,关于NLU任务的一种新方法P-tuning,采用可训练的连续的 prompt embeddings。

实验表明:

  1. 在自然语言理解方面,GPT可以与BERTs一样具有竞争力(有时甚至更好),P-tuning可以提高预训练的语言模型的性能。

  2. P-tuning是一种改善在小样本或者全监督下的 GPTs 和 BERTs的通用方法

2. Motivation

  1. 巨型模型的可移植性差

  2. handcraft prompt(手动提示)来引导模型,但是handcraft prompt搜索严重依赖于大型验证集,且性能也不稳定,例如表中其中一个单词的变化可能会导致巨大的差异

knowledge probing 知识探索
  1. 提出continuous prompts that can be differentially optimized.

3. P-tuning

与 discrete prompts类似,仅对输入进行修改,不同之处在于用differential output embeddings来代替常规的input embeddings

3.1 Architecture

prompt可以非常灵活,可以插入到context x或者target y中

traditional discrete prompt如下

P-tuning 如下

pseudo tokens(伪标记)

可以从原始词表V中找到一个better continuous prompts。最后,利用下游损失函数L,可以对continuous prompts hi 进行differentially optimize

4. P-tuning

training continuous prompts 存在两个问题

  1. ) 离散性:M的word embedding e在pre-train后已经变得高度离散。如果h使用随机分布初始化,然后使用随机梯度下降(SGD),已被证明
    只有在小范围内改变参数,优化器很容易陷入局部最优
  2. )关联性:认为prompt embeddings的value应该是相互依赖的,而不是独立的

P-tuning中,使用promp编码器(LSTM+RELU激活的两层MLP)将hi建模为一个序列

有时,添加少量与任务相关的锚标记(例如(b)中的“capital”)将带来进一步的改进。

知识探索

dataset

所有prompt search方法都需要一些额外的数据来训练或查找prompt。我们遵循AutoPrompt中的设置,作者从原始TRE-x数据集构建了一个训练集,该训练集与测试集类似,但答案分布略有不同

在传统的知识探索中,不允许通过fine-tune来改变预先训练好的模型参数。试图评估语言模型在培训前学习了多少知识。然而,这项工作的基本方面是比较P-tuning和fine-tune,尤其是在像GPT这样的单向语言模型上。特别感兴趣的是以下问题:单向和双向语言模型是否从P-tuning中获得了类似的改进?

在知识探索方面,许多事实只能通过硬编码,而不能通过语言模型进行推断。参数的微调可能会导致遗忘。相反,P-tuning不会改变预先训练的模型的参数,而是通过寻找更好的continuous prompt来存储知识。此外,在Bert和GPT采用P-tuning存在明显的差异,使用MP+FT进行微调非常有效,但是GPT并不像BERTs那样从MP+FT中受益更多。P-tuning与单向语言模型表现出更好的亲和力。在里面就更大的型号而言,例如具有110亿个参数的MegatronLM2,虽然微调几乎不起作用,但Ptuning仍然适用,并在LAMA上达到了最先进的水平。

4.2. SuperGLUE

WiC和MultiRC都有相对较大的train sets,标准fine-tune可以从更大的数据集中获得比P-tuning更多的优势。相反,在低资源环境下,P-tuning更有益

在base模型的规模下,在7项任务中,有6项任务的gpt2-base的P-tuning相比优于基于bert的模型的最佳结果,除了Wic。

与BERT-larger-base相比,带有P-tuning的GPT2在7项任务中有4项任务显示出优势

唯一的例外是WiC任务,fine-tune取得最佳结果,推测这是因为词义消歧任务不适用于prompt-based MLM prediction

1. 每个候选集的平均表现的平均值和标准差。2. 在所有候选提示中,在完整的开发数据集上选择的性能最好的提示 3. 通过额外的集成和蒸馏。4. 通过额外的数据扩充、集成、提炼和自我训练。

用原始训练集中32个未使用的样本构建了一个新的开发集(Ddev32)设置公平比较之下,P-tuning在所有任务上都显著优于PET和PET best。更有趣的是,P-tuning甚至在7项任务中的4项任务上优于GPT-3、PET(Ddev)和iPET(Ddev)。

4.2.2. FEW-SHOT LEARNING

使用不同手动提示和P-tuning的结果

尽管P-tuning在大多数任务中都能取得最佳效果,但在难以表述为完形填空问题的任务(例如WiC)中,微调的效果会更好

你可能感兴趣的:(GPT Understands, Too)