修改Transformer结构,设计一个更快更好的MLM模型
?PaperWeekly 原創 ·?作者|蘇劍林
單位|追一科技
研究方向|NLP、神經網絡
大家都知道,MLM (Masked Language Model) 是 BERT、RoBERTa 的預訓練方式,顧名思義,就是 mask 掉原始序列的一些 token,然后讓模型去預測這些被 mask 掉的 token。
隨著研究的深入,大家發現 MLM 不單單可以作為預訓練方式,還能有很豐富的應用價值,比如筆者之前就發現直接加載 BERT 的 MLM 權重就可以當作 UniLM 來做 Seq2Seq 任務(參考這里),又比如發表在 ACL 2020 的 Spelling Error Correction with Soft-Masked BERT?[1] 將 MLM 模型用于文本糾錯。
然而,仔細讀過 BERT 的論文或者親自嘗試過的讀者應該都知道,原始的 MLM 的訓練效率是比較低的,因為每次只能 mask 掉一小部分的 token 來訓練。ACL 2020 的論文 Fast and Accurate Deep Bidirectional Language Representations for Unsupervised Learning 也思考了這個問題,并且提出了一種新的 MLM 模型設計,能夠有更高的訓練效率和更好的效果。
論文標題:Fast and Accurate Deep Bidirectional Language Representations for Unsupervised Learning
論文來源:ACL 2020
論文鏈接:https://arxiv.org/abs/2004.08097
代碼鏈接:https://github.com/joongbo/tta
MLM模型
假設原始序列為 , 表示將第 i?個token 替換為 后的序列,那么 MLM 模型就是建模:
我們說它效率低,是因為每次只能選擇一小部分 token 來 mask,比如 15%,那么也就是說每個樣本只有 15% 的 token 被訓練到了,所以同一個樣本需要反復訓練多次。在 BERT 里邊,每個樣本都被 mask 了多遍然后存為 tfrecord,訓練效率低的同時還增加了硬盤空間占用。
▲ MLM任務示意圖
如果訓練的時候每個樣本的所有 token 都可以作為預測目標,那么訓練效率自然就能提升了。像 GPT 這樣的單向語言模型是可以做到的,但是 MLM 是雙向的模型,并不能直接做到這一點。為了達到這個目標,我們需要簡化一下上式,假設每次只 mask 掉一個 token,也就是要構建的分布為:
然后我們希望通過單個模型一次預測就同時得到:
怎么做到這一點呢?這就來到本文要介紹的論文結果了,它提出了一種稱之為?T-TA (Transformer-based Text Autoencoder) 的設計,能讓我們一并預測所有 token 的分布。
T-TA介紹
首先,我們知道 Transformer 的核心運算是 ,在 BERT 里邊 都是同一個,也就是 Self Attention。而在 MLM 中,我們既然要建模 ,那么第 i 個輸出肯定是不能包含第 i 個 token 的信息的。
為此,第一步要做出的改動是:去掉 里邊的 token 輸入,也就是說第一層的 Attention 的 不能包含 token 信息,只能包含位置向量。這是因為我們是通過 把 的信息聚合起來的,如果 本身就有 token 信息,那么就會造成信息泄漏了。
改了 之后,我們就可以防止來自 的信息泄漏,接下來我們就要防止來自 的信息泄漏了,這需要修改 Attention Mask,把對角線部分的 Attention(也就是自身的)給 Mask 掉,如圖所示:
▲ T-TA的Attention Mask模式
但是,這種防泄漏的 Attention Mask 只能維持一層!也就是說即便這樣做之后, 已經融入了第 i 個 token 的信息了,所以從第二層開始,如果你還是以第一層的輸出為 ,即便配合了上述 Attention Mask,也會出現信息泄漏了。
原論文的解決很粗暴,但貌似也只能這樣解決了:每一層 Attention 都共用輸入為 !所以,設 為 token 的 embedding 序列, 為對應的位置向量,那么 T-TA 與 BERT 的計算過程可以簡寫為:
當然殘差、FFN 等細節已經省略掉了,只保留了核心運算部分,預訓練階段 T-TA 的 Attention 是進行了對角線形式的 Attention Mask 的,如果是下游任務的微調,則可以把它去掉。
實驗結果
▲?原論文的實驗表格之一。可以看到T-TA在語義表達方面有它的獨特優勢。
基于上述設計,T-TA 它能一次性預測所有的 token,并且不需要額外的 符號,所以訓練效率高,并且實現了預訓練和微調之間的一致性(沒有 )。但是不難理解,T-TA 實則是對標準 Transformer 的一種簡化,所以理論上它的擬合能力是變弱了。
這樣一收一放之下,具體結果還有沒有提升呢?當然,論文的實驗結果是有的。原論文做了多個實驗,結果顯示 T-TA 這種設計在同樣的參數情況下基本都能媲美甚至超過標準的 MLM 訓練出來的模型。作者還很慷慨地開源了代碼,以便大家復現結果。
說到修改 Transformer 結構,大家可能聯想到大量的 GPU、TPU 在并行運算。但事實上,雖然作者沒有具體列出自己的實驗設備,但從論文可以看到設備陣容應該不算“豪華”。為此,作者只訓練了 3 層的 T-TA,并且按照同樣的模式復現了 3 層的 MLM 和 GPT(也就是單向語言模型),然后對比了效果。
沒錯,論文中所有 T-TA 的結果都只是 3 層的模型,而其中有些都超過了 Base 版本的 BERT。所以作者生動地給我們上了一課:沒有土豪的設備,也可以做修改 Transformer 的工作,也可以發ACL,關鍵是你有真正有效的 idea。
個人分析
最后,再來簡單談談 T-TA 為什么有效。讀者可能會質疑,既然作者只做了 3 層的實驗,那么如何保證在更多層的時候也能有效呢?那好,我們來從另外一個角度看這個模型。
從設計上看,對于 T-TA 來說,當輸入給定后, 在所有 Attention 層中的保持不變,變化的只有 ,所以讀者質疑它效果也不意外。
但是別忘了,前段時候 Google 才提出了個 Synthesizer(參考 Google 新作Synthesizer:我們還不夠了解自注意力),里邊探索了幾種 Attention 變種,其中一種簡稱為“R”的,相當于 固定為常數,結果居然也能 work 得不錯!要注意,“R”里邊的 是徹徹底底的常數,跟輸入都沒關系。
所以,既然 為常數效果都還可以,那么 為什么不能為常數呢?更何況 T-TA 的 動態依賴于輸入的,只是輸入確定后它才算是常數,因此理論上來講 T-TA 的擬合能力比 Synthesizer 的“R”模型要強,既然“R”都能好了,T-TA 能好應該也是不奇怪。
當然,還是期望后續會有更深的實驗結果出現。
參考文獻
[1] https://arxiv.org/abs/2005.07421
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的修改Transformer结构,设计一个更快更好的MLM模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 比亚迪海狮 07 EV 汽车 OTA 升
- 下一篇: 直播 | 彩云科技CEO袁行远:NLP与