首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ICLR 2020 | 完胜 BERT,谷歌最佳 NLP 预训练模型开源,单卡训练仅需 4 天

ICLR 2020 | 完胜 BERT,谷歌最佳 NLP 预训练模型开源,单卡训练仅需 4 天

作者头像
AI科技评论
发布2020-03-18 10:00:20
1.2K1
发布2020-03-18 10:00:20
举报
文章被收录于专栏:AI科技评论AI科技评论
近日,谷歌宣布将 AI 语言模型 ELECTRA 作为 TensorFlow 之上的开源模型发布。该方法用到了一种称为替换令牌检测(RTD)的新预训练任务,使其能够在从所有输入位置学习的同时,训练双向模型。

并且,在同等计算资源的情况下,ELECTRA 的性能优于现有方法;而在参数量只有 1/30 的情况下,取得不逊于最先进 BERT 系列模型的性能。

文 | Google Blog

译 | 杨鲤萍

1

语言模型现状与瓶颈

近年来,语言预训练模型的最新进展使得自然语言处理也取得了重大进展,其中不乏一些最先进的模型,例如:BERT,RoBERTa,XLNet,ALBERT 和 T5 等。

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

因此,现有的预训练方法通常分为两类:语言模型(LM),例如:GPT。该类方法按照从左到右的顺序处理输入文本,然后在给定先前上下文的情况下,预测下一个单词。

另一个则是掩码语言模型(MLM),例如:BERT,RoBERTa 和 ALBERT。这类模型它们分别预测输入中已被屏蔽的少量单词内容。MLM 相比 LM 而言,具有双向预测的优势,因为它可以看到要预测的单词左侧和右侧的文本。

但 MLM 模型预测也有缺点,这些模型的预测仅限于输入标记的某个很小的子集(被掩盖部分的 15%),从而减少了他们从每个句子中获得信息的量,增加了计算成本。

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

2

新型预训练模型 ELECTRA

正是为了克服以上两类语言模型存在的缺点,谷歌提出了 ELECTRA(Efficiently Learning an Encoder that Classifies Token Replacements Accurately)语言模型。这是一种新型预训练方法,其关键点在于将预训练文本编码器作为标识符而非生成器,来处理现存语言模型的问题。

论文地址:https://openreview.net/pdf?id=r1xMH1BtvB

在相同的模型大小、数据、计算量的情况下,该方法的性能显著优于 MLM 类的方法,例如 BERT 和 XLNet;而且,ELECTRA 小模型仅需要在 1 块 GPU 训练 4 天即可得到。

具体实验数据显示,这个小模型比 BERT 小模型在 GLUE 得分上 高 5 个点,甚至比更大的 GPT 模型(该模型使用 30 倍以上的计算能力)效果还要好。

而 ELECTRA 在使用少于 1/4 的计算量时,可以在 GLUE 自然语言理解基准上达到 RoBERTa 和 XLNet 的性能。如果使用更多的计算机来训练大型 ELECTRA,该模型在 SQuAD 2.0 的问答数据集和语言理解任务的排行榜上,获得了最先进的表现。(具体数据见第四小节)

3

核心思想——替换令牌检测

ELECTRA 使用一种称为替换令牌检测(RTD)的新预训练任务,该任务在从所有输入位置(如:LM)学习的同时,训练双向模型(如:MLM)。

具体而言,ELECTRA 的目标是学习区分输入的词。它不使用掩码,而是从一个建议分布中采样词来替换输入,这解决了掩码带来的预训练和 fine-tune 不一致的问题。

然后模型再训练一个判别器,来预测每个词是原始词还是替换词。而判别器的一个优点则是:模型从输入的所有词中学习,而不是像 MLM 那样,仅使用掩盖的词,因此计算更加有效。

正如很多开发者联想到的对抗学习方法,ELECTRA 确实受到到生成对抗网络的启发(GAN)。但不同的是,模型采用的是最大似然而非对抗学习。

例如下图中,单词「cooked」可以替换为「ate」。尽管这有些道理,但它并不适合整个上下文。预训练任务需要模型(即鉴别器)来确定原始输入中的哪些标记已被替换或保持相同。

正是由于该模型的二进制分类任务适用于每个输入单词,而非仅有少量的掩码单词(在 BERT 样式的模型中为 15%),因此,RTD 方法的效率比 MLM 高。这也解释了为什么 ELECTRA 只需更少的示例,就可以达到与其它语言模型相同性能的原因。

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

其中,替换令牌来自生成器的神经网络。生成器的目标是训练掩码语言模型,即给定输入序列后,按照一定的比例(通常 15%)将输入中的词替换成掩码;然后通过网络得到向量表示;之后再采用 softmax 层,来预测输入序列中掩盖位置的词。

尽管生成器的结构类似于 GAN,但由于难以将该方法应用于文本任务,因此得到的训练目标函数为掩盖词的最大似然。

之后,生成器和判别器共享相同的输入词嵌入。判别器的目标是判断输入序列每个位置的词是否被生成器替换,如果与原始输入序列对应位置的词不相同,就判别为已替换。

生成器与判别器神经网络模型

4

具体研究结果对比

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

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

为了进一步提高效率,研究人员尝试了一个小型的 ELECTRA 模型,该模型可以在 4 天的时间内在单个 GPU 上进行良好的训练。

尽管无法达到与需要训练许多 TPU 的大型模型相同的精度,但 ELECTRA-small 的性能仍然很好,甚至比 GPT 还要好,而所需的计算量却只有其三分之一。

之后,为了测试这一结果是否能大规模实施,研究人员使用了更多的计算量(大约与 RoBERTa 相同的数量,大约是 T5 的 10%)训练了一个大型 ELECTRA 模型。

研究人员将大型 ELECTRA、RoBERTa、XLNet、BERT 和 ALBERT 模型在 SQuAD 2.0 问题回答数据集的表现做了测试,结果如下表所示;可以看到在 GLUE 排行榜上,ELECTRA 的表现优于其它所有模型。

但相比大型 T5-11b 模型,后者在 GLUE 上的得分仍然更高。但值得注意的是,ELECTRA 的大小是其三分之一,并使用 10%的计算进行训练。

SQUAD 2.0 数据集在 ELECTRA-Large 和其他最新模型中得分

目前,用于预训练 ELECTRA 并在下游任务上对其进行微调的代码已发布,当前支持的任务包括:文本分类、问题解答和序列标记。

该代码支持在一个 GPU 上快速训练小型 ELECTRA 模型。之后,谷歌还计划发布适用于 ELECTRA-Large,ELECTRA-Base 和 ELECTRA-Small 的预训练代码。(ELECTRA 模型目前仅支持英语,后续将发布更多语言版本)

原文地址:

https://ai.googleblog.com/2020/03/more-efficient-nlp-model-pre-training.html

GitHub 地址:

https://github.com/google-research/electra

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1
    • 语言模型现状与瓶颈
    • 2
      • 新型预训练模型 ELECTRA
      • 3
        • 核心思想——替换令牌检测
        • 4
          • 具体研究结果对比
          相关产品与服务
          NLP 服务
          NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档