NLPCC:预训练在小米的推理优化落地
Posted 文宇肃然
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NLPCC:预训练在小米的推理优化落地相关的知识,希望对你有一定的参考价值。
前言
本文主要分享小米AI实验室NLP团队在NLPCC轻量级语言模型比赛上的经验。此次分享的目的是帮助大家快速进入比赛,以及了解工业界中使用BERT之类的大型预训练模型时进行推理的相关优化手段。
01背景介绍
首先和大家说一下比赛的背景和预训练模型中存在的问题。
1. NLP中的预训练
随着BERT的推出和发展,预训练模型成为目前工业界和比赛使用最广泛的模型。目前在各大NLP任务SOTA榜单上排前几名都是大型的预训练模型,比如原生BERT或者它的一些变体。
预训练模型的应用分为两个阶段,先进行预训练阶段 ( pre-training ),然后进行微调阶段 ( fine-tuning )。预训练阶段利用大规模的无监督预料,通常大于100g的量级,加上特定的无监督任务进行训练。用来预训练的任务有,经典的NSP ( next sentence predict )、MLM ( masked language model )、以及一些变体,如阿里发布的Structural language model。另外在预训练阶段时,embedding层的使用方式也有很多,比如NEZHA以及XLNET使用的相对位置编码。Pretrain阶段一般比较消耗计算资源,一般都是在大量的GPU集群上进行运算,并且计算很长的时间才能得到一个比较好的结果。
相对于复杂预训练任务,下游的微调任务就比较简单了。在预训练好的模型的基础上,只需要添加较少的网络参数,并在在下游有监督数据上进行少量的训练,就可以得到很不错的成果,这也是预训练技术能够被大量使用的基础条件。
2. 效率问题
以上是关于NLPCC:预训练在小米的推理优化落地的主要内容,如果未能解决你的问题,请参考以下文章