写点什么

谷歌借助 ELECTRA 实现更高效的 NLP 模型预训练

  • 2020-03-27
  • 本文字数:2455 字

    阅读完需:约 8 分钟

谷歌借助ELECTRA实现更高效的NLP模型预训练

最近,在语言预训练方面的进展使自然语言处理领域取得了巨大进展,这得益于 BERT、RoBERTa、XLNet、ALBERT 和 T5 等最先进的模型。尽管这些方法在设计上有所不同,但它们都有一个共同的理念,即在对特定的 NLP 任务(如情感分析和问答系统)进行调优之前,利用大量未标记的文本来构建语言理解的通用模型。


本文最初发布于谷歌 AI 博客,经原作者授权由 InfoQ 中文站翻译并分享。


最近,在语言预训练方面的进展使自然语言处理领域取得了巨大进展,这得益于BERTRoBERTaXLNetALBERTT5等最先进的模型。尽管这些方法在设计上有所不同,但它们都有一个共同的理念,即在对特定的 NLP 任务(如情感分析问答系统)进行调优之前,利用大量未标记的文本来构建语言理解的通用模型。


现有的预训练方法通常归为两类:语言模型(LM),如GPT(从左到右处理输入文本,根据前面的上下文预测下一个单词)和遮蔽语言模型(MLM),如 BERT、RoBERTa、ALBERT(它可以预测输入中被遮蔽的一小部分单词的特征。)。MLM 具有双向的优点,它不是单向的,因为它们可以“看到”被预测 Token 左右两侧的文本,而不是只看到一侧的文本。然而,MLM 方法(和相关方法,如 XLNet)也有一个缺点。与预测每个输入 Token 不同,这些模型只预测了一个很小的子集,被遮蔽的那 15%,减少了从每个句子中获得的信息量。



现有的预训练方法及其不足。箭头表示使用哪些 Token 来生成给定的输出表示(矩形)。左:传统的语言模型(如 GPT)只使用当前单词左边的上下文。右:遮蔽语言模型(例如 BERT)使用来自左右两边的上下文,但是只预测每个输入的一小部分单词


在“ELECTRA:将预训练文本编码器作为鉴别器而不是生成器”一文中,我们采用了一种不同的方法来进行语言预训练,它提供了 BERT 的好处,但学习效率要高得多。ELECTRA(Efficiently Learning an Encoder that Classifies Token Replacements Accurately )是一种新的预训练方法,在计算预算相同的情况下,它的性能要优于现有的技术。例如,在GLUE自然语言理解基准下,仅使用不到¼的算力,ELECTRA 的性能就堪比 RoBERTa 和 XLNet,并且在SQuAD问答基准上成果领先。ELECTRA 出色的效率意味着它即使在小规模下也能工作得很好——它在一个 GPU 上进行几天的训练,就可以获得比 GPT 更高的精度,而 GPT 使用的算力是前者的 30 倍。ELECTRA 是 TensorFlow 上的一个开源模型,包含了一些现成的预先训练好的语言表示模型。

加速预训练

ELECTRA 使用一种新的预训练任务,称为替换 Token 检测(RTD),它训练一个双向模型(类似 MLM),同时学习所有输入位置(类似 LM)。受生成对抗网络(GANs)的启发,ELECTRA 训练模型来区分“真实”和“虚假”输入数据。与在 BERT 中使用“[MASK]”替换 Token 来变换(corrupt)输入不同,我们的方法通过使用不准确(但有些可信的)的伪 Token 替换一些输入 Token 来变换输入。


例如,在下图中,单词“cooked”可以替换为“ate”。虽然这有一定的道理,但它并不能很好地契合整个上下文。预训练任务需要模型(即鉴别器)判断原始输入中的哪些 Token 已被替换或保持不变。至关重要的是,这个二元分类任务应用于每个输入 Token,而不是只有少数被遮蔽的 Token(在 BERT 类模型中是 15%),这使得 RTD 比 MLM 更高效——ELECTRA 只需要更少的样本就可以达到同样的性能,因为它可以从单个样本中获取更多的训练信号。同时,RTD 也带来了强大的表示学习,因为模型必须准确地学习数据分布的表示才能解决问题。



替换 Token 检测训练了一个双向模型,同时从所有的输入位置学习


替换 Token 来自另一个称为生成器的神经网络。虽然生成器可以是任何生成 Token 输出分布的模型,但是我们使用的是一个小型的遮蔽语言模型(即与鉴别器联合训练的 BERT 模型,其 hidden size 较小)。尽管输入鉴别器的生成器的结构类似于 GAN,但由于将 GAN 应用于文本比较困难,我们尽最大可能地训练生成器来预测遮蔽词,而不是相反。生成器和鉴别器共享相同的输入词嵌入。在预训练之后,生成器被丢弃,鉴别器(ELECTRA 模型)会针对下游任务微调。我们的模型都是用的transformer神经结构。



关于替换 Token 检测(RTD)任务的详细信息。伪 Token 是从与 ELECTRA 联合训练的小型遮蔽语言模型中抽取的

ELECTRA 试验结果

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



X 轴表示用于训练模型的计算量(以FLOPs为单位),y 轴表示 dev GLUE 得分。ELECTRA 比现有的预训练 NLP 模型学习效率更高。请注意,GLUE 上当前最好的模型如T5(11B)并不适合放到这副图上,因为它们比其他模型使用了更多的计算(大约是 RoBERTa 的 10 倍)。


