1.開篇
去年年底,各大榜單上風起云涌,各路英雄在榜單上為了分數(shù)能多個0.01而不停的躁動,迫不及待地想要向外界秀秀自己的肌肉。
怎么回事呀,小老弟?
我們打開了中文NLP知名的評測網(wǎng)站CLUE,卻看到……

怎么全是Bert和它的兄弟?
遙想4年前,還全是RNN,LSTM和CNN的天下,怎么轉(zhuǎn)眼都不見了?LSTM不禁長嘆:年輕人,不講武德!欺負我這個25歲的老同志。
那么有沒有辦法讓LSTM重新煥發(fā)青春呢?有!知識蒸餾!
2.什么是知識蒸餾?
知識蒸餾的思想很簡單,就是讓一個教師模型來指導學生模型,讓學生模型學到教師模型的知識,而知識蒸餾的的核心也就是知識。

依據(jù)蒸餾所用的知識,可以把蒸餾分成三種:
Response-based Distillation:學學教師最后的輸出就夠我喝一壺了。
Feature-based distillation:中間層的知識也不能放過,畢竟神經(jīng)網(wǎng)絡(luò)最擅長的就是學習到層級信息。
Relation-based distillation:這些表面的知識完全不夠,還要深挖層與層之間的關(guān)系,樣本與樣本之間的關(guān)系。
而這些知識之所以有效,主要是因為隱含的特征 (dark knowledge) 無法在數(shù)據(jù)層面表示出來,模型可以學習到這些特征。One-hot 無法衡量類間的區(qū)別,知識蒸餾一定程度上起到了標簽平滑的作用。比如說馬,驢和樹他們在標注上都是不同的,通過one-hot表示呈現(xiàn)的區(qū)別也一致,很顯然,馬和驢的相似性強于馬和樹,而我們的標注無法衡量這種相似性,但是我們的教師模型卻可以學到這樣的知識。
細看這些年的BERT蒸餾都是這些套路:
DistilBERT: 學學教師最后的輸出就夠我喝一壺了
PKDBERT: 中間層的我也都要學
TinyBERT: embedding層的知識呢?我全都要!
TinyBERT對于知識的態(tài)度
既然能用蒸餾訓練出一個性能強悍的小BERT,那可不可以用同樣的方法來蒸餾LSTM,讓他煥發(fā)第二春呢?
3.師夷長技以制夷
蒸餾的第一步是要選取一個表現(xiàn)優(yōu)秀的教師模型,NER大榜的TOP1被RoBERTa搶先了,于是我們也選取RoBERTa作為我們的教師模型,在驗證集上得分81.55。同時,在同樣的訓練集下訓練雙向LSTM,得分68.56。兩者F1得分差距較大,直接嘗試response-baseddistillation:
| 模型 | NER F1 (Valid) |
| Roberta | 81.55 |
| LSTM (Baseline) | 68.56 |
| LSTM (蒸餾) | 71.01 |
得分有所提升,但是和榜單上那個78、79的相比還是有很大的距離。這可怎么辦?
這可怎么辦?
有什么能進一步提升模型能力的方法,想想各類BERT都在幾個T的數(shù)據(jù)上用幾十塊GPU訓練了幾百個小時,我們的LSTM只用個1萬訓練集當然不可能擊敗他們。我們也要用數(shù)據(jù)增強!
4.數(shù)據(jù)增強
CLUE NER的數(shù)據(jù)集是來源于清華大學開源的數(shù)據(jù)集THUCTC,所以我們嘗試使用THU-News數(shù)據(jù)集進行增強。隨機采樣30萬條進行測試。

