ALBERT:用于语言表征自监督学习的轻量级 BERT

文 / Radu Soricut 和 Zhenzhong Lan,研究员,Google Research

自 2018 年 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 的神经网络架构(例如 BERTXLNetRoBERTa)依赖彼此堆叠的独立层。但据我们观察,网络常常学习使用网络的不同参数在各层执行相似的操作。为消除 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,分数相对较高。优化的 XLNetRoBERTa 等 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: A Lite BERT for Self-Supervised Learning of Language Representations / 译:TensorFlow 公众号