在最新发布的论文《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》中,谷歌提出预练习模型 T5,参数量达到了 110 亿,再次改写 Glue 榜单,成为全新的 NLP SOTA 预练习模型。
在 GLUE 基准排行榜上,T5 逾越 ALBERT,位列榜首。
榜单地址:https://gluebenchmark.com/leaderboard
此外,在难度更大的 Glue 升级版基准 SuperGlue 上,T5 也逾越了 Facebook 的 RoBERTa,成为仅次于人类基准的 SOTA 模型。
在 SuperGLUE 基准排行榜上,T5 得分 88.9,逾越 Facebook 的 RoBERTa,成为新的 SOTA 模型。
榜单地址:https://super.gluebenchmark.com/leaderboard
这篇 53 页的 T5 论文发布之后,引起了 NLP 社区极大的重视与评论。论文从实践验证动身,包含了许多的试验报告。而除了提出的 T5 模型之外,作者还开源了 750GB 的数据集 C4,内含从网上爬取的数百个千兆字节洁净英文文本。
相关模型代码,作者也已开放到在 Github 上了。
论文链接:https://arxiv.org/abs/1910.10683
Github 链接:https://github.com/google-research/text-to-text-transfer-transformer
中心亮点
谷歌的这项研讨在摘要生成、问答、文本分类等许多基准测验中都取得了 SOTA 功用。他们的基本思想是将每个 NLP 问题视为文本到文本问题,即以文本作为输入并发生新的文本作为输出。至关重要的是,谷歌提出的文本到文本结构能够将同一模型、方针、练习流程和解码进程直接运用于他们试验中的每一项使命。依据这个一致结构,研讨者既能够比较不同搬迁学习方针、未标示数据集和其他要素的有效性,也能够经过扩展模型和数据集来发现 NLP 范畴搬迁学习的限制。
别的,谷歌着重这项研讨的首要意图不是提出一种新的办法,而是从全面的视角来概述当时 NLP 范畴搬迁学习的开展现状。所以研讨的大部分内容是对现有技能的调查研讨和实证比较。本研讨的别的一项重要贡献是,研讨者将每个言语问题都作为文本到文本使命来处理。这个一致的结构与当时的办法不同,在简略的一起还具有强壮的功用。
终究,研讨者还经过练习比曾经更大的模型(最多 110 亿个参数)来推进该范畴的开展。为了进行如此大规划的试验,他们引入了「Colossal Clean Crawled Corpus」(即 C4 语料库),该数据集从 Common Crawl 网站上抓取数百个千兆字节洁净的英文文本。终究,他们意识到搬迁学习的最要作用是在数据缺少的环境中能够运用预练习模型,因而开源了相关代码、数据集和预练习模型。
T5 模型
谷歌提出的 T5 模型详细是何结构呢?
他们的编码器-解码器 Transformer 完成大致遵从 Vaswani 等人提出的原版 Transformer 架构。首要,token 的一个输入序列被映射到嵌入序列,然后又传递至解码器。解码器包含一堆「块」,每个「块」又包含两个子部件:自留意力层和小的前馈网络。
层正则化(layer normalization)用于每个子部件的输入,并且一个残差跳动衔接(residual skip connection)将每个子部件的输入增加至它的输出中。此外,前馈网络中、跳动衔接和留意力权重上以及整个仓库的输入和输出中都运用到了 dropout。解码器在结构上与编码器类似,但解码器在每个自留意力层(留意的是编码器的输出)之后包含一个规范的留意力机制。解码器中的自留意力机制也运用了一种自回归或因果自留意力,这导致该模型只留意曩昔的输出。终究解码器块的输出被馈入一个具有 softmax 输出的密布层,该密布层的权重与输入嵌入矩阵同享。Transformer 中一切的留意力机制被分解为独立的「头」(head),这些头的输出在得到进一步处理之前被衔接了起来。
由于自留意力不受次序的影响,所以一般的做法是将清晰的方位信号供给给 Transformer。虽然开端的 Transformer 运用正弦方位信号或学习到的方位嵌入,但近来更遍及的做法是运用相对方位嵌入。相对方位嵌入并没有运用各个方位的固定嵌入,而是依据自留意力机制中进行比较的「key」和「query」之间的偏置生成一个不同的学习到的嵌入。
研讨者还运用了一种简化的方位嵌入,其间每个「嵌入」仅是增加到用于核算留意力权重的相应 logit 的一个标量。为了提高功率,他们在 T5 模型的一切层上都共享了方位嵌入参数,虽然在给定的层中,每个留意力头运用了一个不同的学习到的方位嵌入。一般来说,模型学习到了固定数量的嵌入,并且每个嵌入对应一系列或许的 key-query 偏置。
在本文中,一切的模型都运用了 32 个嵌入,其间规划的巨细能够对数办法最高增加到 128 偏置,假如超出,则将一切的相对方位指定给同一嵌入。值得留意的是,假如超出 128 token,给定的层对相对方位不灵敏,但后续层能够经过结合之前层的本地信息来树立对更大偏置的灵敏性。
C4 语料库
曾经 NLP 范畴的许多搬迁学习研讨工作运用许多的未标示数据集来进行无监督学习。在本文中,研讨者对丈量这种未标示数据的质量效应、特性和巨细更感兴趣。为了使得生成的数据集满意研讨需求,他们在 Common Crawl 网站上爬取源文本。
作为揭露可用的网络归档库,Common Crawl 网站能够去除所爬取 HTML 文档的标签和其他非文本内容,每个月能够爬取 20TB 巨细的文本数据。可是,爬取到的大部分文本不是天然言语,而是包含许多菜单栏、错误信息或仿制文本等无用数据或格局化文本。此外,爬取到的许多文本包含有对任何使命都没有协助的内容(攻击性的言语、占位符文本以及源代码等)。为了处理这些问题,研讨者运用以下启发式办法来清洗从 Common Crawl 网站上爬取到的文本:
仅保存以终端标点符号(即句号、感叹号、问号或完毕引号)结束的文本行;
删去任何包含「污秽、下贱或其他脏话字眼」的页面;
由于爬取到的许多页面包含「应启用 Javascript」的正告信息,所以删去含有 Javascript 一词的一切文本行;
有些页面包含占位符「乱数假文」(lorem ipsum),所以删去呈现「乱数假文」短语的一切页面;
有些页面会无意中含有代码。由于花括号「{」呈现在许多编程言语中(如网上广泛运用的 Javascript),但不会呈现在天然文本中,所以删去一切含有花括号的页面;
为了删去数据会集的重复数据,删去数据会集屡次呈现的任何三个语句中的两个。
此外,由于大多数下流使命都会集在英文文本上,因而研讨者运用 langdetect 来过滤掉一切未归类为英文的页面(概率至少为 0.99)。为了汇编根底数据集,他们下载了自 2019 年 4 月开端网络爬取的文本并进行了过滤。这样发生的文本调集不只比用于预练习的大多数数据集大几个数量级(大约 750GB),并且还包含十分洁净天然的英文文本。研讨者将此数据集称为「Colossal Clean Crawled Corpus」(或简称 C4 语料库),并将其作为 TensorFlow 数据集的一部分发布。
输入 & 输出格局
为了练习一个在不同使命中都能体现杰出的模型,咱们需求在一切使命中都运用一致的输入和输出格局。McCann、Radford 等人在之前的研讨中说到,能够用「文本到文本」的格局来标明大多数 NLP 使命,即在模型中输入一些语境文本,然后要求模型的输出也是文本。这一结构能够为预练习和微调供给一个一致的练习方针。详细来说,不管使命是什么,咱们都用一个最大似然方针来练习模型(运用「teacher forcing」)。若要指定模型需求履行的使命,咱们只需在原始输入馈入模型之前为其增加一个特定于某个使命的(文本)前缀。比如说,假如需求模型将「That is good」从英语翻译到德语,则输入为「translate English to German: That is good.」输出则为「Das ist gut.」
该结构及其输入、输出示例如下图 1 所示:
图 1:谷歌提出的文本到文本结构图解。研讨者考虑的每个使命(包含翻译、问答、分类)都被转化为输入模型的文本,然后练习模型生成方针文本。这样就能确保在不同的使命中运用相同的模型、丢失函数、超参数等。
依照该结构供给的办法,模型就能在每个使命中运用文本到文本的格局(STS-B 使命在外,由于这是一个回归使命,方针是猜测一个 1-5 的类似度得分)。在论文中,研讨者经过一些变通办法将 STS-B 问题转化为了 21-class 分类问题。
此外,研讨者还将 Winograd 使命转化为了一个更简略的格局,使其愈加合适文本到文本的结构。
试验
在论文的「试验」部分,谷歌的研讨者进行了一系列试验来测验 T5 模型的搬迁学习功用。成果如下表 14 所示:
表 14:T5 模型很多变体在各个使命上的功用。Small、base、Large、3B 和 11B 标明模型参数量分别为 6000 万、2.2 亿、7.7 亿、30 亿和 110 亿。每个表的榜首队伍出了该使命之前的 SOTA 得分。
整体而言,在试验的 24 项使命中,T5 模型在其间的 17 个使命上都取得了 SOTA 功用。它在 GLUE 基准中的均匀得分为 89.7;在 SuperGLUE 上的均匀得分为 88.9,远高于之前的 SOTA 得分 84.6。
果然如此,参数量为 110 亿的最大 T5 模型在一切使命中功用最佳。30 亿参数量的 T5 模型也在几项使命中打败了之前的 SOTA 模型,但将模型增大至 110 亿参数量才是完成 SOTA 功用最重要的要素。
但惋惜的是,T5 模型在翻译等言语使命中体现不尽善尽美,谷歌将此归咎于特定使命数据的相对缺少和练习规划的缺乏。因而,他们发起对运用较小模型完成更强功用的办法打开研讨,以便将搬迁学习运用到其发挥最大影响的当地。
论文中写道:「咱们的研讨得出了一个虽缺乏为奇但十分重要的定论,即越大的模型往往体现越好。运转这些模型的硬件本钱越来越低,功用越来越强壮,这一现实标明,扩展规划或许仍然是完成更好功用的有出路办法。可是,在某些运用和场景下,总是存在运用较小或本钱较低模型反而更有协助的状况,例如在履行客户端推理或联邦学习时。」
参阅链接:https://venturebeat.com/2019/10/24/google-achieves-state-of-the-art-nlp-performance-with-an-enormous-language-model-and-data-set/