這個0如此之純粹,讓人一度以為是不是跑錯了代碼,然后連續(xù)運行三次,得到的結(jié)果都是0!
我們趕緊拿到報告,找到里面的bad case(沒有一條不是bad case),發(fā)現(xiàn)結(jié)果很直白,所有的預測全是O(非實體)。趕緊找來增強數(shù)據(jù)集出來看看,看到了這個:
| 他?亦或是她?也許都會有。 |
| 總會有花花修的,¥%……&&() ———當下沖動的想問問她姐姐是誰暴捶一頓…… |
| 今日懸念揭曉,幾家雀躍幾家驚訝,《精靈傳說》正式與大家見面, |
| help item/ヘ兒プアイテム)等等 。 |
| credits作為zynga旗下游戲在facebook平臺上的主要支付方式。 |
| 成為勇士中的王者! |
| 令附: |
| 為了鼓勵大家多交朋友,目前android版本所有禮物都可以無限次免費贈送,現(xiàn)在就去吧! |
| 《馬里奧賽車wii》wii任天堂株式會社 |
| 這是由大眾對文化價值觀認同決定的。2010年有差不多接近1億左右的玩家, |
THU-News新聞數(shù)據(jù)集-游戲部分
可以看出,大部分樣本一個實體都沒有,和我們的任務(wù)完全就不是相同的分布(skewed),用這種數(shù)據(jù)集來訓練模型,訓練出來的模型將所有的標簽都認為成O(非實體)。
5.那么怎么從這些雜亂的數(shù)據(jù)集中提取出可以用作增強的數(shù)據(jù)集呢?
如果讓人工來清洗數(shù)據(jù)集的話,對于數(shù)據(jù)增強需要幾十幾百倍的數(shù)據(jù),NER標注數(shù)據(jù)有有一點難度。人工根本行不通!
鑒于我們在使用知識蒸餾訓練模型,那能不能請教師模型來幫忙清洗數(shù)據(jù)?

我們進行了個大膽的嘗試,不對數(shù)據(jù)集進行任何清洗,直接用教師模型對2000萬的雜亂數(shù)據(jù)集進行推理,然后只保留了教師模型認為包含實體的數(shù)據(jù):
| 至少包含一個實體 | 至少包含兩個實體 |
| 甚至吸引了剃了平頭的六番隊隊長朽木白哉~!哈哈哈(大誤~。 | 聯(lián)合導演兼主演吳亞橋擔當形象大使的《劍網(wǎng)3》“收費游戲免費玩”高校威武計劃。 |
| 2008年12月“it時代周刊:2008年最具商業(yè)價值網(wǎng)站”; | 游戲委員會稱,對游戲的審核需要很長時間,所以像蘋果和谷歌系統(tǒng)旗下的游戲, |
| 嘟嘟的目標是召集100名玩家在三江源辦一場變身舞會,在這里希望大家?guī)退黄疬_成愿望。 | 咪兔數(shù)位科技旗下《穿越火線online》全新改版“末世錄”正式上線!玩家不僅能體驗到全新的“ |
| 但這一次overkill依然把自己的作品托付給了一家日本公司:soe(索尼娛樂在線)。 | 北美區(qū)全球爭霸戰(zhàn)亞軍隊伍tsg對上韓國全球爭霸戰(zhàn)冠軍隊伍shipit,分別采取圣騎、戰(zhàn)士、 |
| 在最初階段,微軟發(fā)言人曾表示:“微軟決不允許他人修改自己的產(chǎn)品。 | dice已經(jīng)抓住使命召喚的這根軟肋了。 |
| infi始終不給soccer拉后紅血單位的機會, | tesl臺灣電競聯(lián)盟提供了720p以上的高畫質(zhì)在線直播、與我視傳媒共同合作,在i‘ |
| 阿里納斯因槍擊隊友事件被游戲除名 | 看完上面這個名單,你可能會說gbasp和ndsi也沒有《馬里奧》游戲首發(fā), |
| 來自世界各地的媒體紛紛希望能夠在e3任天堂展位上,搶先試玩到這款新主機,使得展位大排長龍。今日, | 有玩家說:這真是索任結(jié)合啊,游戲是任天堂的,但是按鍵是索尼風格的…… |
| 一統(tǒng)亂世》即將在明日正式登場。今次數(shù)據(jù)片改版將會開放多部族結(jié)盟的“聯(lián)盟系統(tǒng)”、爭奪地圖占領(lǐng)權(quán)的“ | 最后todd透露,“我們不知道會為《上古卷軸5》制作什么樣的dlc, |
| 始料不及《西游iii》你猜不到的結(jié)局 | 并且可以用這個地圖編輯器做出很多目前流行的地圖,塔防、dota等經(jīng)典地圖都可以在《星際2》 |
教師模型輔助清洗后的數(shù)據(jù)
教師模型為我們選擇的這份數(shù)據(jù)集干凈的多,不包含無實體,無意義的句子。但是作為交換,原來的2000萬數(shù)據(jù)集只剩下110萬左右。
利用篩選后的數(shù)據(jù)集訓練模型,得到:
| 模型 | 數(shù)據(jù)集 | 蒸餾 | NER F1 | 參數(shù)量 |
| Roberta-Large (教師模型) | train | 無 | 81.55 | 311.24M |
| LSTM (Baseline) | train | 無 | 68.56 | 9.66M (x32.21) |
| LSTM | train | 有 | 71.01 | 9.66M (x32.21) |
| LSTM | train+10w增強 | 有 | 72.61 | 9.66M (x32.21) |
| LSTM | train+20w增強 | 有 | 74.61 | 9.66M (x32.21) |
| LSTM | train+30w增強 | 有 | 76.51 | 9.66M (x32.21) |
| LSTM | train+40w增強 | 有 | 77.30 | 9.66M (x32.21) |
| LSTM | train+50w增強 | 有 | 77.40 | 9.66M (x32.21) |
| LSTM | train+60w增強 | 有 | 78.14 | 9.66M (x32.21) |
| LSTM | train+110w增強 | 有 | 79.68 | 9.66M (x32.21) |
CLUE NER 結(jié)果

