ALBERT:精简版的BERT

1 简介

ALBERT: A LITE BERT,一个精简版的BERT。

本文根据2020年《ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS》翻译而成。

ALBERT引进了两个参数减少的技术。第一个是因子分解embedding参数。通过将大的单词embedding矩阵分解成两个小的矩阵,我们将隐藏层的size从单词embedding的size分离出来。这种分离使得我们可以轻松增加隐藏层size,而不用明显增加单词embedding的size。第2个技术是跨层得参数共享。

ALBERT引入了sentence-order prediction (SOP)的自监督损失,SOP主要聚焦于内在句子的一致性,改善了BERT中的next sentence prediction (NSP) loss。

2 ALBERT

符合说明:
the vocabulary embedding size as E,
the number of encoder layers as L,
the hidden size as H,
feed-forward/filter size to be 4H,
the number of attention heads to be H/64.

2.1 Factorized embedding parameterization

在BERT,及后继模型XLNET、RoBERTa中,采用WordPiece embedding size E=hidden layer size H。我们发现这个不是最优的。

从模型的视角看,WordPiece embedding是学习上下文独立(context-independent)的,而hidden layer是用来学习上下文依赖(context-dependent )的。BERT类模型主要是学习上下文依赖(context-dependent )。所以,我们最好分解开E和H,来对参数进行更加有效的利用,如 H>>E,H远大于E。

从实际出发,vocabulary size V经常很大。如果E=H,那么当我们增加H使,会导致embedding矩阵的规模很大,即V*E。这很容易导致上亿的参数,在训练中存在稀疏。

所以,在ALBERT中,我们因子分解embedding参数,将其分解成两个小的矩阵。代替将one-hot向量直接映射到隐藏空间H,我们首先将它们映射到一个E的低维embedding空间,接着再将其映射到隐藏空间。通过如此分解,我们将参数两从O(VH)减少到O(VE+E*H)。当H>>E时,这种减少时很明显的。

2.2 Cross-layer parameter sharing

默认ALBERT是共享跨层的所有参数。

2.3 SOP

MLM :masked language modeling (MLM) loss
NSP: next-sentence prediction. 是一个二分裂损失,预测两个片段是不是连续的。Positive的样本是从训练语库中获取的两个连续片段;negative样本是将不同文档中两个片段拼接在一起。

我们推断NSP的缺点是其将主题预测和一致性预测混合在一起了。但是主题预测比一致性预测容易些,而且和MLM有重叠。

所以我们引入了一个主要关注一致性的损失,建模句子内在性。即sentence-order prediction (SOP) loss。其Positive的样本同NSP的,是从训练语库中获取的两个连续片段。但是negative样本只是将两个片段的顺序交换了下。

3 模型建立

模型参数如下:
ALBERT:精简版的BERT

4 实验结果

4.1 ALBERT与BERT比较

ALBERT-xxlarge比BERT-large效果好,参数也从334M减少到235M,只是因为模型结构大,速度降低了。
ALBERT:精简版的BERT

相同训练时间下的比较。
ALBERT:精简版的BERT

4.2 不同的参数共享策略比较

在E=128下,all-shared的效果比E=768下好。
ALBERT:精简版的BERT

4.3 SOP结果

在适配下游任务时,可以看到SOP好于NSP。
ALBERT:精简版的BERT

4.4 没用dropout改善了结果

我们首次显示了,dropout可能损害transformer的效果。

ALBERT:精简版的BERT

4.5 与其他模型比较

ALBERT:精简版的BERT

上一篇:YouTube深度学习视频推荐系统


下一篇:召回模型