Pretrained Language Models.

预训练语言模型(Pretrained Language Models,PLMs)是一种从大量无标签的语料库中学习通用的自然语言特征表示的方法。笔者认为,预训练模型之于自然语言处理,就好比backbone之于计算机视觉。使用预训练语言模型的步骤如下:

  1. 在大量无标签的语料库上进行特定任务的预训练
  2. 在下游任务的语料库上进行微调

本文首先介绍预训练语言模型的发展,并介绍常用的预训练语言模型。

1. 预训练语言模型的发展

自然语言处理中对于语言的特征表示应能够从文本语料库中学习到内在语言规则和常识知识,如词义、句法结构、词类、语用学信息等。一种好的语言特征表示应具有与具体任务无关的通用含义,又能够针对具体的任务提供有用的信息。目前对语言的特征表示有两种形式,即上下文无关的嵌入(non-contextual embedding)上下文相关的嵌入(contextual embedding)

(1) Non-Contextual Embedding

上下文无关的嵌入通常是由词嵌入(word embedding)实现的,即把句子中的每一个word转化成一个词向量:$x \to e_x$。在这类方法中,不同句子中的相同word都会被嵌入为同一个词向量,然而相同word在不同的句子中位于不同的token位置,可能具有不同的含义,如下面两个句子:

在上面两个句子中bank分别表示银行和河岸;因此这种词嵌入无法解决多义问题。此外,由于词向量的个数是有限的,对于之前不存在的词,则无法得到相应的词嵌入向量(即OOV问题,out of vocabulary)。

基于上下文无关的嵌入方法可以被认为是早期的预训练语言模型,代表模型有Word2Vec,CBOW,Glove。这类模型结构简单,尽管是从无标注语料库中训练得到的,也能获得高质量的词向量;其学习到的词向量能够捕捉文本中潜在的语法和语义信息,但这类预训练词向量无法随上下文而动态变化,只是简单地学习”共现词频”,无法理解更高层次的文本概念,如多义性、句法特征、语义角色、指代等。

(2) Contextual Embedding

上下文相关的嵌入是指根据当前文本的上下文,灵活地对每一个token位置(注意不是对每一个word)进行词嵌入;当文本不同时,同一个word也会具有不同的词嵌入向量。这通常是由一个神经网络编码器$f_{enc}(\cdot)$实现的:$[h_1,…,h_T]=f_{enc}([x_1,…,x_T])$。随着LSTM,Transformer等模型的引入,这种结合上下文信息的预训练语言模型获得了更多的关注。这类预训练语言模型能够根据预训练任务学习包含词的上下文信息的词表示,并用于不同的下游任务中。这类预训练语言模型的优点如下:

  1. 可以在大规模预训练语料库中学习到通用语言表示
  2. 可以提供一个更好的下游任务初始化模型,提高下游任务的表现并加速收敛;
  3. 可以看作一种正则化,防止模型在小数据集上过拟合。

2. 常用的预训练语言模型

根据预训练的任务不同,预训练语言模型可以划分为以下几类:

概率语言建模是自然语言处理中最常见的无监督任务,通常指自回归(autoregressive)或单向语言建模,即给定前面所有词预测下一个词:

\[p(x_{1:T}) = \prod_{t=1}^{T} p(x_{t}|x_{0:t-1})\]

掩码语言建模是指从输入序列中遮盖一些token(为这些token加上mask),然后训练模型通过其余的token预测masked token。然而这种预训练方法会使预训练和微调之间产生不匹配(discrepancy)问题,因为在下游任务中MASK等预训练中使用的特殊token并不存在。这类方法也称为自编码(autoencoding)式语言模型。

掩码语言建模MLM通常用于解决分类问题,即将masked序列作为输入,将模型输出送入softmax分类器以预测masked token。序列到序列的掩码语言建模是指采用编码器-解码器结构,将masked序列输入编码器,解码器以自回归的方式顺序生成masked token

增强掩码语言建模E-MLM是指在掩码语言建模的过程中使用了一些增强方法。不同的模型使用了不同的增强方法,详见下表。

排列语言建模是指在输入序列的随机排列上进行语言建模。给定输入序列,从所有可能的序列排列中随机抽样一个排列。将该排列序列中的一些token选定为目标,训练模型根据其余token和目标的正常位置(natural position)来预测这些目标token

预训练模型 结构 预训练任务 参数量(M百万,B十亿)
ELMo 双向LSTM LM -
GPT Transformer解码器 LM $117$M
GPT2 Transformer解码器 LM $117$-$1542$M
GPT3 Transformer解码器 LM $125$M-$175$B
BERT Transformer编码器 MLM+相邻句子预测(Next Sentence Prediction) $110$-$340$M
ALBERT Transformer编码器 MLM+句子顺序预测(Sentence-Order Sentence Prediction) $12$-$235$M
ELECTRA Transformer编码器 MLM+替换词检测(Replaced Token Detection) $14$-$335$M
REALM Transformer编码器 MLM+知识检索(Knowledge Retrieval) $330$M
MASS Transformer Seq2Seq MLM $220$M-$11$B
UniLM Transformer编码器 Seq2Seq MLM $340$M
T5 Transformer Seq2Seq MLM $220$M-$11$B
T5.1.1 Transformer Seq2Seq MLM $220$M-$11$B
mT5 Transformer Seq2Seq MLM $300$M-$13$B
RoBERTa Transformer编码器 E-MLM(Dynamic Masking) $355$M
DeBERTa Transformer编码器 E-MLM(Disentangled Attention+Enhanced Mask Decoder) $390$M
XLNet Transformer编码器 PLM $110$-$340$M

⚪ 参考文献