不同增強數(shù)據(jù)集增強效果
可以看出,隨著增強數(shù)據(jù)集數(shù)量的提升,學生模型效果也在逐步提升。使用110萬數(shù)據(jù)集,驗證集的分數(shù)可以達到79.68。繼續(xù)增加數(shù)據(jù),效果應(yīng)該還會有進一步提升。提交到榜單上,測試集的分數(shù)可以達到78.299,CLUENER單項排第二名,眾多的BERT中擠出了一個LSTM。
nice!
6. 總結(jié)
利用少量的訓練集訓練教師模型,隨后收集增強數(shù)據(jù)集用來訓練學生模型可以大幅提升學生模型的能力。這樣在業(yè)務(wù)的初期,只需要利用少量的標注語料,便可達到一個相對可觀的一個效果,并且在服務(wù)部署方面使用小模型可以完成對GPU的一個釋放,實際測試中使用學生LSTMGPU加速比達到3.72倍,CPU加速比達到15倍。
而模型蒸餾這樣一個teacher-student的框架,可以十分靈活的選擇教師模型和學生模型選,比如教師模型可以通過集成選擇一個最好的效果,學生模型也可以任意嘗試各式的模型結(jié)構(gòu)比如CNN,LSTM,Transformers。當然其他的模型壓縮方法,比如說剪枝,近秩分解也可以與這樣的一個框架結(jié)合。而對于數(shù)據(jù)增強,在實際業(yè)務(wù)中,我們無需去尋找額外的公開數(shù)據(jù)集,直接從實際業(yè)務(wù)中就能獲取大量的數(shù)據(jù)來進行增強,這樣省去我們篩選數(shù)據(jù)的時間,也能更好的提升模型的效果。
這樣的一套框架在分類,意圖識別槽位提取,多模態(tài)等相應(yīng)業(yè)務(wù)中都取得了較好的效果,甚至在增強數(shù)據(jù)集到達一定程度時超過了教師模型的效果。
原文標題:【知識蒸餾】讓LSTM重返巔峰!
文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責任編輯:haq
-
人工智能
+關(guān)注
關(guān)注
1817文章
50098瀏覽量
265412 -
自然語言處理
+關(guān)注
關(guān)注
1文章
630瀏覽量
14667 -
nlp
+關(guān)注
關(guān)注
1文章
491瀏覽量
23280
原文標題:【知識蒸餾】讓LSTM重返巔峰!
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
神經(jīng)網(wǎng)絡(luò)的初步認識
一文讀懂LSTM與RNN:從原理到實戰(zhàn),掌握序列建模核心技術(shù)
NMSIS神經(jīng)網(wǎng)絡(luò)庫使用介紹
ST AEKD-AICAR1:基于邊緣AI的汽車狀態(tài)分類開發(fā)套件解析
在Ubuntu20.04系統(tǒng)中訓練神經(jīng)網(wǎng)絡(luò)模型的一些經(jīng)驗
CICC2033神經(jīng)網(wǎng)絡(luò)部署相關(guān)操作
人工智能工程師高頻面試題匯總:循環(huán)神經(jīng)網(wǎng)絡(luò)篇(題目+答案)
液態(tài)神經(jīng)網(wǎng)絡(luò)(LNN):時間連續(xù)性與動態(tài)適應(yīng)性的神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)的并行計算與加速技術(shù)
基于神經(jīng)網(wǎng)絡(luò)的數(shù)字預失真模型解決方案
無刷電機小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測方法的研究
神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)在電機故障診斷中的應(yīng)用
神經(jīng)網(wǎng)絡(luò)RAS在異步電機轉(zhuǎn)速估計中的仿真研究
基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析
讓長短期記憶人工神經(jīng)網(wǎng)絡(luò)重返巔峰
評論