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