ACL 2020 | MobileBERT:一种与任务无关的模型压缩方法
?PaperWeekly 原創(chuàng) ·?作者|蔡杰
學(xué)校|北京大學(xué)碩士生
研究方向|問答系統(tǒng)
論文標(biāo)題:MobileBERT: a Compact Task-Agnostic BERT for Resource-Limited Devices
論文來源:ACL 2020
論文鏈接:https://arxiv.org/abs/2004.02984
引言
目前很多預(yù)訓(xùn)練模型的壓縮方法都是和下游任務(wù)相關(guān)的,一般做法都是把 pre-train 的模型在下游任務(wù)上 fine-tune 之后,進(jìn)行縮小操作(蒸餾,裁剪等等)。據(jù)作者說目前還沒有與任務(wù)無關(guān)的輕量級預(yù)訓(xùn)練模型,他們要填補(bǔ)這個領(lǐng)域的空白。實驗結(jié)果上看,這個空白填補(bǔ)的還是很成功的。
Insights
要做一個預(yù)訓(xùn)練的小模型,用蒸餾?蒸餾完的模型要么淺,要么窄,但是這兩種模型都有自己的缺點,淺的表示能力不足,窄的不好訓(xùn)練(畢竟還是要考慮后續(xù) fine-tune 的)。
MobileBERT 采用的和 BERT-large 一樣深的層數(shù),在每一層中的 transformer 中加入了 bottleneck 機(jī)制使得每一層 transformer 變得更窄,但是并沒有丟失其與 self-attention 和 Feed-Forward 之間的平衡。
作者先訓(xùn)練了一個帶有 bottleneck 機(jī)制的 BERT-large(IB-BERT),然后把 IB-BERT 中的知識遷移到 Mobile-BERT 中,在這個遷移的策略中,作者做了很多嘗試。最后 Mobile-BERT 比 BERT-base 小 4.3 倍,快 5.5 倍,而且在 GLUE 上的效果沒怎么降,還是很牛的。
可以看到 Table1 中,MobileBERT 就是作者之前說的那種窄的模型,會很難訓(xùn)練。所以作者采用的方法就是先訓(xùn)練一個 IB-BERT-large,然后把 IB-BERT-large 學(xué)到的知識遷移到 MobileBERT 中去。
采用了 bottleneck 機(jī)制的 IB-BERT-large 也存在問題,bottleneck 機(jī)制會打破原有的 MHA(Multi Head Attention)和 FFN(Feed Forward Network)之間的平衡,原始 bert 中的兩部分的功能不同,參數(shù)比大概為 1:2。采用了 bottleneck 機(jī)制會導(dǎo)致 MHA 中的參數(shù)更多,所以作者在這里采用了一個堆疊 FFN 的方法,增加 FFN 的參數(shù),Table1 中也能看出。
為了讓模型更快,作者發(fā)現(xiàn)最耗時間的是 Layer-Norm 和 gelu,將這兩個部分進(jìn)行替換。把需要均值和方差的 Layer-Norm 替換為 NoNorm 的線性操作,把 gelu 替換為 ReLU,word-embedding 降為 128,然后用一個 3 核卷積操作提高到 512。
遷移策略
3.1 Feature Map Transfer (FMT)
由于在 BERT 中的每一層 transformer 僅獲取前一層的輸出作為輸入,layer-wise 的知識轉(zhuǎn)移中最重要的是每層都應(yīng)盡可能靠近 teacher。特別是兩模型每層 feature-map 之間的均方誤差:
3.2 Attention Transfer (AT)
注意機(jī)制極大地提高了 NLP 的性能,并且成為 transformer 中至關(guān)重要的組成部分。作者使用從經(jīng)過優(yōu)化的 teacher 那里得到 self_attention map,幫助訓(xùn)練 MobileBERT。作者計算了 MobileBERT 和 IB-BERT 之間的自注意力之間的 KL 散度:
3.3 Pre-training Distillation (PD)
除了 layer-wise 的知識轉(zhuǎn)移外,作者還在對 MobileBERT 進(jìn)行預(yù)訓(xùn)練時使用知識蒸餾損失。作者使用原始的線性組合掩碼語言模型(MLM),下一句預(yù)測(NSP)和新的 MLM 知識蒸餾(KD)是我們的預(yù)訓(xùn)練蒸餾損失:
鑒于上述 target,在訓(xùn)練中可以有各種組合策略。作者討論了三種策略。
輔助知識遷移
在這個策略中將中間知識轉(zhuǎn)移視為知識蒸餾的輔助任務(wù)。使用 single 損失,這是來自所有層的知識轉(zhuǎn)移損失以及預(yù)訓(xùn)練蒸餾損失。
聯(lián)合知識遷移
IB-BERT 的中級知識(即attention map和feature map)可能不是 MobileBERT 學(xué)生的最佳解決方案。因此,作者建議將這兩個 Loss 分開。首先在 MobileBERT 上訓(xùn)練所有 layer-wise 知識轉(zhuǎn)移損失,然后通過預(yù)訓(xùn)練蒸餾進(jìn)一步訓(xùn)練它。
漸進(jìn)知識轉(zhuǎn)移
作者也擔(dān)心如果 MobileBERT 無法完美模仿 IB-BERT,下層可能會影響更高的層次的知識轉(zhuǎn)移。因此,作者建議逐步培訓(xùn)知識轉(zhuǎn)移的每一層。漸進(jìn)式知識轉(zhuǎn)移分為 L 個階段,其中 L 是層數(shù)。
實驗結(jié)果
表格還是很清晰的,就不多做解釋了。
結(jié)論
本文介紹了 MobileBERT,它是 BERT 的與任務(wù)無關(guān)的緊湊型變體。流行的 NLP 基準(zhǔn)測試 GLUE 的經(jīng)驗結(jié)果表明,MobileBERT 與 BERT-base 相當(dāng),但體積更小,速度更快。
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識的人。
總有一些你不認(rèn)識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得或技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標(biāo)準(zhǔn):
? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?
? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?
? PaperWeekly 默認(rèn)每篇文章都是首發(fā),均會添加“原創(chuàng)”標(biāo)志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發(fā)送?
? 請留下即時聯(lián)系方式(微信或手機(jī)),以便我們在編輯發(fā)布時和作者溝通
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的ACL 2020 | MobileBERT:一种与任务无关的模型压缩方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息称苹果公司全球供应链采购主管丹・罗斯
- 下一篇: 日产加入 ChargeScape 联盟,