NLP模型卡-ALBert

一:模型简介

其全称:A lite Bert,小模型。顾名思义该模型主要用于解决现有模型参数过多,训练速度过慢的问题,实际上做的类似模型压缩的工作。主要通过对词嵌入矩阵进行因式分解,使得其词典打下V和隐藏层大小H分离开来,这样模型参数不会随着词典的增大而急剧增大。同时使用跨层参数共享(Cross-layers parameter sharing),使得模型参数量不随模型层数而增加,进一步减小模型大小和训练时间。

二:论文

ALBert:A lite bert for self-supervised learning of language representations
发布者:Google 2020-ICLR

三:Motivations

主要目的是为了解决现有模型参数过多,如何压缩模型大小和提升训练速度是它的主要目的。

四:Contributions

1:Factorized embedding parameterization 嵌入参数分解

在原有的Bert或者别的模型中,一般默认的都是词向量的维度和模型内的隐含状态的维度相同,即E=H。这样做的好处是两者之间不用做转换,大家训练好词向量都可以拿来用。但是缺点同样也会很明显。如果词典很大,那么相应的词嵌入矩阵就会很大,或者如果需要增大隐藏层的维度来提高模型的表达能力时,相应地词向量的维度也需要变化,这同样也会使得词嵌入矩阵变大。本文的方案是,通过分解词嵌入矩阵,将词向量维度和隐藏状态size解绑,既可以在不改变hidden size的情况下改变词典的大小,或者在不改变词向量维度的情况下,改变hidden size。具体做法是把原本V×E(H=E),的词嵌入矩阵分解为V×K,K×H的两个矩阵,那么参数大小由O(V×E)到O(V×K+K×E) ,当K比E小的时候,就能减少总的参数量。这块和卷积网络中使用两个3×3的卷积和代替5×5的卷积核有点像,直接一步映射参数比较多,我通过两个矩阵来实现相同的效果,但同时参数量减少。

2:Cross-Layer parameter sharing :跨层参数共享

参数共享有三种,一种是值共享FFN的参数,一种是只共享attention的参数,还有一种是整个layer都共享。作者采用的是全部共享的方式,这样能最大程度的降低参数数量。作者在后面也对不同的方式做了实验。

3:Inter-sentence Coherent loss / Sentence Order Prediction:SOP

在Bert中加入的NSP任务,美其名曰多任务学习,但是在很多论文中都试验了,发现这玩意作用不大,也就给去除了,可参考:NLP模型卡-RoBERTaNLP模型卡-XLNet,NLP模型卡-ELECTRA。至于为啥用处不大,作者推测是因为这个任务太简单了,Bert的NSP任务的反例S2句子是在不同的文章中随机选取的,正例是在同一篇文章中选取的连续两段文本,那么模型在预测NSP任务时,很有可能只是在判断这两个句子是不是在同一个主题里(可以假设一篇文章属于某个特定主题),所以模型学习不到太多句子连贯性的信息。这个感觉可以做个实验验证一下,比如反例我还是那样选,但是反例我选的是同一篇文章里不连续的两句,看一下模型效果和原有Bert有没有区别。本文采用的方式是SOP(Sentence Order Prediction),这个是真正的句子连贯性预测,它的正例和Bert一样,反例是把原来正例的两个句子相互颠倒了一下,这样两个句子属于同一主题,甚至很接近,迫使模型去学习两个句子之间的连贯性。ELECTRA 就借鉴了这样的想法。

4:使用了n-gram masking

这块的话是为了克服Bert条件独立性的假设所带来的问题,类似ERNIE,对整个词或者短语进行mask,而不再以单字或词做mask,可以学习到更多的语义信息。具体可参考:NLP模型卡-ERNIE

五:Disadvantage

1:参数共享和分解会部分降低模型的效果,但是Large模型效果比Bert 好,还是大力出奇迹呀
2:只是关注了训练的时间,预测的时间还是和原来的一样,因为参数共享只是为了解决模型过大,内存装不下的问题,在进行预测时,还是得一层一层地计算,所以想两全其美,还是有点难度的。

Notes:

作者发现在模型没有出现过拟合现象的时候,去掉了Dropout,模型性能又有部分提升,说明模型还有一定的提升空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值