作者:YVES PEIRSMAN
翻译:詹荣辉
校对:闫晓雨
本文约2800字,建议阅读7分钟。
本文为大家介绍了用spaCy对BERT进行模型蒸馏,其性能也能接近BERT。
Photo on Blog
序列化和反序列化
迁移学习是自然语言处理领域最有影响力的最新突破之一。在其发布不到一年的时间里,谷歌的BERT及其后代(RoBERTa,XLNet等)主导了大多数NLP排行榜。虽然将这些庞大的模型投入生产可能令人头疼,但存在各种解决方案来显著减小其尺寸。在NLPTown,我们成功地应用了模型蒸馏技术来训练spaCy的文本分类器,使其在产品评论的情感分析方面的表现与BERT几乎一样优秀。
最近,自然语言处理的标准方法发生了巨大变化。直到一年前,几乎所有NLP模型都是完全从头开始训练的(通常经过预训练的单词嵌入除外),而如今,最保险的方法是下载诸如BERT这样的预训练模型,并对其进行微调以适应特定的NLP任务。因为这些迁移学习模型已经学习到了大量未标记的文本,所以它们已经获得了许多有关语言的知识:它们了解单词和句子的含义,共指,语法等。令人兴奋的是,像BERT这样的模型具有如此众多的参数,它们相当缓慢且占用大量资源。至少对于某些NLP任务,调BERT就像杀鸡用牛刀一样。
大锤模型
大多数迁移学习模型都很庞大。BERT的基本模型和多语言模型都具有12层,每层隐藏层的神经元大小为768,并具有12个自注意力头——总参数不少于110M。BERT-large拥有高达340M的参数。尽管如此,BERT与更近期的模型相比还是相形见绌,例如具有665M参数的FacebookXLM和具有774M的OpenAI的GPT-2。显然,朝着更大模型的发展将持续一段时间。