Bert预训练新法则
論文簡介:還應在遮蔽語言模型中使用 15% 的遮蔽概率嗎?
論文標題:Should You Mask 15% in Masked Language Modeling?
論文鏈接:https://arxiv.org/pdf/2202.08005.pdf
論文作者:{Alexander Wettig? Tianyu Gao? Zexuan Zhong Danqi Chen}
論文簡介
以往遮蔽預訓練模型中,遮蔽語言模型通常使用 15% 的遮蔽率,作者團隊認為更多的遮蔽將提供足夠的上下文來學習良好的表示,而更少的遮蔽會使訓練過于昂貴。令人驚訝的是,我們發現 40% 的遮蔽概率的輸入序列可以優于 15% 的基線,通過對下游任務的微調來衡量可以發現,甚至遮蔽 80% 的字符也可以保留大部分性能。
- 增加遮蔽有兩個明顯的效果,作者通過細致的消融實驗研究發現:
- 無需使用 80% [MASK]、10% 保持原始token和 10% 隨機替換token。
- 隨著掩蔽率的提升,隨機均勻掩碼的效果(Uniform)的表現還會比Span Masking、相關區間原則性掩碼(PMI-Masking)更好。
總體來說,該研究成果有助于更好地理解遮蔽語言模型,并指出有效預訓練的新途徑。接下來我們看看詳細的實驗結論。
預訓練“15%遮蔽率” 慣例是可以被打破的
“15%遮蔽率”,指在一項預訓練任務中,隨機遮住15%的單詞,并通過訓練讓AI學會預測遮住的單詞。
在這項工作中,作者發現了在有效的預訓練方案下,可以遮蔽 40-50% 的輸入文本,模型獲得比默認的 15% 更好的下游性能。 表格1顯示了遮蔽 15%、40% 和 80% 的例子,以及它們的下游任務性能。我們可以發現使用 80% 掩蔽,即使大多數上下文被破壞,與 15% 的遮蔽 相比,模型仍能學習到良好的預訓練表示并保留超過 95%的下游任務性能。 這個現象打破了以往遮蔽率選擇15%的慣例,并提出了模型如何從高掩蔽率中受益的問題,這可能是未來遮蔽語言模型研究的一個熱點。
預訓練需要超過15%的遮蔽率
為了了解在 MLM 中可以遮蔽多少以字符及遮蔽 率如何影響預訓練模型的性能,本文預訓練了一系列具有不同掩蔽率的模型,范圍從 15% 到80%。圖 1 顯示了相對于不同掩蔽率,下游任務性能的變化。
我們可以發現與默認的 15% 遮蔽模型相比,高達 50% 的遮蔽可以達到相當甚至更好的結果。 遮蔽40% 總體上實現了最佳的下游任務性能(盡管不同下游任務的最佳掩蔽率有所不同)。 結果表明語言模型預訓練不必使用小于 15% 的掩碼率,而使用高效預訓練側率的大型模型的最佳掩碼率高達 40%。
為了進一步比較 15% 和 40% 的遮蔽率,在表 2 中展示了兩者的 GLUE 測試結果:
并在圖 2 中繪制了下游任務性能隨不同訓練步驟的變化:
表 2 進一步驗證了掩蔽 40% 的性能明顯優于 15% — SQuAD 提高了近 2%。 我們還看到在圖 2 中的整個訓練過程中,40% 的 masking 具有超過 15% 的一致性優勢
“重新”理解Mask Rate
在本節中,作者從兩個不同的角度分析掩蔽率如何影響 MLM 的預訓練過程:任務難度和優化效果。在Mask機制下,作者還進一步討論了遮蔽率、模型大小和不同損壞策略之間的關系,以及它們對下游任務性能的影響。
遮蔽率與破壞率和預測率之間的關系
具體來說,就是將掩蔽率拆分為破壞率 (corruption rate)和預測率 (prediction rate)2個指標。其中,破壞率是句子被破壞的比例,預測率是模型預測的比例。論文進一步針對破壞率(mcorr)和預測率(mpred)進行了研究,發現了一個新規律:
預測率高,模型效果更好;但破壞率更高,模型效果更差:
表3顯示了使用解破壞率 mcorr和預測率 mpred的消融結果。我們可以看到,(1)將mcorr固定為40%,將mpred從40%降低到20%,導致下游任務持續下降,表明更多的預測導致更好的性能;(2)將mpred固定為40%,降低mcorr導致持續更好的性能,這表明較低的破壞率使預訓練任務更容易學習。(3)高預測率帶來的收益可以超過破壞率帶來的缺陷,性能更好。
高遮蔽率更適合大模型
從上圖我們可以看到,在有效的預訓練設置下,大型模型可以平均取40%作為最優遮蔽率;基礎模型和中等模型大約取20%作為最優遮蔽率。這清楚地表明具有更大參數量的模型從更高的遮蔽率中獲益更多。
揭開“80-10-10”規則的神秘面紗
2019年以來,大多數認為用將原始token10%替換(保持單詞不變),用隨機token替換10%是有益的。從那時起,在過往預訓練模型研究中,80-10-10規則在幾乎所有的MLM預訓練工作中被廣泛采用。其動機是遮蔽標記在訓練前和下游微調之間造成不匹配,使用原始或隨機的標記作為[MASK]的替代方法可以緩解這種差距。基于這一推理,理應認為屏蔽更多的上下文應該會進一步增加差異,但作者在下游任務中觀察到更強的性能。這就引出了是否完全需要80-10-10法則的疑慮。首先,作者重新討論了80-10-10規則,并將其與破壞率和預測率兩種指標聯系起來,作者思考如下:
相同字符預測:預測相同的字符是一項非常簡單的任務——模型可以簡單地將輸入復制到輸出中。來自相同的字符預測的損失非常小,這個目標應該被視為一個輔助的正則化,它確保了文本信息從嵌入傳播到最后一層。因此,同樣的token預測既不應該計入破壞率,也不應該計入預測率——它們不會破壞輸入,而且對學習的貢獻很小。
隨機字符破壞:用隨機token替換會提升破壞率和預測率,因為輸入已經被損壞,預測任務并不重要。事實上,作者發現與[MASK]相比,隨機token的損失略高,原因有兩點:(1)模型需要決定所有token的信息輸入是否來自隨機字符和(2)預測需要對輸入嵌入中的巨大變化需要保持一致。
為了驗證結論,作者采用m=40%模型僅使用[MASK]替換作為基線,在此基礎上我們添加了三個模型:
1.“+5%相同”:遮蔽40%的字符,預測45%的字符。
2.“w/5%隨機”:遮蔽35%的字符,并隨機替換了另外5%的字符,預測率為40%。
3.“80-10-10”:在BERT配置中,在所有的遮蔽文本中,80%被[MASK]取代,10%被原始token取代,10%被隨機token取代。
結果如表4所示。我們觀察到,相同的字符預測和隨機字符損壞會降低大多數下游任務的性能。“80-10-10”規則比簡單地使用[MASK]的所有任務效果更差。這表明,在微調范式中,[MASK]模型可以快速適應完整的、未損壞的句子,而不需要隨機替換。鑒于實驗結果,作者建議只使用[MASK]來做預訓練。
在高遮蔽率下,Uniform Masking 效果更好
為了理解掩蔽率和掩蔽策略之間的相互作用,我們在不同掩蔽率下使用多種掩蔽策略進行實驗,發現隨機均勻掩碼(Uniform)在最佳遮蔽率下比更復雜的遮蔽策略表現更好。
圖5顯示了在掩蔽率從15%到40%下,均勻遮蔽、t5 的span maskin和PMI遮蔽的結果。我們發現,(1)對于所有的遮蔽策略,最優遮蔽率都高于15%;(2)跨度遮蔽和PMI遮蔽的最優遮蔽率低于均勻遮蔽;(3)當所有策略都采用最優遮蔽率時,Uniform 遮蔽可以獲得比高級策略相當甚至更好的結果。
為了理解更高的遮蔽率和高級遮蔽策略之間的關系,如下圖顯示,更均勻的遮蔽基本上增加了遮蔽高相關字符的幾率,從而減少了瑣碎的字符令牌,并迫使模型更穩健地學習。我們注意到,即使是Uniform 掩蔽,更高的遮蔽率也會增加“意外”覆蓋整個PMI字符跨度的機會。通過對語料庫上的掩碼采樣,我們計算圖6中的這個概率,發現當遮蔽率從15%提高到40%時,概率增加了8倍。同樣,更高的遮蔽率使遮蔽字符形成更長的跨度,說明增加的遮蔽率可以產生類似于高級遮蔽蔽策略效果,但是會產生學習更好的表征。
論文結論
在本文中,作者對掩蔽語言模型的掩蔽率進行了全面的研究,發現40%的遮蔽率在下游任務上的性能始終優于傳統的15%遮蔽率。通過揭破壞率和預測率的關系,可以更好地理解遮蔽率,并表明更大的模型可以從更高的遮蔽率中獲益更多。另外還證明了80-10-10規則在很大程度上是不需要的,簡單的均勻遮蔽在更高的掩蔽率下與復雜遮蔽方案的效果是相當的。
參考資料
- 陳丹琦帶著清華特獎學弟發布新成果:打破谷歌BERT提出的訓練規律!這個慶祝方式太學神了吧
https://www.qbitai.com/2022/02/32722.html
總結
以上是生活随笔為你收集整理的Bert预训练新法则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试用例的实际结果,软件测试结果归纳
- 下一篇: JSP中图片的设置