分析现阶段最有效的NLP预训练模型!

最新语言预训练可以说是在自然语言处理领域带来了很可观的收益,其中包括最先进的模型如BERT,RoBERTa,XLNet,ALBERT和T5等。

这些方法虽然在设计上有所不同,但在面对如情感分析和问题解答时,利用特定的NLP任务进行微调之前,都有着相同的想法,即利用大量未标记的文本来构建语言理解的通用模型。

现有的预训练方法通常分为两类:

语言模型(LM),例如GPT,从左到右处理输入文本,在给定先前上下文的情况下预测下一个单词,以及蒙版语言模型(MLM),例如BERT,RoBERTa和ALBERT,它们分别预测少量单词的身份,已被屏蔽掉输入。

MLM具有双向而不是单向的优势,因为它们“看到”了要预测的令牌左侧和右侧的文本,而不是仅一侧。但是,传销目标(以及诸如XLNet的相关目标)也有缺点。这些模型没有预测每个输入令牌,而是仅预测了一个很小的子集-被掩盖的15%,从而减少了从每个句子中学到的知识。

AI资讯 | 分析现阶段最有效的NLP预训练模型!

现有的预训练方法及其缺点。箭头指示哪些标记用于生成给定的输出表示形式(矩形)。左:传统语言模型(例如GPT)仅使用当前单词左侧的上下文。右:蒙版语言模型(例如BERT)从左到右都使用上下文,但是对于每个输入仅预测一小部分单词。

ELECTRA

ELECTRA 在使用少于1/4的计算量时,就可以在GLUE自然语言理解基准上达到RoBERTa和XLNet的性能,并获得了最新的结果。ELECTRA的出色效率意味着即使在小规模的情况下也能很好地运行。可以在几天内在单个GPU上进行训练,其准确性要高于GPT(该模型使用30倍以上的计算能力)。ELECTRA已作为TensorFlow之上的开源模型发布,其中包括许多易于使用的预训练语言表示模型。

ELECTRA更快地进行预训练

ELECTRA使用一种称为替换令牌检测(RTD)的新预训练任务,该任务在从所有输入位置(如LM)学习的同时训练双向模型(如MLM)。受到生成对抗网络的启发(GAN),ELECTRA训练模型以区分“真实”和“伪造”输入数据。我们的方法不是通过在BERT中用“ [MASK]”替换令牌来破坏输入,而是通过用不正确但有些合理的伪造品替换一些输入令牌来破坏输入。

例如,在下图中,单词“ cooked”可以替换为“ ate”。尽管这有些道理,但它并不适合整个上下文。预训练任务需要模型(即鉴别器)来确定原始输入中的哪些标记已被替换或保持相同。至关重要的是,此二进制分类任务适用于每个输入令牌,而不是仅少量的掩码令牌(在BERT样式的模型中为15%),从而使RTD的效率比MLM高-ELECTRA需要更少的示例来达到相同的性能,因为它每次接收模式训练信号例。同时,RTD导致强大的表示学习,因为模型必须学习数据分布的准确表示才能解决任务。

AI资讯 | 分析现阶段最有效的NLP预训练模型!

从所有输入位置学习时,替换的令牌检测可训练双向模型

替换令牌来自另一个称为生成器的神经网络。尽管生成器可以是在令牌上产生输出分布的任何模型,但是我们使用与鉴别器一起训练的小型屏蔽语言模型(即,隐藏大小小的BERT模型)。尽管馈入鉴别器的生成器的结构类似于GAN,但由于难以将GAN应用于文本,因此我们训练生成器以最大的可能性预测被掩盖的单词(而不是对抗性地)。生成器和鉴别器共享相同的输入词嵌入。在进行预训练之后,将生成器放下,并针对下游任务微调鉴别器(ELECTRA模型)。我们的型号都使用变压器 神经体系结构。

AI资讯 | 分析现阶段最有效的NLP预训练模型!

有关替换的令牌检测(RTD)任务的更多详细信息。伪造的令牌是从与ELECTRA一起训练的小型掩蔽语言模型中采样

ELECTRA的训练结果

我们将ELECTRA与其他最新的NLP模型进行了比较,发现在给定相同的计算预算的情况下,它与以前的方法相比有了实质性的改进,其性能与RoBERTa和XLNet相当,而使用的计算量不到25%。

AI资讯 | 分析现阶段最有效的NLP预训练模型!

x轴显示用于训练模型的计算量(以FLOPs为单位),y轴显示dev GLUE得分。与现有的预训练NLP模型相比,ELECTRA的学习效率要高得多。请注意,目前GLUE上的最佳模型(例如T5(11B))不适合该图,因为它们使用的计算量比其他模型多得多(比RoBERTa多10倍)。

为了进一步提高效率的极限,我们尝试了一个小型的ELECTRA模型,该模型可以在4天的时间内在单个GPU上进行良好的训练。尽管无法达到与需要训练许多TPU的大型模型相同的精度,但ELECTRA-small的性能仍然很好,甚至比GPT还要好,而所需的计算量却只有其三分之一。

最后,要看看检测的结果是否能够大规模实施,我们就要使用更多的计算量(大约与RoBERTa相同的数量,大约是T5的10%)训练了一个大型ELECTRA模型。该模型为SQuAD 2.0问题回答数据集(请参见下表)上的单个模型,并且在GLUE排行榜上的表现优于RoBERTa,XLNet和ALBERT。而大型T5-11b 模型在GLUE上的得分仍然更高,ELECTRA的大小是其三分之一,并使用其10%的计算力进行训练。

AI资讯 | 分析现阶段最有效的NLP预训练模型!

SQUAD 2.0在ELECTRA-Large和其他最新模型(仅显示非整体模型)中得分。


分享到:


相關文章: