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