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:预训练在小米的推理优化落地的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平台信赖度成为双十一影响消费者购买决策的
- 下一篇: MATLAB实战系列(二十七)-数据预处