内容简介:文 / Radu Soricut 和 Zhenzhong Lan,自一年前
文 / Radu Soricut 和 Zhenzhong Lan, 研究员, Google Research
自一年前 BERT 问世以来,自然语言研究已采用新模式:利用大量现有文本以自监督方式预训练模型的参数,而无需提供任何数据注释。因此,相较于从头开始训练用于自然语言处理 (NLP) 的机器学习模型,我们可以从已具备语言知识的模型开始研究。
但为了改善这种新的 NLP 方法,我们必须深入了解提升语言理解性能的具体因素,是网络高度(层数)、网络宽度(隐藏层表征大小)、自监督学习标准还是其他因素?
在“ ALBERT:用于语言表征自监督学习的轻量级 BERT ”(收录于 ICLR 2020 )中,我们介绍了 BERT 的升级版模型,该模型在 12 种 NLP 任务中表现出最佳性能,包括 斯坦福问答数据集 (SQuAD v2.0) 和 SAT 式阅读理解 RACE 基准。ALBERT 现以开源形式在 TensorFlow 上 发布 ,并包括了许多现成的 ALBERT 预训练语言表征模型。
哪些因素会提升 NLP 性能?
确定提升 NLP 性能的主要驱动因素是十分复杂的,毕竟有些设置会比其他设置更重要,而且正如我们的研究所揭示的,一次简单地研究这些设置中的某一个,无法获得正确的答案。
我们根据 ALBERT 设计获得的优化性能的关键点是,如何更加有效分配模型的容量。输入级嵌入(Input-level embeddings,词、子词条等)需要学习与上下文 无关的 表征。相比之下,隐藏层嵌入 (Hidden-layer embeddings) 则需要将这类信息精炼为与上下文 有关的 表征,以 “bank“ 为例,它在金融事务中与在河流管理中不同。
为有效分配模型的容量,我们可对嵌入参数进行因式分解,在相对较小维度(例如 128)的输入级嵌入之间划分嵌入矩阵,而隐藏层嵌入则使用较高维度(以 BERT 为例时为 768 或更高)。仅此一步,ALBERT 的投射块参数量即可减少 80%,只是性能略有下降, SQuAD2.0 得分从 80.4 降至 80.3;或者 RACE 得分从 68.2 降至 67.9,其他所有条件均与 BERT 相同。
ALBERT 的另一个关键设计决策是基于一次检查冗余的观察结果。基于 Transformer 的神经网络架构(例如 BERT 、 XLNet 和 RoBERTa )依赖彼此堆叠的独立层。但据我们观察,网络常常学习使用网络的不同参数在各层执行相似的操作。为消除 ALBERT 中可能存在的这种冗余现象,可在各层之间 共享参数 ,即:将相同层彼此堆叠在一起。使用此方法,虽然精度略有下降,但网络明显更加紧凑,值得权衡。实现参数共享后, 注意力前馈 块的参数将减少 90%(参数总体减少 70%),除了对嵌入参数进行因式分解以外,应用此方法,在 SQuAD2.0 上,性能略有降低,得分减少了 0.3,降至 80.0,而 RACE 上性能下降得更大些,得分减少了 3.9,降至 64.0。
同时实现这两项设计变更后,我们可生成一种 ALBERT-base 模型,该模型只有 1,200 万个参数,与 BERT-base 模型相比,参数量减少了 89%,不过依据各个参考的基准,其性能仍然相当可观。但是,参数量减少,我们便获得了可以再次扩大模型的机会。假设内存大小允许,我们可将隐藏层嵌入的大小扩大 10-20 倍。当隐藏层大小为 4096 时,ALBERT-xxlarge 配置的总参数量比 BERT-large 模型少 30%,而且更重要的是,其性能显著提高:在 SQuAD2.0 得分中增加 4.2(从 83.9 提高到 88.1);在 RACE 得分中增加 8.5(从 73.8 提高到 82.3)。
这些结果表明,准确的语言理解取决于开发稳定的、高容量的上下文表征。 基于 隐藏层嵌入建模的 上下文 在捕获词义后,进而提升整体理解,这可由模型性能来直接衡量。
使用 RACE 数据集优化模型性能
为评估模型的语言理解能力,我们可以进行阅读理解测试(类似于 SAT 阅读测试 )。可使用 RACE 数据集 (2017) 来完成这项评估,而此数据集是用于此测试的最大公开资源。
计算机在阅读理解挑战上的表现反映出过去几年语言建模的进步:仅使用与上下文无关的词表征预训练的模型在此测试中的得分很低(45.9;最左侧栏),而具有与上下文有关的语言知识的 BERT 模型得分为 72.0,分数相对较高。优化的 XLNet 和 RoBERTa 等 BERT 模型均有较好表现,得分范围在 82-83 之间。在使用基础 BERT 数据集(Wikipedia 和 Books)进行训练时,前面提到的 ALBERT-xxlarge 配置生成的模型的 RACE 得分在相同范围内,为 82.3。当使用与 XLNet 和 RoBERTa 同样大的数据集进行训练时,此方法明显优于迄今所有其他方法,并且以 89.4 的高分刷新记录。
计算机在 RACE 挑战(类似 SAT)上表现出来的性能, 随机推测基准分为 25.0, 最高分为 95.0
ALBERT 的成功表明了解模型各方面信息,找出强大的上下文表征的重要性。在改进工作中重点关注模型架构这些方面,可显著提高模型在各种 NLP 任务中的效率和性能。为推动 NLP 领域进一步发展,我们将 ALBERT 开源 给研究社区。
如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:
-
ALBERT:用于语言表征自监督学习的轻量级 BERT
https://arxiv.org/abs/1909.11942
-
ICLR 2020
https://iclr.cc/Conferences/2020
-
斯坦福问答数据集
https://rajpurkar.github.io/SQuAD-explorer/
-
RACE 基准
http://www.qizhexie.com/data/RACE_leaderboard.html
-
TensorFlow
https://tensorflow.google.cn/
-
SQuAD2.0
https://rajpurkar.github.io/SQuAD-explorer/
-
RACE
http://www.qizhexie.com/data/RACE_leaderboard.html
-
Transformer
https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html
-
XLNet
https://www.borealisai.com/en/blog/understanding-xlnet/
-
RoBERTa
https://ai.facebook.com/blog/roberta-an-optimized-method-for-pretraining-self-supervised-nlp-systems/
-
注意力前馈
https://arxiv.org/abs/1706.03762
-
SAT 阅读测试
https://collegereadiness.collegeboard.org/sat/inside-the-test/reading
-
RACE 数据集
https://www.aclweb.org/anthology/D17-1082/
-
发布 / ALBERT 开源
https://github.com/google-research/ALBERT
本文转载自公众号TensorFlow,作者Google
推荐阅读
大幅减少GPU显存占用: 可逆残差网络(The Reversible Residual Network)
AINLP-DBC GPU 云服务器租用平台建立,价格足够便宜
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java Web开发实战经典(基础篇)
李兴华、王月清 / 清华大学出版社 / 2010-8 / 69.80元
本书用通俗易懂的语言和丰富多彩的实例,通过对Ajax、JavaScript、HTML等Web系统开发技术基础知识的讲解,并结合MVC设计模式的理念,详细讲述了使用JSP及Struts框架进行Web系统开发的相关技术。 全书分4部分共17章,内容包括Java Web开发简介,HTML、JavaScript简介,XML简介,Tomcat服务器的安装及配置,JSP基础语法,JSP内置对象,Java......一起来看看 《Java Web开发实战经典(基础篇)》 这本书的介绍吧!