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

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

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

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

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

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