機器之心報道
機器之心編輯部
自BERT以來,大多數人堅持的模型訓練15% mask rate慣例被打破了?
前段時間,斯隆基金會公佈了2022 年度斯隆研究獎的獲獎者,陳丹琦、方飛、顧全全、李博等多位研究者獲得了計算機科學領域的獎項。
在獲獎後不久,陳丹琦所在的團隊就公佈了一項新研究。但和陳丹琦之前廣受讚譽的各項工作不同,這一新作受到了諸多質疑。
這個工作是關於掩蔽語言建模( masked language modeling,MLM)的。掩蔽語言模型通常使用15%的掩蔽率,因為大家發現,更高的掩蔽率將不能提供足夠的上下文來學習良好的表示,而更低的掩蔽率將大幅提高訓練成本。但陳丹琦等人卻發現,如果將掩蔽率提高到40%,效能可以超過15%的基線;如果提高到80%,大部分效能仍能得以保留,這是在下游任務上進行微調測得的結果。
由於和不少人自身實驗的結果並不符合,而且沒有開原始碼,所以這一研究在推特、知乎等平臺上引起了很大的爭議。
有人認為,這就是一個調參的結果,沒有理論依據,「黑盒的層面很多」,能不能復現也不好說。但也有人認為,如果嚴格按照論文的設定,論文的結果能夠復現,就相當於「有人事先把最優引數調出來了」,這也沒什麼不好。而且,這篇論文還能「啟發大家重新反思MLM的使用」,所以算得上是一個有價值的工作。
知乎連結:https://www.zhihu.com/question/517319014?utm_source
接下來,我們就一起來看下這項工作。
這篇文章寫了什麼
幾個月前,何愷明的Masked Autoencoders成為了計算機視覺的熱門,其遮蔽80%還能腦補原圖的重建能力驚為天人。何愷明等人在其論文中展望了預訓練大模型在CV領域的前景,而在NLP領域裡,人們訓練演算法通常使用的遮蔽比例是15%。在陳丹琦的新研究中,這一數字被顯著提高了。
論文連結:https://arxiv.org/abs/2202.08005
預訓練語言模型已經改變了自然語言處理領域的格局。大型語言模型經過巨量文字資料的訓練,可獲得豐富多樣的語言表示能力。與總是預測序列中下一個token的自迴歸模型相比,像 BERT 這樣的掩蔽語言模型(MLM)會根據上下文預測輸入token的掩蔽子集,由於具有雙向性質,此方法效果通常更佳。
此種方法是把模型限制為只掩蔽一小部分token內容開始進行學習的,通常為每序列15%。15%的數字反映這樣一個假設——若掩蔽太多文字,則模型無法很好地學習表示,這一思路被BERT之後的研究普遍採用。同時,僅對 15% 的序列進行預測已被視為對 MLM 進行有效預訓練的限制。
在普林斯頓大學陳丹琦等人的研究中,作者發現了與此前結論完全不同的情況:在有效的預訓練方案下,他們可以掩蔽 40-50% 的輸入文字,並獲得比預設的 15% 更好的下游效能。
下表展示了掩蔽 80%、40%和15% 的情況下,預訓練模型的下游效能。在掩蔽率為80%的條件下,大多數上下文內容已變得不可見,但相比15%掩蔽,模型仍能學習到接近的預訓練表示效果。這挑戰了人們關於掩蔽率的直覺,並提出了模型如何從高掩蔽率中受益的問題。
表1:不同掩蔽率下的掩蔽示例、驗證困惑度和下游任務效能。在這裡,所有模型都是有效預訓練條件下訓練的大模型。
沿著這一方向,作者建議將掩蔽率分解為兩個因素:損壞率(corruption rate,有多少上下文被掩蔽)和預測率(prediction rate,模型預測的token有多少)。在 MLM 中,損壞率和預測率都與掩蔽率相同。然而,這兩個因素具有相反的效果:雖然較高的預測率會產生更多的訓練訊號並有利於最佳化,但較高的損壞率會使學習問題在較少上下文的情況下更具挑戰性。
為獨立研究這兩個因素,作者設計了消融實驗來分離損壞和預測。實驗證明,模型可受益於更高的預測率,更高的損壞率則不然。更高的預測率所帶來的好處能否掩蓋更高的損壞率所帶來的負面影響,決定了模型能否在更高的掩蔽率下表現得更好。研究者還發現,擁有處理更高損壞率的更大的模型表現出了更高的最佳掩蔽率。
受這一結果啟發,作者在複雜情況下考慮了更高的掩蔽率,例如span掩蔽和 PMI 掩蔽。當以 15% 的掩蔽率進行評估時,這些方法被證明優於簡單的均勻掩蔽(uniform masking),但均勻掩蔽在其各自的最佳掩蔽率下與複雜的掩蔽基線相比具有競爭力。本文作者表示,他們提出的新的預測率-損壞率框架也為 BERT 基於原始或隨機token(80-10-10 策略)的預測實踐提供了新的思路——如果沒有它,模型通常會表現得更好。
作者在討論中表示,在 MLM 中採用更高的掩蔽率會帶來更好的效能,尤其是在資源有限的環境中。從輸入中移除掩蔽token,或解耦損壞率和預測率,有望進一步加速預訓練。
具體來說,這項研究的貢獻包括:
- 研究證明,訓練具有較高掩蔽率的掩蔽語言模型是可以成功的。例如,具有高效預訓練方法的大模型在掩蔽率為40%的情況下比15%的情況下表現更好;
- 研究者建議將掩蔽率分解為損壞率和預測率,這兩個相反的要素分別影響任務難度和訓練訊號,研究者使用該框架表明,較大的模型有更高的最優掩蔽率,並且只使用[ MASK ]token掩蔽優於80-10-10策略;
- 研究證明,在高掩蔽率下,與span掩蔽和PMI掩蔽等更高階的掩蔽方案相比,均勻掩蔽更具競爭力。
掩蔽語言模型通常使用15%的掩蔽率,研究者一般認為更高的掩蔽率會導致用來學習良好表徵的上下文不足,而更低的掩蔽率則會導致訓練成本太高。
在這項研究中,研究者發現高達40%的掩蔽率可以超過15%的baseline,即使是80%的掩蔽率也可以保持大部分效能,這可以透過對下游任務進行微調來衡量。
實驗結果
在消融實驗中研究者發現,增加掩蔽率有兩方面影響:1、更高比例的輸入token被損壞,減少了上下文的大小並建立了一個更困難的任務;2、模型會執行更多的預測,這有利於訓練。研究者觀察到,較大的模型特別適合更高的掩蔽率,因為大模型本身具備更高的能力來執行困難任務。進一步地,研究者將該發現與複雜的掩蔽方案結合起來,比如span掩蔽和PMI掩蔽,以及BERT的80-10-10策略,並發現使用[MASK]替代的簡單均勻掩蔽在更高的掩蔽率下具備競爭力。
圖1:掩蔽率對具有高效預訓練方案的大模型的影響。研究者發現,在大多數任務中,更高的掩蔽率比15%的掩蔽率表現更好,40%是最佳的掩蔽率。
表2:大模型、高效預訓練方法的條件下,15% 或40% 掩蔽率在 GLUE 基準上的測試結果對比。
圖2:在掩蔽率為15%和40%的情況下,使用高效的預訓練方法訓練的大模型的下游任務效能。
表3:損壞率 vs. 預測率。以40%的掩蔽作為基線,分離m_corr和m_pred,並分別對它們進行操作。趨勢是明確的:更高的預測率是有益的,但更高的損壞率是有害的。
圖3:掩蔽率對不同大小的模型的影響。可以發現,較大的模型擁有較大的最佳掩蔽率。
未來展望
研究者進一步討論了其他語言模型中的掩蔽率問題,除MLM之外,還有其他被廣泛用於NLP任務的預訓練方案,包括自迴歸語言模型(Radford et al., 2018; Brown et al., 2020) 和sequence-to-sequence語言模型(Raffel et al., 2020; Lewis et al., 2020)。類似地,sequence-to-sequence語言模型以一定的掩蔽率損壞文字,並用自迴歸的方式預測掩蔽文字。T5(Raffel et al., 2020)也採用了15%的掩蔽率。研究者準備擴大研究,比如研究文字到文字模型,並探討掩蔽率和不同型別解碼器之間的相互作用。
更多內容請參考原論文。