1.開篇
去年年底,各大榜單上風(fēng)起云涌,各路英雄在榜單上為了分?jǐn)?shù)能多個(gè)0.01而不停的躁動(dòng),迫不及待地想要向外界秀秀自己的肌肉。
怎么回事呀,小老弟?
我們打開了中文NLP知名的評(píng)測(cè)網(wǎng)站CLUE,卻看到……
怎么全是Bert和它的兄弟?
遙想4年前,還全是RNN,LSTM和CNN的天下,怎么轉(zhuǎn)眼都不見了?LSTM不禁長(zhǎng)嘆:年輕人,不講武德!欺負(fù)我這個(gè)25歲的老同志。
那么有沒有辦法讓LSTM重新煥發(fā)青春呢?有!知識(shí)蒸餾!
2.什么是知識(shí)蒸餾?
知識(shí)蒸餾的思想很簡(jiǎn)單,就是讓一個(gè)教師模型來指導(dǎo)學(xué)生模型,讓學(xué)生模型學(xué)到教師模型的知識(shí),而知識(shí)蒸餾的的核心也就是知識(shí)。
依據(jù)蒸餾所用的知識(shí),可以把蒸餾分成三種:
Response-based Distillation:學(xué)學(xué)教師最后的輸出就夠我喝一壺了。
Feature-based distillation:中間層的知識(shí)也不能放過,畢竟神經(jīng)網(wǎng)絡(luò)最擅長(zhǎng)的就是學(xué)習(xí)到層級(jí)信息。
Relation-based distillation:這些表面的知識(shí)完全不夠,還要深挖層與層之間的關(guān)系,樣本與樣本之間的關(guān)系。
而這些知識(shí)之所以有效,主要是因?yàn)殡[含的特征 (dark knowledge) 無法在數(shù)據(jù)層面表示出來,模型可以學(xué)習(xí)到這些特征。One-hot 無法衡量類間的區(qū)別,知識(shí)蒸餾一定程度上起到了標(biāo)簽平滑的作用。比如說馬,驢和樹他們?cè)跇?biāo)注上都是不同的,通過one-hot表示呈現(xiàn)的區(qū)別也一致,很顯然,馬和驢的相似性強(qiáng)于馬和樹,而我們的標(biāo)注無法衡量這種相似性,但是我們的教師模型卻可以學(xué)到這樣的知識(shí)。
細(xì)看這些年的BERT蒸餾都是這些套路:
DistilBERT: 學(xué)學(xué)教師最后的輸出就夠我喝一壺了
PKDBERT: 中間層的我也都要學(xué)
TinyBERT: embedding層的知識(shí)呢?我全都要!
TinyBERT對(duì)于知識(shí)的態(tài)度
既然能用蒸餾訓(xùn)練出一個(gè)性能強(qiáng)悍的小BERT,那可不可以用同樣的方法來蒸餾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)一步提升模型能力的方法,想想各類BERT都在幾個(gè)T的數(shù)據(jù)上用幾十塊GPU訓(xùn)練了幾百個(gè)小時(shí),我們的LSTM只用個(gè)1萬訓(xùn)練集當(dāng)然不可能擊敗他們。我們也要用數(shù)據(jù)增強(qiáng)!
4.數(shù)據(jù)增強(qiáng)
CLUE NER的數(shù)據(jù)集是來源于清華大學(xué)開源的數(shù)據(jù)集THUCTC,所以我們嘗試使用THU-News數(shù)據(jù)集進(jìn)行增強(qiáng)。隨機(jī)采樣30萬條進(jìn)行測(cè)試。
這個(gè)0如此之純粹,讓人一度以為是不是跑錯(cuò)了代碼,然后連續(xù)運(yùn)行三次,得到的結(jié)果都是0!
我們趕緊拿到報(bào)告,找到里面的bad case(沒有一條不是bad case),發(fā)現(xiàn)結(jié)果很直白,所有的預(yù)測(cè)全是O(非實(shí)體)。趕緊找來增強(qiáng)數(shù)據(jù)集出來看看,看到了這個(gè):
他?亦或是她?也許都會(huì)有。 |
總會(huì)有花花修的,¥%……&&() ———當(dāng)下沖動(dòng)的想問問她姐姐是誰暴捶一頓…… |
今日懸念揭曉,幾家雀躍幾家驚訝,《精靈傳說》正式與大家見面, |
help item/ヘ兒プアイテム)等等 。 |
credits作為zynga旗下游戲在facebook平臺(tái)上的主要支付方式。 |
成為勇士中的王者! |
令附: |
為了鼓勵(lì)大家多交朋友,目前android版本所有禮物都可以無限次免費(fèi)贈(zèng)送,現(xiàn)在就去吧! |
《馬里奧賽車wii》wii任天堂株式會(huì)社 |
這是由大眾對(duì)文化價(jià)值觀認(rèn)同決定的。2010年有差不多接近1億左右的玩家, |
THU-News新聞數(shù)據(jù)集-游戲部分
可以看出,大部分樣本一個(gè)實(shí)體都沒有,和我們的任務(wù)完全就不是相同的分布(skewed),用這種數(shù)據(jù)集來訓(xùn)練模型,訓(xùn)練出來的模型將所有的標(biāo)簽都認(rèn)為成O(非實(shí)體)。
5.那么怎么從這些雜亂的數(shù)據(jù)集中提取出可以用作增強(qiáng)的數(shù)據(jù)集呢?
如果讓人工來清洗數(shù)據(jù)集的話,對(duì)于數(shù)據(jù)增強(qiáng)需要幾十幾百倍的數(shù)據(jù),NER標(biāo)注數(shù)據(jù)有有一點(diǎn)難度。人工根本行不通!
鑒于我們?cè)谑褂弥R(shí)蒸餾訓(xùn)練模型,那能不能請(qǐng)教師模型來幫忙清洗數(shù)據(jù)?
我們進(jìn)行了個(gè)大膽的嘗試,不對(duì)數(shù)據(jù)集進(jìn)行任何清洗,直接用教師模型對(duì)2000萬的雜亂數(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ì)稱,對(duì)游戲的審核需要很長(zhǎng)時(shí)間,所以像蘋果和谷歌系統(tǒng)旗下的游戲, |
嘟嘟的目標(biāo)是召集100名玩家在三江源辦一場(chǎng)變身舞會(huì),在這里希望大家?guī)退黄疬_(dá)成愿望。 | 咪兔數(shù)位科技旗下《穿越火線online》全新改版“末世錄”正式上線!玩家不僅能體驗(yàn)到全新的“ |
但這一次overkill依然把自己的作品托付給了一家日本公司:soe(索尼娛樂在線)。 | 北美區(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以上的高畫質(zhì)在線直播、與我視傳媒共同合作,在i‘ |
阿里納斯因槍擊隊(duì)友事件被游戲除名 | 看完上面這個(gè)名單,你可能會(huì)說gbasp和ndsi也沒有《馬里奧》游戲首發(fā), |
來自世界各地的媒體紛紛希望能夠在e3任天堂展位上,搶先試玩到這款新主機(jī),使得展位大排長(zhǎng)龍。今日, | 有玩家說:這真是索任結(jié)合啊,游戲是任天堂的,但是按鍵是索尼風(fēng)格的…… |
一統(tǒng)亂世》即將在明日正式登場(chǎng)。今次數(shù)據(jù)片改版將會(huì)開放多部族結(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ù)集干凈的多,不包含無實(shí)體,無意義的句子。但是作為交換,原來的2000萬數(shù)據(jù)集只剩下110萬左右。
利用篩選后的數(shù)據(jù)集訓(xùn)練模型,得到:
模型 | 數(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增強(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萬數(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ù)集用來訓(xùn)練學(xué)生模型可以大幅提升學(xué)生模型的能力。這樣在業(yè)務(wù)的初期,只需要利用少量的標(biāo)注語料,便可達(dá)到一個(gè)相對(duì)可觀的一個(gè)效果,并且在服務(wù)部署方面使用小模型可以完成對(duì)GPU的一個(gè)釋放,實(shí)際測(cè)試中使用學(xué)生LSTMGPU加速比達(dá)到3.72倍,CPU加速比達(dá)到15倍。
而模型蒸餾這樣一個(gè)teacher-student的框架,可以十分靈活的選擇教師模型和學(xué)生模型選,比如教師模型可以通過集成選擇一個(gè)最好的效果,學(xué)生模型也可以任意嘗試各式的模型結(jié)構(gòu)比如CNN,LSTM,Transformers。當(dāng)然其他的模型壓縮方法,比如說剪枝,近秩分解也可以與這樣的一個(gè)框架結(jié)合。而對(duì)于數(shù)據(jù)增強(qiáng),在實(shí)際業(yè)務(wù)中,我們無需去尋找額外的公開數(shù)據(jù)集,直接從實(shí)際業(yè)務(wù)中就能獲取大量的數(shù)據(jù)來進(jìn)行增強(qiáng),這樣省去我們篩選數(shù)據(jù)的時(shí)間,也能更好的提升模型的效果。
這樣的一套框架在分類,意圖識(shí)別槽位提取,多模態(tài)等相應(yīng)業(yè)務(wù)中都取得了較好的效果,甚至在增強(qiáng)數(shù)據(jù)集到達(dá)一定程度時(shí)超過了教師模型的效果。
原文標(biāo)題:【知識(shí)蒸餾】讓LSTM重返巔峰!
文章出處:【微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
人工智能
+關(guān)注
關(guān)注
1787文章
46061瀏覽量
235046 -
自然語言處理
+關(guān)注
關(guān)注
1文章
585瀏覽量
13418 -
nlp
+關(guān)注
關(guān)注
1文章
481瀏覽量
21935
原文標(biāo)題:【知識(shí)蒸餾】讓LSTM重返巔峰!
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論