如何看待瘦身成功版BERT——ALBERT?
地址? | https://www.zhihu.com/question/347898375/answer/836722282
通常,增加預訓練模型大小通常會提高模型在下游任務中的性能,但考慮到“GPU/TPU內存的限制、更長的訓練時間以及意想不到的模型退化”等問題,作者提出了兩種減少參數的方法:Factorized embedding parameterization 和 Cross-layer parameter sharing 。此外,還將BERT的 NSP 損失替換為句子順序預測(SOP)損失,使模型關注于句子間一致性。最后,實驗觀察發現最大的模型在訓練1M步后仍然沒有過擬合,于是刪除dropout,進一步提高模型能力。
Factorized embedding parameterization
作者首先將目光放到了 WordPiece 的嵌入矩陣上。
在BERT、XLNet以及RoBERTa中,嵌入文字大小與隱藏層大小
?綁定。作者認為,從建模的角度來看,WordPiece 嵌入的目的是學習上下文無關的表示,而隱藏層嵌入的目的是學習上下文相關的表示。一旦二者始終綁定,就無法更好對兩種表示的參數分別進行優化。當詞匯量為時,如果,嵌入矩陣的大小始終為 ,一旦希望通過增大進而增強上下文相關的表示能力,就會產生和詞匯表大小相關的參數量變化,并且其中大多數參數在訓練期間只進行了少量的更新。因此,ALBERT對詞嵌入參數進行因式分解,分解為兩個小矩陣,將 one-hot 向量先投影到大小為的低維嵌入空間中,再投影到大小為的隱藏空間中,參數大小由原來的?變為,簡單粗暴(有效)。
如上圖所示,在全共享條件下,大小為128的嵌入似乎是最好的,之后的實驗也是以此繼續的。
Cross-layer parameter sharing
作者又將目光放到了層間參數貢獻上:跨層共享前饋網絡(FFN)參數,僅共享注意力機制參數或跨層共享所有參數。
如上圖所示,ALBERT的層與層之間的轉換要比BERT平滑得多。這表明權值共享對網絡參數的穩定有一定的影響。雖然與BERT相比,這兩個指標都有所下降,但是即使在24層之后,它們也不會收斂到0。這說明ALBERT參數的解空間與DQE的解空間有很大的不同。
句子順序預測(SOP)損失
BERT使用的NSP損失,是預測兩個片段在原文本中是否連續出現的二分類損失。目標是為了提高如NLI等下游任務的性能,但是最近的研究都表示 NSP 的作用不可靠,都選擇了不使用NSP。
作者推測,NSP效果不佳的原因是其難度較小。將主題預測和連貫性預測結合在了一起,但主題預測比連貫性預測簡單得多,并且它與LM損失學到的內容是有重合的。
SOP的正例選取方式與BERT一致(來自同一文檔的兩個連續段),而負例不同于BERT中的sample,同樣是來自同一文檔的兩個連續段,但交換兩段的順序,從而避免了主題預測,只關注建模句子之間的連貫性。
運行一定步后刪除Dropout
如上圖所示,ALBERT的最大模型在訓練1M步后仍然沒有過擬合,于是作者決定刪除dropout,進一步提高模型能力。
總的來說,這篇投稿至ICLR 2020的ALBERT,真的是很簡單粗暴且有效,論文簡潔明了的語言和豐富的實驗告訴你,BERT還能打,Masked-LM還能打。不過在論文的最后,作者也表示雖然總的參數量減小了,但是最優模型ALBERT-xxlarge的結構更大,計算代價相較于BERT-large更大。下一步計劃通過sparse attention 和 block attention 等方式,對計算進行優化。
P.S. 全文看上去真的很像是實驗報告。以上淺薄個見,如有疏漏謬誤,煩請指明~
關于本站
“機器學習初學者”公眾號由是黃海廣博士創建,黃博個人知乎粉絲23000+,github排名全球前110名(32000+)。本公眾號致力于人工智能方向的科普性文章,為初學者提供學習路線和基礎資料。原創作品有:吳恩達機器學習個人筆記、吳恩達深度學習筆記等。
往期精彩回顧
那些年做的學術公益-你不是一個人在戰斗
適合初學者入門人工智能的路線及資料下載
吳恩達機器學習課程筆記及資源(github標星12000+,提供百度云鏡像)
吳恩達深度學習筆記及視頻等資源(github標星8500+,提供百度云鏡像)
《統計學習方法》的python代碼實現(github標星7200+)
精心整理和翻譯的機器學習的相關數學資料
首發:深度學習入門寶典-《python深度學習》原文代碼中文注釋版及電子書
備注:加入本站微信群或者qq群,請回復“加群”
加入知識星球(4300+用戶,ID:92416895),請回復“知識星球”
總結
以上是生活随笔為你收集整理的如何看待瘦身成功版BERT——ALBERT?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习练习数据哪里找?两行代码搞定!
- 下一篇: 李宏毅-ELMO、BERT、GPT视频笔