重回榜首!Facebook開源加強版BERT,全面超越XLNet
大資料文摘出品
作者:寧靜
剛剛被拉下神壇的BERT又一次稱霸了GLUE、SQuAD和RACE三個排行榜。
今年六月,谷歌釋出XLNet,指出並解決了BERT的缺點,在20多個指標上全面刷爆了BERT之前的成績,資料、算力相比BERT增加了很多,也在業內引起了激烈討論:到底該用BERT還是XLNet?
Facebook前幾天宣佈:如果訓練更久一點、資料量再大一點,BERT 還是能重新達到 GLUE 基準的第一名。
今天,Facebook開源了這個基於BERT開發的加強版預訓練模型RoBERTa,全稱"Robustly optimized BERT approach"——強力優化BERT方法,在GLUE、SQuAD和RACE三個排行榜上都取得了最優成績。
在今天的官方推文中,Facebook AI也直接明瞭地點出了這一方法的稱霸訣竅:更久的訓練時間、更多的資料、更強力調參。
Facebook也強調了RoBERTa誕生的意義:
調整BERT訓練程式可以顯著提高其在各種NLP任務上的表現,同時也表明了這種方法的競爭力。更廣泛來看,這項研究進一步證明了,監督訓練有可能達到或超過更傳統的監督方法的表現。RoBERTa是Facebook不斷致力於推動自我監督系統最先進技術的一部分,該系統的開發可以減少對時間和資源密集型資料標籤的依賴。
這項研究由Facebook AI和華盛頓大學的研究團隊共同完成,並公開了論文和程式碼,先附上鍊接:
論文連結:
https://arxiv.org/pdf/1907.11692.pdf
Github程式碼連結:
https://github.com/pytorch/fairseq/tree/master/examples/roberta
亮點:RoBERTa基於BERT的改進
亮點:RoBERTa基於BERT的改進
RoBERTa基於BERT的改進在四個方面展開,包括:
更長時間地訓練模型,批量更大,資料更多;
刪除下一句預測的目標;
較長時間的訓練;
動態改變應用於訓練資料的masking模式。
論文的貢獻在於:
提出了一套重要的BERT設計選擇和訓練策略,並引入了能夠提高下游任務成績的備選方案;
文中使用一種新的資料集CCNEWS,並確認使用更多資料進行預訓練,進一步改善了下游任務的效能;
預訓練的masked language model相比發表的其他方法都更具有競爭力,已經開源了在PyTorch中模型訓練和引數微調的程式碼。
模型內部架構
模型內部架構
之前的BERT採用Transformer 結構,改經後的RoBERTa使用的是L層的transformer 架構,每個block 都使用一個self-attention head和隱藏維度H。
在講解模型內部原理之前先簡單介紹NLP領域中常用的Transformer 結構:
Transformer的主體結構圖
模型分為編碼器和解碼器兩個部分,編碼器和解碼器的輸入就是利用學習好的embeddings將tokens(一般應該是詞或者字元)轉化為d維向量。對解碼器來說,利用線性變換以及softmax函式將解碼的輸出轉化為一個預測下一個token的概率。
Transformer用於機器翻譯任務,表現極好,可並行化,並且大大減少訓練時間。
模型預訓練
模型預訓練
在預訓練模型的過程中,需要完成兩個指標:Masked Language Model (MLM) 和Next Sentence Prediction (NSP)
Masked Language Model (MLM) :MLM的目標是masked tokens序列中的交叉熵,選擇輸入中的隨機token樣本,並替換為特殊的token [MASK],BERT模型一致選擇輸入token中的15%作為可能的替換,在所選的token(selected tokens)中,80%的selected tokens替換為token [MASK],10%的selected tokens保持不變,另外10%替換為隨機選擇的詞彙表token。
Next Sentence Prediction (NSP)下一句預測:預測兩個語段之間的二元分類損失,判斷語句有沒有前後的依從關係,其中正樣本來自於文字語料庫中提取連續的句子,負樣本來自於不同文件的段進行配對,正負樣本相同的概率進行取樣。
模型引數優化
模型引數優化
BERT用以下引數:β1= 0.9,β2= 0.999,ǫ = 1e-6,L2權重為0.01,伴隨著學習率的加快,在前10,000個steps中達到峰值1e-4,然後線性衰減;BERT訓練時在所有層和attention結構中採用0.1的 dropout ,使用GELU啟用函式,模型預訓練有S = 1,000,000次更新,小批量包含B = 256個sequences和T = 512的tokens序列。
實驗結果
實驗結果
當控制訓練資料時,我們觀察到RoBERTa比BERTLARGE結果有了很大的改進,當資料集從16GB增加到160GB,訓練次數從100K到300K再到500K的過程中,模型準確度也逐漸提升。
RoBERTa在開發和測試中使用了提供的SQuAD資料,+表示依賴於額外外部訓練資料的結果,從下面兩個表中,可以看到RoBERTa相比XLNet有精度上的提升,表中加粗的數字。
在RACE測試集上的結果顯示,RoBERTa的Accyracy相比BERT(large)提高了10個百分點,相比XLNet(large)提高了2個百分點。
BERT與XLNet之爭
BERT與XLNet之爭
自誕生起,BERT在江湖中地地位一直頗動盪。
去年10月,谷歌放出了稱霸GLUE榜單的BERT模型,當時BERT最大的創新就是提出了Masked Language Model作為預訓練任務,解決了GPT不能雙向編碼、ELMo不能深度雙向編碼的問題。之後從那天起,很多工都不再需要複雜的網路結構,也不需要大量的標註資料,業界學術界都基於BERT做了很多事情。
2019年6月19日,谷歌又放出了一個模型XLNet,找到並解決了BERT的缺點,在20多個指標上全面刷爆了BERT之前的成績,資料、算力相比BERT增加了很多。
語言模型預訓練導致了顯著的效能增益,但是在不同方法之間仔細仍然具有挑戰性,計算的訓練成本是昂貴的,同樣,超引數選擇對最終結果有顯著的影響。
但是,XLNet的王座終沒做穩,在充分測量許多關鍵的超引數和訓練資料大小的影響,研究人員發現,Bert的訓練明顯不足,改進後的Bert模型可以達到或超過在之後釋出的每一個模型的效能。
本月初,XLNet 團隊嘗試以一種在相同環境和配置下訓練兩個模型的方式,對比了 XLNet 和 BERT 的效果,回應業內的討論。
研究者嘗試讓每一個超引數都採用相同的值,使用相同的訓練資料。
最終結果?
實驗中有一些有趣的觀察結果:
使用幾乎相同的訓練配方訓練相同的資料,XLNet在所有資料集上以相當大的優勢超越BERT。
在11個基準測試中的8箇中,採用10倍以上資料的收益,小於從BERT切換到XLNet的效能增益。
在一些基準測試中,例如CoLA和MRPC,在更多資料上訓練的模型效能低於在較少資料上訓練的模型。
雖然這一研究是XLNet團隊釋出的,但是對於兩者的長期爭論仍然有很大的價值。感興趣的讀者可以檢視原文?
https://medium.com/@xlnet.team/a-fair-comparison-study-of-xlnet-and-bert-with-large-models-5a4257f59dc0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562039/viewspace-2652272/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 百度正式釋出ERNIE 2.0,16項中英文任務超越BERT、XLNet,重新整理SOTA
- XLNet 第一作者楊植麟:為什麼預處理模型XLNet比BERT、RoBERTa更加優越模型
- Facebook增強版LASER開源:零樣本遷移學習,支援93種語言遷移學習
- 中文任務全面超越 BERT:百度正式釋出NLP預訓練模型ERNIE模型
- XLNet團隊:只要公平對比,BERT毫無還手之力
- 簡單題 加強版
- 谷歌終於開源BERT程式碼:3 億引數量,機器之心全面解讀谷歌
- 2019年11月成功出海的中國手遊收入TOP30:《PUBG MOBILE》重回榜首,加碼開拓日本市
- 我的BERT!改改字典,讓BERT安全提速不掉分(已開源)
- 全面超越DPO:陳丹琦團隊提出簡單偏好最佳化SimPO,還煉出最強8B開源模型模型
- 十年旗艦全面超越Pro,一加12定檔12月5日
- 自然資源領域資料安全管理新規出臺:全面加強資料保護
- 三國志11威力加強版 中文版
- 全面超越Appium,使用Airtest超快速開發App爬蟲APPAI爬蟲
- 2018年最強自然語言模型 Google BERT 資源彙總模型Go
- 10月勒索病毒組團大戰,“頂流家族”GlobeImposter重回榜首
- 百度開源自然語言理解模型 ERNIE 2.0,16 個 NLP 任務中碾壓 BERT 和 XLNet!模型
- 現場Live震撼!OmAgent框架強勢開源!行業應用已全面開花框架行業
- ACL 2019 | 基於知識增強的語言表示模型,多項NLP任務表現超越BERT模型
- [需求建議]加強版評論外掛
- IOI2022 郵局 加強版 題解
- 三國志11遊戲威力加強版遊戲
- 推理最強也最快,谷歌釋出Gemini 2.0 Flash Thinking,全面超越o1-preview谷歌ThinkingView
- 國務院:全面加強網路安全和資料安全保護
- JavaWEB開發18——基礎加強JavaWeb
- dr5.0加強版漢化版 附安裝使用教程
- 在2021年, Python是否會全面超越 Java?PythonJava
- 7-3 說反話-加強版 (20分)
- Facebook開源Hermes:輕量JavaScript優化引擎JavaScript優化
- 開源無疆|京東雲參加2019開源年會,助力開源
- 底層技術掌控不足、開源文化氛圍不濃、政策支援有待加強
- MyBatis加強(4)~mybatis 外掛開發MyBatis
- P5094 [USACO04OPEN] MooFest G 加強版
- P6136 【模板】普通平衡樹(資料加強版)
- Facebook開源Hermes:輕量JavaScript最佳化引擎JavaScript
- TIOBE 6 月榜單中C++ 首次超越 C,僅次榜首PythonC++Python
- 最強最全面的Hive SQL開發指南,超四萬字全面解析HiveSQL
- NLP生成任務超越BERT、GPT!微軟提出通用預訓練模型MASSGPT微軟模型