ALBERT解读

介绍

预训练语言模型取得了令人惊艳的效果,但也导致模型参数越来越大,很难在实际生活中使用。ALBERT尝试解决这一问题,具体参考论文《ALBERT: A Lite BERT For Self-Supervised Learning of Language Representations》

ALBERT

ALBERT的架构采用BERT作为backbone,E作为词表embedding的维度,L作为transformer encoder的层数,hidden size为H,feed-forward size为4H,attention heads个数为H/64.

为了降低模型的复杂度,减少模型参数ALBERT做了以下改进

Factorized embedding parameterization

对于词表大小 V V V,词向量参数共有 V ∗ H V*H VH, 采用矩阵分解的方式降低参数量,将较高维度H映射到低维度的E空间中,参数量变化从O(V × H) 至 O(V × E + E × H) 当E<<H时参数量减少的很明显。

Cross-layer parameter sharing

Transformer中共享参数有多种方案,可共享全连接层和attention层,ALBERT结合了上述两种方案,全连接层与attention层都进行参数共享,虽然实际上效果是有下降的,但是参数量减少了很多,训练速度也提升了很多。

Inter-sentence coherence loss

ALBERT论文中认为BERT的二分类预训练任务即NSP(next sentence prediction)其实包含了两个子任务,主题预测与关系一致性预测,但是主题预测相比于关系一致性预测简单太多了,并且在MLM任务中其实也有类型的效果。所以提出了SOP(sentence order prediction)这个loss不关注主题预测只关注句子连贯性预测。SOP任务正样本和NSP一致;负样本NSP是随机是从挑选一个句子,而SOP是将正样本反转即可。综上,NSP不能解决SOP的任务,而SOP可能可以因为不一致的连贯线索从某种程度来解决NSP的任务

Remove dropout

We also note that, even after training for 1M steps, our largest models still do not overfit to their training data. As a result, we decide to remove dropout to further increase our model capacity.

作者发现训练100万步后模型没有收敛,删除dropout后,模型开始收敛,因此dropout可能对预训练有影响,需要后续验证。

结论

ALBERT相对于BERT的主要区别是更少的参数量,性能和训练速度的提升。主要采用了以下方法

  1. 对词向量因式分解,降低参数量
  2. 多层共享参数,降低参数量
  3. 增加SOP任务损失,专注句子的连贯性

另外需要注意,尽管参数量和训练速度性能都获得提升,但实际ALBERT的inference速度和BERT几乎无区别

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值