美文网首页
[NLP] ALBERT - 更轻量的BERT模型

[NLP] ALBERT - 更轻量的BERT模型

作者: nlpming | 来源:发表于2022-01-07 00:29 被阅读0次

1. 简介

  • 一般来说,增加模型的参数量能够提升最终的效果。但是由于机器GPU/TPU资源的限制模型参数量不可能无限制的增加。ALBERT模型主要解决的问题是:减小模型的参数,使得模型获得和BERT同样的效果甚至更优。 最终模型的训练速度和推理速度并没有明显的提升反而降低了些,所以论文最终作者提到在这两方面还需要改进。
ALBERT、BERT模型参数数量对比.png
ALBERT、BERT验证集效果对比.png

2. ALBERT改进之处

  • ALBERT和BERT模型采用了相同的结构,主要的改进之处在三个方面:

2.1 Factorized embedding parameterization

  • 很多BERT相关的模型比如RoBERT,XLNET等,将词表emb size的大小E和网络中hidden size的大小H,设置的是一样的。这样embedding层的网络参数数量为:V \times H,为了减小embedding层网络参数ALBERT中将EH设置的不一样,通常来说E不能设置的太大,而应该将H设置的比较大。最终embedding层的参数数量从O(V \times H)减小到O(V \times E + E \times H),当H的大小远大于E的时候,参数数量减小更加明显。

2.2 Cross-layer parameter sharing

  • 将transformer不同层之间的参数进行共享,常见的比如共享feed forward层参数或者attention层的参数,或者全部参数都共享。ALBERT默认采用的是共享所有的参数。并且论文中实验显示,通过不同层的参数共享模型的稳定性更好。
参数共享作用.png

2.3 Inter-sentence coherence loss

  • 我们知道原始BERT模型中使用了两个loss:MLM loss和NSP loss。很多其他实现都显示NSP(Next Sentence Prediction)任务起到的作用并不是那么大,因此ALBERT将NSP任务换成了SOP(Sentence Order Prediction)。NSP和SOP任务都是一个二分类任务,这两个任务的主要区别在于负样本的构造。NSP任务的负样本是,在其他文档中随机采样一个句子,而 SOP任务负样本的构造是将两个句子反过来。NSP任务能够学习到句子之间的主题相似性,而SOP任务能够学习到句子之间的语义连贯性,这种关系的学习更加的困难。

参考论文

参考资料

相关文章

网友评论

      本文标题:[NLP] ALBERT - 更轻量的BERT模型

      本文链接:https://www.haomeiwen.com/subject/dzcrcrtx.html