为了进一步提高效率,我们试验了一个小型的 ELECTRA 模型,它可以在 4 天内在单 GPU 上训练得到良好的精度。虽然没有达到需要许多 TPU 来训练的大型模型的精度,但 ELECTRA-Small 仍然表现得很好,甚至超过了 GPT,而只需要 1/30 的计算。最后,为了看下这令人鼓舞的结果在大规模时是否能够保持,我们使用更多的计算来训练一个大型的 ELECTRA 模型(与 RoBERTa 的计算量大致相同,约为 T5 的 10%)。该模型在SQuAD 2.0问答数据集(见下表)上达到了一个新的高度,并且在 GLUE 排行榜上超过了 RoBERTa、XLNet 和 ALBERT。大型的T5-11b模型在 GLUE 上的得分更高,但 ELECTRA 的大小只有 T5-11b 的 1/30,并且只使用 10%的算力来训练。



ELECTRA-Large 和其他先进模型的 SQuAD 2.0 分值(仅显示非集成模型)

ELECTRA 发布

我们发布了对 ELECTRA 进行预训练和对下游任务进行调优的代码,目前支持的任务包括文本分类、问答系统和序列标记。该代码支持在一个 GPU 上快速训练一个小型的 ELECTRA 模型。我们还发布了 ELECTRA-Large、ELECTRA-Base 和 ELECTRA-Small 的预训练权重。ELECTRA 模型目前只适用于英语,但我们希望将来能发布许多其他语言的预训练模型。


英文原文:More Efficient NLP Model Pre-training with ELECTRA


2020-03-27 16:442166
用户头像
赵钰莹 极客邦科技 总编辑

发布了 884 篇内容, 共 651.3 次阅读, 收获喜欢 2680 次。

关注

评论

发布
暂无评论
发现更多内容

如何在langchain中对大模型的输出进行格式化

程序那些事

程序那些事 LLM 大语言模型

重写equals后为什么要重写hashcode方法

javaNice

Java

王文京:企业数智化1-2-3,加速企业数智化进程

用友BIP

CADintosh X v8.8.6 2D CAD 程序 兼容 M1/M2 安装 mac 计算机辅助设计软件

Rose

mac软件下载 cad CADintosh X 8 二维CAD

深度盘点!10款最实用的组织架构图制作软件,你用过几款?

职场工具箱

软件推荐 组织架构图

必读文章2-如何度过职场新兵期

玄兴梦影

IntelliJ IDEA 遇到 JavaLaunchHelper 多种实现的解决方法

Rose

IntelliJ IDEA 2023破解 IntelliJ IDEA 2023最新 IntelliJ IDEA报错

实用又美观,这8个组织架构图模板你一定会需要!

职场工具箱

模板 组织架构图

首届教师案例教学竞赛一等奖作品上线至和鲸社区,快来学习! Jing Nov 26, 2023 需 12 分钟阅读

ModelWhale

人才培养 数据科学 教学创新 中国商业统计学会 教学竞赛

多种 React 组件通信方式实践

南城FE

JavaScript 前端 React

苹果电脑macos:简单好用的视频修复软件分享

Rose

Mac视频修复 视频损坏怎么办 媒体修复软件 苹果破解软件下载

Swish for Mac触控板增强工具: 重新定义触控板操作

Rose

swish激活函数 Swish mac Mac触控板增强工具 mac破解软件下载

Sensei for Mac 苹果电脑 系统性能优化及清理工具

Rose

mac系统清理优化软件 Sensei破解版 Sensei中文版 Sensei Mac下载 破解软件

Python笔记一之excel的读取

Hunter熊

Python Excel xlsxwriter Python xlrd

Tech Lead 要学会戴着镣铐跳舞

光毅

团队管理

Walrus 0.4发布:单一配置、多态运行,体验下一代应用交付模型

SEAL安全

应用交付 运维工具 Walrus 企业号11月PK榜

有没有类似HyperDock一样好用的窗口管理软件?

Rose

mac软件下载 苹果窗口管理软件 mac窗口增强工具 窗口整理工具合集

水彩画制作工具 Watercolor Studio Pro 最新激活版

胖墩儿不胖y

Mac软件 绘画工具

Space Capsule for mac(macOS 网格空间整理工具)v1.12激活版

iMac小白

和鲸ModelWhale平台与海光人工智能加速卡系列完成适配认证,夯实 AI 应用核心底座

ModelWhale

gpu 信创 算力 数据科学 海光

学习笔记:如何做成一件事

老张

个人成长 学习笔记 做事

代码审核员要被 ChatGPT 干掉了?

极狐GitLab

DevOps MR openai ChatGPT

必读文章1-你尽力了吗

玄兴梦影

Java项目启动时先加载某些方法可用于redis缓存预热

javaNice

Java

复古艺术效果照片编辑软件推荐: Chromatic Edges激活最新

mac大玩家j

Mac软件 图片编辑器 复古风图像处理工具

Chat AI教你如何追求富婆

Geek_ccdd7f

ChatGPT ChatGPT4

苹果Mac超好用的动态视频壁纸软件:Dynamic Wallpaper v16.8下载

Rose

视频动态壁纸 Dynamic Wallpaper下载 Mac壁纸软件下载 Dynamic Wallpaper中文版

谷歌借助ELECTRA实现更高效的NLP模型预训练_AI&大模型_Kevin Clark_InfoQ精选文章