ALBERT的整体原理与笔者之前介绍BERT的原理与应用差不多。我们之前也讲过BERT有很多缺点,自它横空降生之时,很多小伙伴都基于它的缺点进行了改进,产生了各种各样的BERT类的文章,笔者之前也做了一些这些BERT与其他预训练模型的对比。
ALBERT当然也不例外,我们首先认识一下它最大的特点在哪?它减少了参数量,但维持了BERT的性能,但它只是降低了空间复杂度,把参数量从108M降到了12M,但并没有降低时间复杂度。我们用ALBERT进行预测的速度并没有加快,甚至在同等性能的模型对比中还慢了。
(ALBERT降参数量,但不减计算量。)
参数量对比
那么,ALBERT是怎么降低参数量?
主要通过Factorized embedding parameterization和Cross-layer parameter sharing两大机制。
接下来,笔者将详细介绍ALBERT的特点与相应的实践。
1. Factorized embedding parameterization(矩阵分解)