BERT再次制霸GLUE排行榜!今天,F(xiàn)acebook公開一個(gè)“強(qiáng)力優(yōu)化”版的基于BERT預(yù)訓(xùn)練模型,名為RoBERTa,在GLUE、SQuAD和RACE三個(gè)排行榜上全部實(shí)現(xiàn)了最先進(jìn)的結(jié)果。距被XLNet超越?jīng)]過多久,BERT再次回到了最強(qiáng)NLP預(yù)訓(xùn)練模型的王座。
BERT王者歸來了!
前不久,CMU和谷歌大腦提出的XLNet預(yù)訓(xùn)練模型在 20 項(xiàng)任務(wù)上全面碾壓曾有“最強(qiáng)NLP預(yù)訓(xùn)練模型”之稱的BERT,可謂風(fēng)光無限,吸足了眼球。
不過,XLNet的王座沒坐太久。就在今天,F(xiàn)acebook公布一個(gè)基于BERT開發(fā)的加強(qiáng)版預(yù)訓(xùn)練模型RoBERTa——在GLUE、SQuAD和RACE三個(gè)排行榜上全部實(shí)現(xiàn)了最先進(jìn)的結(jié)果!
GLUE最新排行榜
RACE排行榜
RoBERTa的名稱來"RobustlyoptimizedBERTapproach",強(qiáng)力優(yōu)化的BERT方法,真是相當(dāng)簡單粗暴呢~
這項(xiàng)研究由Facebook AI和華盛頓大學(xué)的研究團(tuán)隊(duì)共同完成,而且第一作者是華人研究員Yinhan Liu,此外還有Jingfei Du和Danqi Chen。
作者之一的Veselin Stoyanov在推特上公布了該結(jié)果
Facebook AI負(fù)責(zé)人Yann LeCun推薦:
要說RoBERTa是如何制霸3個(gè)benchmark排行榜的,簡言之,用更多的數(shù)據(jù),采取更精妙的訓(xùn)練技巧,訓(xùn)練更久一些。
作者在論文中寫道:“我們對BERT預(yù)訓(xùn)練(Devlin et al. , 2019)進(jìn)行了一項(xiàng)復(fù)制研究,仔細(xì)衡量了許多關(guān)鍵超參數(shù)和訓(xùn)練數(shù)據(jù)大小對結(jié)果的影響。我們發(fā)現(xiàn)BERT的訓(xùn)練明顯不足,并且可以匹配或超過之后發(fā)布的每個(gè)模型的性能。我們最好的模型在GLUE,RACE 和 SQuAD上都實(shí)現(xiàn)了最先進(jìn)的結(jié)果。”
作者表示,超參數(shù)的選擇對最終結(jié)果的影響很大。
他們發(fā)布了模型和代碼:https://github.com/pytorch/fairseq
接下來,新智元帶來對這篇論文的詳細(xì)解讀:
只要訓(xùn)練得好,BERT可以超過所有后續(xù)方法的性能
自我訓(xùn)練的方法,比如ELMo, GPT,BERT,XLM 以及XLNet等,帶來了顯著的性能提升,但要想確定這些方法的哪些方面對性能提升貢獻(xiàn)最多是相當(dāng)有挑戰(zhàn)性的。由于訓(xùn)練在計(jì)算上成本很高,限制了可執(zhí)行的調(diào)優(yōu)量,而且常常使用不同大小的私有訓(xùn)練數(shù)據(jù)進(jìn)行調(diào)優(yōu),限制了對建模進(jìn)展效果的測量。
我們對BERT預(yù)訓(xùn)練模型(Devlin et al., 2019)進(jìn)行了一項(xiàng)復(fù)制研究,包括仔細(xì)評估了超參數(shù)調(diào)優(yōu)效果和訓(xùn)練集大小的影響。我們發(fā)現(xiàn)BERT明顯訓(xùn)練不足,并提出了一個(gè)改進(jìn)的訓(xùn)練BERT模型的方法,我們稱之為RoBERTa,它可以達(dá)到或超過所有BERT后續(xù)方法(post-BERT)的性能。
我們做的修改很簡單,包括:
(1)對模型進(jìn)行更長時(shí)間、更大批量、更多數(shù)據(jù)的訓(xùn)練;
(2)刪除下一句預(yù)測的目標(biāo);
(3)對較長序列進(jìn)行訓(xùn)練;
(4)動(dòng)態(tài)改變應(yīng)用于訓(xùn)練數(shù)據(jù)的masking模式。
我們還收集了一個(gè)與其他私有數(shù)據(jù)集大小相當(dāng)?shù)男聰?shù)據(jù)集(CC-NEWS),以便更好地控制訓(xùn)練集大小效果。
在對訓(xùn)練數(shù)據(jù)進(jìn)行控制時(shí),我們的升級版訓(xùn)練程序進(jìn)一步提升了BERT在GLUE和SQuAD排行榜上公布的結(jié)果。
經(jīng)過長時(shí)間的訓(xùn)練,我們的模型在公共 GLUE排行榜上的得分為88.5分,與Yang等人(2019)報(bào)告的88.4分相當(dāng)。我們的模型在GLUE 9個(gè)任務(wù)的其中4個(gè)上達(dá)到了state-of-the-art的水平,分別是:MNLI, QNLI, RTE 和 STS-B。此外,我們還在SQuAD 和 RACE 排行榜上達(dá)到了最高分。
總結(jié)而言,本文的貢獻(xiàn)有:
(1)我們提出了一套重要的BERT設(shè)計(jì)選擇和訓(xùn)練策略,并引入了能夠提高下游任務(wù)成績的備選方案;
(2)我們使用一個(gè)新的數(shù)據(jù)集CCNEWS,并確認(rèn)使用更多的數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練可以進(jìn)一步提高下游任務(wù)的性能;
(3)我們的訓(xùn)練改進(jìn)表明,在正確的設(shè)計(jì)選擇下,預(yù)訓(xùn)練的masked language model與其他所有最近發(fā)表的方法相比都更具有競爭力。我們發(fā)布了在PyTorch中實(shí)現(xiàn)的模型、預(yù)訓(xùn)練和微調(diào)代碼。
模型架構(gòu):Transformer
BERT使用了現(xiàn)在已經(jīng)十分流行的transformer架構(gòu),這里我們不會(huì)詳細(xì)討論它。我們使用的是L層的transformer 架構(gòu),每個(gè)block 都使用一個(gè)self-attention head和隱藏維度H。
在訓(xùn)練前,BERT使用了兩個(gè)目標(biāo):masked language modeling和下一句預(yù)測。
Masked Language Mode(MLM)選擇輸入序列中的隨機(jī)token樣本,并用特殊的token[MASK]替換。MLM的目標(biāo)是預(yù)測遮擋token時(shí)的交叉熵?fù)p失。BERT一致選擇15%的輸入token作為可能的替換。在所選的token中,80%替換為[MASK], 10%保持不變,10%替換為隨機(jī)選擇的詞匯表token。
在最初的實(shí)現(xiàn)中,隨機(jī)遮擋和替換在開始時(shí)執(zhí)行一次,并保存到訓(xùn)練期間,但是在實(shí)際操作中,由于數(shù)據(jù)是重復(fù)的,所以每個(gè)訓(xùn)練語句的mask并不總是相同的。
下一句預(yù)測(NSP)是一種二分類損失,用于預(yù)測兩個(gè)片段在原文中是否相互跟隨。通過從文本語料庫中提取連續(xù)的句子來創(chuàng)建積極的例子。反例是通過對來自不同文檔的段進(jìn)行配對來創(chuàng)建的。正、負(fù)樣本的抽樣概率相等。
NSP的目標(biāo)是為了提高下游任務(wù)的性能,比如自然語言推理,這需要對句子對之間的關(guān)系進(jìn)行推理。
實(shí)驗(yàn)設(shè)計(jì)
在本節(jié)中,我們描述了用于BERT復(fù)制研究的實(shí)驗(yàn)設(shè)置。
我們在FAIRSEQ中重新實(shí)現(xiàn)了BERT。我們主要遵循第2節(jié)中給出的原始BERT優(yōu)化超參數(shù),除了峰值學(xué)習(xí)率和warmup步驟的數(shù)量,這兩個(gè)參數(shù)分別針對每個(gè)設(shè)置進(jìn)行調(diào)優(yōu)。
此外,我們還發(fā)現(xiàn)訓(xùn)練對Adam epsilon項(xiàng)非常敏感,在某些情況下,在對其進(jìn)行調(diào)優(yōu)后,我們獲得了更好的性能或更好的穩(wěn)定性。同樣地,我們發(fā)現(xiàn)設(shè)置β2 = 0.98時(shí)可以提高大的batch size訓(xùn)練時(shí)的穩(wěn)定性。
我們在DGX-1機(jī)器上進(jìn)行混合精度浮點(diǎn)運(yùn)算的訓(xùn)練,每臺(tái)機(jī)器上有8個(gè)32GB Nvidia V100 GPU,通過Infiniband互連。
哪些選擇對于成功地訓(xùn)練BERT模型至關(guān)重要
本節(jié)探討和量化哪些選擇對于成功地訓(xùn)練BERT模型至關(guān)重要。我們保持模型架構(gòu)不變。具體地說,我們首先以與BERTBASE相同的配置(L = 12, H = 768, A = 12, 110M params)開始訓(xùn)練BERT模型。
靜態(tài)masking vs. 動(dòng)態(tài)masking
正如在前文討論的,BERT依賴于隨機(jī)遮擋和預(yù)測token。原始的BERT實(shí)現(xiàn)在數(shù)據(jù)預(yù)處理期間執(zhí)行一次遮擋,從而產(chǎn)生一個(gè)靜態(tài)遮擋(static mask)。為了避免在每個(gè)epoch中對每個(gè)訓(xùn)練實(shí)例使用相同的mask,我們將訓(xùn)練數(shù)據(jù)重復(fù)10次,以便在40個(gè)訓(xùn)練epoch中以10種不同的方式對每個(gè)序列進(jìn)行遮擋。因此,在訓(xùn)練過程中,每個(gè)訓(xùn)練序列都使用相同的mask四次。
我們將此策略與動(dòng)態(tài)遮擋(dynamic masking)進(jìn)行比較,在dynamic masking)中,每次向模型提供序列時(shí)都會(huì)生成masking模式。當(dāng)對更多步驟或更大的數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練時(shí),這一點(diǎn)變得至關(guān)重要。
表1:SEBERTBASE的靜態(tài)和動(dòng)態(tài)masking的比較。我們報(bào)告了SQuAD 的F1分?jǐn)?shù)和MNLI-m 以及 SST-2的準(zhǔn)確性結(jié)果。報(bào)告的結(jié)果是超過5個(gè)隨機(jī)初始化的中值。參考結(jié)果來自Yang et al. (2019).
結(jié)果表1比較了Devlin等人(2019)發(fā)布的BERTBASE結(jié)果與我們使用靜態(tài)或動(dòng)態(tài)masking重新實(shí)現(xiàn)的結(jié)果。我們發(fā)現(xiàn),使用靜態(tài)masking的重新實(shí)現(xiàn)的性能與原始的BERT模型相似,而動(dòng)態(tài)masking可以與靜態(tài)masking的結(jié)果相當(dāng),甚至略好于靜態(tài)masking。
考慮到這些結(jié)果和動(dòng)態(tài)masking的額外效率優(yōu)勢,我們在其余的實(shí)驗(yàn)中使用動(dòng)態(tài)masking。
模型輸入格式和下一句預(yù)測
在原始的BERT預(yù)訓(xùn)練過程中,模型觀察到兩個(gè)連接的文檔片段,它們要么是從相同的文檔連續(xù)采樣(p = 0.5),要么是從不同的文檔采樣。除了masked language modeling 目標(biāo)外,該模型還通過輔助下一句預(yù)測(NSP)損失訓(xùn)練模型來預(yù)測觀察到的文檔片段是來自相同還是不同的文檔。
NSP損失被認(rèn)為是訓(xùn)練原始BERT模型的一個(gè)重要因素。Devlin等人(2019)觀察到,去除NSP會(huì)損害性能,QNLI、MNLI和SQuAD的性能都顯著下降。然而,最近的一些工作對NSP損失的必要性提出了質(zhì)疑。
為了更好地理解這種差異,我們比較了幾種替代訓(xùn)練格式:
表2:在BOOKCORPUS和WIKIPEDIA上預(yù)訓(xùn)練的基本模型的開發(fā)集結(jié)果。
表2顯示了四種不同設(shè)置的結(jié)果。我們發(fā)現(xiàn),使用單獨(dú)的句子會(huì)影響下游任務(wù)的性能,我們假設(shè)這是因?yàn)樵撃P蜔o法學(xué)習(xí)長期依賴關(guān)系。
接下來,我們將無NSP損失的訓(xùn)練與來自單個(gè)文檔(doc - sentence)的文本塊的訓(xùn)練進(jìn)行比較。我們發(fā)現(xiàn),與Devlin等人(2019)相比,該設(shè)置的性能優(yōu)于最初發(fā)布的BERTBASE結(jié)果,消除NSP損失達(dá)到或略微提高了下游任務(wù)性能。
最后,我們發(fā)現(xiàn)將序列限制為來自單個(gè)文檔(doc - sentence)的性能略好于打包來自多個(gè)文檔(全句)的序列。但是,由于doc - sentence格式會(huì)導(dǎo)致不同的batch sizes,所以我們在其余的實(shí)驗(yàn)中使用完整的句子,以便與相關(guān)工作進(jìn)行比較。
large batches訓(xùn)練
以往的神經(jīng)機(jī)器翻譯研究表明,當(dāng)學(xué)習(xí)率適當(dāng)提高時(shí),非常大的mini-batches的訓(xùn)練既可以提高優(yōu)化速度,又可以提高最終任務(wù)性能。最近的研究表明,BERT也可以接受 large batch訓(xùn)練。
Devlin等人(2019)最初訓(xùn)練BERTBASE只有100萬步, batch size為256個(gè)序列。
在表3中,我們比較了BERTBASE在增大 batch size時(shí)的復(fù)雜性和最終任務(wù)性能,控制了通過訓(xùn)練數(shù)據(jù)的次數(shù)。我們觀察到,large batches訓(xùn)練提高了masked language modeling 目標(biāo)的困惑度,以及最終任務(wù)的準(zhǔn)確性。通過分布式數(shù)據(jù)并行訓(xùn)練,large batches也更容易并行化,在后續(xù)實(shí)驗(yàn)中,我們使用8K序列的batches進(jìn)行并行訓(xùn)練。
表3:不同批大小上訓(xùn)練的基本模型的未完成訓(xùn)練數(shù)據(jù)(ppl)和開發(fā)集準(zhǔn)確性的困惑度。
RoBERTa:制霸三大基準(zhǔn)數(shù)據(jù)集
在上一節(jié)中,我們建議修改BERT預(yù)訓(xùn)練程序,以改善最終任務(wù)的性能。我們現(xiàn)在匯總這些改進(jìn)并評估它們的綜合影響。我們將這種配置稱為RoBERTa,即“RobustlyoptimizedBERTapproach”,強(qiáng)力優(yōu)化的BERT方法。
具體來說,RoBERTa采用了dynamic masking、沒有NSP損失的完整句子、large mini-batches和更大的字節(jié)級BPE的訓(xùn)練。
此外,我們還研究了以前工作中未被強(qiáng)調(diào)的另外兩個(gè)重要因素:(1)用于預(yù)訓(xùn)練的數(shù)據(jù),以及(2)通過數(shù)據(jù)的訓(xùn)練次數(shù)。例如,最近提出的XLNet架構(gòu)使用的數(shù)據(jù)比原始BERT多近10倍。它還以8倍大的批量進(jìn)行訓(xùn)練,以獲得一半的優(yōu)化步驟,因此在預(yù)訓(xùn)練中看到的序列數(shù)是BERT的4倍。
為了將這些因素與其他建模選擇(例如,預(yù)訓(xùn)練目標(biāo))的重要性區(qū)分開來,我們首先按照BertLarge架構(gòu)(L=24,H=1024,A=16355m)對Roberta進(jìn)行訓(xùn)練。正如在Devlin et al. 中使用的一樣,我們用BOOKCORPUS和WIKIPEDIA數(shù)據(jù)集進(jìn)行了100K步預(yù)訓(xùn)練。我們使用1024V100GPU對我們的模型進(jìn)行了大約一天的預(yù)訓(xùn)練。
結(jié)果如表4所示,當(dāng)控制訓(xùn)練數(shù)據(jù)時(shí),我們觀察到RoBERTa比最初報(bào)告的BERTLARGE結(jié)果有了很大的改進(jìn),再次證實(shí)我們在第4節(jié)中探討的設(shè)計(jì)選擇的重要性。
表4:當(dāng)我們預(yù)先訓(xùn)練了更多數(shù)據(jù)(16GB→160GB文本)和預(yù)訓(xùn)練更久(100K→300K→500K步),RoBERTa的開發(fā)集(Development set)結(jié)果。每行累積上述行的改進(jìn)。RoBERTa匹配BERTLARGE的架構(gòu)和訓(xùn)練目標(biāo)。BERTLARGE和XLNetLARGE的結(jié)果分別來自Devlin et al.和Yang et al. 附錄中有所有GLUE任務(wù)的完整結(jié)果。
接下來,我們將此數(shù)據(jù)與第3.2節(jié)中描述的三個(gè)附加數(shù)據(jù)集相結(jié)合。我們用與之前相同數(shù)量的訓(xùn)練步(100K)對RoBERTa進(jìn)行綜合數(shù)據(jù)訓(xùn)練。我們總共預(yù)處理了超過160GB的文本。我們觀察到所有下游任務(wù)的性能進(jìn)一步提高,驗(yàn)證了數(shù)據(jù)大小和多樣性在預(yù)訓(xùn)練中的重要性。
最后,我們預(yù)先訓(xùn)練RoBERTa的時(shí)間要長得多,將預(yù)訓(xùn)練步數(shù)從100K增加到300K,再進(jìn)一步增加到500K。我們再次觀察到下游任務(wù)性能的顯著提升,300K和500K步模型在大多數(shù)任務(wù)中的表現(xiàn)優(yōu)于XLNetLARGE。我們注意到,即使是我們訓(xùn)練時(shí)間最長的模型似乎也不會(huì)超出我們的數(shù)據(jù)范圍,而且可能會(huì)從額外的訓(xùn)練中受益。
在本文的其余部分,我們根據(jù)三個(gè)不同的基準(zhǔn)評估我們最好的RoBERTa模型:GLUE,SQuaD和RACE。具體來說,我們認(rèn)為RoBERTa在第3.2節(jié)中介紹的所有五個(gè)數(shù)據(jù)集上都進(jìn)行了500K步的訓(xùn)練。
表5:GLUE的結(jié)果。所有結(jié)果均基于24層架構(gòu)。BERTLARGE和XLNetLARGE結(jié)果分別來自Devlin et al.和Yang et al. 開發(fā)集上的RoBERTa結(jié)果是五次運(yùn)行的中間數(shù)。測試集上的RoBERTa結(jié)果是單任務(wù)模型的集合。對于RTE,STS和MRPC,我們從MNLI模型而不是基線預(yù)訓(xùn)練模型開始微調(diào)。平均值從GLUE leaderboard獲得。
表6:SQuAD的結(jié)果。+表示依賴于額外外部訓(xùn)練數(shù)據(jù)的結(jié)果。RoBERTa在開發(fā)和測試中僅使用了提供的SQuAD數(shù)據(jù)。BERTLARGE和XLNetLARGE結(jié)果分別來自Devlin et al.和Yang et al.
表7:RACE測試集的結(jié)果。BERTLARGE和XLNetLARGE的結(jié)果來自Yang et al.
-
Facebook
+關(guān)注
關(guān)注
3文章
1432瀏覽量
56717 -
模型
+關(guān)注
關(guān)注
1文章
3519瀏覽量
50406
原文標(biāo)題:BERT王者歸來!Facebook推出RoBERTa新模型,碾壓XLNet 制霸三大排行榜
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
廣汽榮登2025年第一季度中國汽車質(zhì)量排行榜單
天合光能榮登全球鈣鈦礦太陽能電池專利排行榜第一
墨芯榮登2025中國IC設(shè)計(jì)Fabless100排行榜之TOP10 AI芯片公司
東風(fēng)Honda汽車質(zhì)量再次斬獲佳績
博泰車聯(lián)網(wǎng)榮登“2024年度中國超級獨(dú)角獸排行榜”TOP50
博泰車聯(lián)網(wǎng)榮登2024年度中國超級獨(dú)角獸排行榜
京東方位列2024 IFI專利授權(quán)排行榜全球第12位
安全光柵十大品牌排行榜最新2025年

潤和軟件榮登2024智慧金融企業(yè)排行榜單
內(nèi)置誤碼率測試儀(BERT)和采樣示波器一體化測試儀器安立MP2110A

調(diào)用云數(shù)據(jù)庫更新排行榜單
2024年激光位移傳感器品牌排行榜前十最新名單

評論