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 模型建立
模型参数如下:
4 实验结果
4.1 ALBERT与BERT比较
ALBERT-xxlarge比BERT-large效果好,参数也从334M减少到235M,只是因为模型结构大,速度降低了。
相同训练时间下的比较。
4.2 不同的参数共享策略比较
在E=128下,all-shared的效果比E=768下好。
4.3 SOP结果
在适配下游任务时,可以看到SOP好于NSP。
4.4 没用dropout改善了结果
我们首次显示了,dropout可能损害transformer的效果。
4.5 与其他模型比较
标签:BERT,精简版,ALBERT,SOP,参数,embedding,size 来源: https://blog.csdn.net/zephyr_wang/article/details/113078952