BERT:我訓練再久一點、資料量再大一點,就能重返SOTA

机器之心發表於2019-07-19
XLNet 冠軍寶座還沒坐熱,劇情又一次發生反轉。

上個月,XLNet 在 20 項任務上全面超越了 BERT,創造了 NLP 預訓練模型新記錄,一時風光無兩。但現在,XLNet 剛屠榜一個月,劇情再次發生反轉:Facebook 的研究人員表示,如果訓練得更久一點、資料再大一點,BERT 就能重返 SOTA。

他們將改進版的 BERT 命名為 RoBERTa,目前已登上 GLUE 排行榜榜首。

BERT:我訓練再久一點、資料量再大一點,就能重返SOTA

Facebook AI 說:「RoBERTa 的全名為 Robustly Optimized BERT pretraining Approach,我們採用了 BERT-Large,並透過更多的資料與更長的訓練來提升預訓練過程,最終的結果透過模型整合獲得。」

我們算下來,XLNet 用了 126GB 的純文字,TPU 成本要花 6.14 萬美元。如果 RoBERTa 訓練資源還要多,那得有多少?

從 BERT 到 XLNet

2018 年,谷歌釋出了基於雙向 Transformer 的大規模預訓練語言模型 BERT,重新整理了 11 項 NLP 任務的最優效能記錄,為 NLP 領域帶來了極大的驚喜。很快,BERT 就在圈內普及開來,也陸續出現了很多與它相關的新工作。

從 GLUE 基準排行榜上來看,目前 Bert 模型已經排到了第 12 位,但如果仔細觀察榜單就可以發現,排在前面的很多模型都是以 BERT 為基礎進行的改進,如排在第 8 位的 SemBERT、第 9 位的 BERT+BAM、第 11 位的 BERT on STILTs 等。

但也有研究者另闢蹊徑,試圖用其他方法構建可以超越 BERT 的預訓練模型,如上個月屠榜的 XLNet。XLNet 由卡耐基梅隆大學與谷歌大腦的研究者提出,在 SQuAD、GLUE、RACE 等 20 個任務上全面超越了 BERT,並在 18 個任務上取得了當前最佳效果(state-of-the-art),包括機器問答、自然語言推斷、情感分析和文件排序。

XLNet 是一種泛化的自迴歸預訓練模型。研究者表示,該模型克服了 BERT 存在的一些缺點:1)透過排列語言模型,解除 BERT 對 Mask 的獨立性假設;2)在預訓練中不使用 Mask,解決下游 NLP 任務沒有 Mask 標籤這一問題。這兩大改進,就令 XLNet 相比 BERT 更適合做預訓練語言模型。

研究者在 XLNet 中表示,如果 XLNet-Base 的引數量與資料量都與 BERT-Base 相同,那麼 XLNet 的效果還是要好一些的。這也就說明 XLNet 本身對任務和架構的改進還是非常有優勢的。

資料與算力才是 GLUE 基準的王道

幾小時前,Facebook AI 發推特表示只要資料足夠大、算力足夠多,那麼 BERT 還有很大的提升空間。甚至對比改進了任務和結構的 XLNet,RoBERTa 在 6 項 NLP 任務中都有更多的提升。

BERT:我訓練再久一點、資料量再大一點,就能重返SOTA

首先對於資料,XLNet 除了採用原版 BERT 使用的 BooksCorpus、Wikipedia 兩大標準資料集(兩個共 13GB),它還額外使用了 Giga5、ClueWeb 2012-B、Common Crawl 三大文字資料集(三個共 113GB),本身資料量就已經極其龐大了。那麼如果 RoBERTa 要超過 XLNet,那個資料量得多大啊。

其次對於計算力,XLNet 一作楊植麟對機器之心表示,他們使用的是谷歌內部的 TPU 算力,因此對於費用並沒有太大的感受。但是按照 XLNet 大模型在 128 個 Cloud TPU v3 下訓練 2 天半來算,這基本已經是學術研究機構無法承擔的成本。也就 Facebook 這種科技巨頭能拿得出「更大」的算力。

最後,這裡之所以說是 BERT 重奪 SOTA 結果,是因為 Facebook AI 表示他們採用了 BERT-Large 的原實現。雖然正式的 Paper 或部落格還沒出來,但我們知道它的主體就是 BERT,只不過可能加了某些修正以更魯棒地訓練。

這樣看來,不論是前一段時間有大幅度提升的 XLNet,還是後來趕上的 RoBERTa,它們在資料量和計算力上都有極大地提升。也許在兩者的加持下,GLUE 基準才不停地更新。

相關文章