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