最近,自然语言处理(NLP)通过使用具有数亿个参数的大型预训练模型而获得了巨大的成功。
然而,作为NLP中最大的模型之一,BERT模型体积大,延迟时间长,资源有A C x 3 ( F [ ) v限的移动设备无法将BERT的能力应用到基于移动的机器翻译、对话建模等方面。
来自CMU与谷歌大脑的R % @实习生同| 5 b q k学共同提出了MobileBERT,将用于压缩和加速BERT模型。
与BERT一样,MobileBERT也是任务K o / _无偏(task-agnostic)o I ] t的,即k M l h T G f h g可以通过微调将其普遍应用在各种0 % n t U r u下游NLP任务之上。MobileBERT是BERT-LARGE的精简版,增加了K s }瓶颈结构,并在self-attt H @ention和前馈网络间做了精细的平衡设计。
代码及预训练模型将开源在以下地址:
https://github.com/google-research/google-researk t N # f 1 [ch/mobilebert
为了训练MobileBERT,研究人员使用了自上而s m V x S L下的渐进方案,用专门设计的反向瓶颈BERT-LARGE teacher模型将其中知识传递给MobileBERT。
知识转移的渐进过程分为L个阶段,其中L为层J M ! G x / [数。图2展0 : 2 A示了渐进式知识转移的原理图H _ 1 4 a X w j V和算法。渐进迁移的思u K K 4 N o S y 3想是在训练学生的(l+1)层时,(l)层已经是最优的了。
由于BERT的中间状态没有软目标分布,研究人员提出了两个知识转移目标: feature map transfer和attention transh E ~ Afer来! t Q训练学生网络。特别地,假设老师和学生有相同的1)feature map的大小,2)层的数量,3)attention heG 3 !ads的数量。
FEATURE MAP TRANSFER (FMT)
由于BERT中的每一层仅仅是将前一层的输出作为输入,所以在逐步训练学生网络时,最重要M . _ ` % i W ] G的是每一层的feature maps应该尽可能接近于教师的feature maps,即优化的。其中,以学生与教师归一化特征图的均方误差为目标:
其中l为层索引,T为序列长度,N为特征映射大小。增加层间归一化以稳定层间训练损失。
最小化了特征图转换中均值和方差的两个统计差异:
和2代表均值和方差。实验表明,在BERT { s ] S R / B中去除层标准S # x化以减少推理延迟时,最小化统计差异是有帮助的。
ATTENTIONS ^ L G N Y S TRANSFER (AT)
BERT中的注意分布可以检测出词语之间合理的语义和句法关系。
这激发了研究者使用来自优化过的教师的“自我注意maps”来帮助训练学生在增强到g 4 t S“feature map transfer”的过程中。特别是,我们最{ ) V 8 M 1 t .小化了教师和学生的pre-head的(head平均的)注意力分布的kl-散度:
A是attention heads的数目。
研究表明,M1 a , d 1 C ) eobileBERT比BERT_BASE小4.3倍,[ k A ? v 9快5.5倍,同时在众所周知的基准测试中获得了有竞争力 X r M & S Q ]的结果。在GLUE的自然语言$ 7 9 ) 9推理任务上,MobileBERT的GLUEscore达到77.7(比BERT_BASE低0.6),在PixeT 5 1 C Z 9 m u El 4手机上的延迟为62毫秒。在SQuAD v1.1 / v2.0问题解答任务上,MobileBERT的dev F1得分为90.0 / 79.2r + f h D )(比BERT_BASE高1.5 / 2.1)。
论文链接:
https://arxiv.org/pdf/2004.02984.pdf