1 简介
本文根据2020年《DistilBERT, a distilled version of BERT: smaller,faster, cheaper and lighter》翻译总结的。
DistilBERT:预训练模型。将BERT模型大小减少40%,却仍保持97%的语言理解能力,以及快了60%。
损失函数采用了三元损失函数,包括distillation loss L_ce、监督训练损失函数(在我们例子中,、采用的masked language modeling loss Lmlm)、cosine embedding loss (Lcos)。
2 Knowledge distillation
Knowledge distillation,可参考[Bucila et al., 2006, Hinton et al., 2015],是一种压缩技术,一个小型的模型(student),是被训练来重现一个大模型(teacher或者一组模型)的行为。

最后的训练损失函数是distillation loss L_ce和监督训练损失函数(在我们例子中,采用的masked language modeling loss Lmlm)的线性组合。我们发现增加一个cosine embedding loss (Lcos),有助于对齐学生和老师的隐藏状态向量。
3 DistilBERT: a distilled version of BERT
学生架构:DistilBERT和BERT有相同的架构,token-type embeddings 和the pooler被去掉了,同时层的数量也减少了2倍。
学生初始化:从老师那2层取一层来初始化。
4 实验结果
从下表1可以看到DistilBERT表现分数保持了97%。表2表示了在下游认为中也表现较好。表3标明了参数和预测时间较小。


本文介绍了DistilBERT,一种缩小版的BERT模型,仅保留97%的原始理解能力但尺寸减小40%,速度提升60%。通过知识蒸馏和三元损失函数(包括distillation loss、监督学习loss和cosine embedding loss),DistilBERT在保持性能的同时,优化了参数和预测时间。
2640

被折叠的 条评论
为什么被折叠?



