中文 RoBERTa
一、基礎(chǔ)介紹
作者按照 RoBERTa 論文主要精神訓(xùn)練了這一模型渺氧,并進(jìn)行了多項(xiàng)改進(jìn)和調(diào)整:
- 數(shù)據(jù)生成方式和任務(wù)改進(jìn):取消下一個句子預(yù)測,并且數(shù)據(jù)連續(xù)從一個文檔中獲得 (見:Model Input Format and Next Sentence Prediction咧最,DOC-SENTENCES)慈鸠;
- 更大更多樣性的數(shù)據(jù):使用 30G 中文訓(xùn)練,包含 3 億個句子膏燃,100 億個字 (即 token)茂卦。由于新聞、社區(qū)討論组哩、多個百科等龙,保羅萬象,覆蓋數(shù)十萬個主題伶贰;
- 訓(xùn)練更久:總共訓(xùn)練了近 20 萬蛛砰,總共見過近 16 億個訓(xùn)練數(shù)據(jù) (instance); 在 Cloud TPU v3-256 上訓(xùn)練了 24 小時(shí)黍衙,相當(dāng)于在 TPU v3-8(128G 顯存) 上需要訓(xùn)練一個月泥畅;
- 更大批次:使用了超大(8k)的批次 batch size;
- 調(diào)整優(yōu)化器參數(shù)琅翻;
-
使用全詞 mask(whole word mask)位仁。
二浅妆、改進(jìn)
RoBERTa 模型更多的是基于 BERT 的一種改進(jìn)版本。是 BERT 在多個層面上的重大改進(jìn)障癌。
RoBERTa 在模型規(guī)模、算力和數(shù)據(jù)上辩尊,主要比 BERT 提升了以下幾點(diǎn):
- 更大的模型參數(shù)量(從 RoBERTa 論文提供的訓(xùn)練時(shí)間來看涛浙,模型使用 1024 塊 V 100 GPU訓(xùn)練了 1 天的時(shí)間)
- 更多的訓(xùn)練數(shù)據(jù)(包括:CC-NEWS 等在內(nèi)的 160GB 純文本)
此外如下所示,RoBERTa 還有很多訓(xùn)練方法上的改進(jìn)摄欲。
1. 動態(tài)掩碼
BERT 依賴隨機(jī)掩碼和預(yù)測 token轿亮。原版的 BERT 實(shí)現(xiàn)在數(shù)據(jù)預(yù)處理期間執(zhí)行一次掩碼,得到一個靜態(tài)掩碼胸墙。而 RoBERTa 使用了動態(tài)掩碼:每次向模型輸入一個序列時(shí)都會生成新的掩碼模式我注。這樣,在大量數(shù)據(jù)不斷輸入的過程中迟隅,模型會逐漸適應(yīng)不同的掩碼策略但骨,學(xué)習(xí)不同的語言表征。
2. 更大批次
RoBERTa 在訓(xùn)練過程中使用了更大的批數(shù)量智袭。研究人員嘗試過從 256 到 8000 不等的批數(shù)量奔缠。
3. 文本編碼
Byte-Pair Encoding(BPE)是字符級和詞級別表征的混合,支持處理自然語言語料庫中的眾多常見詞匯吼野。
原版的 BERT 實(shí)現(xiàn)使用字符級別的 BPE 詞匯校哎,大小為 30K,是在利用啟發(fā)式分詞規(guī)則對輸入進(jìn)行預(yù)處理之后學(xué)得的瞳步。Facebook 研究者沒有采用這種方式闷哆,而是考慮用更大的 byte 級別 BPE 詞匯表來訓(xùn)練 BERT,這一詞匯表包含 50K 的 subword 單元单起,且沒有對輸入作任何額外的預(yù)處理或分詞抱怔。
三、效果
雖然沒有中文預(yù)訓(xùn)練模型的效果比較嘀倒,但 RoBERTTa 的作者對比了 RoBERTA(large)野蝇、BERT(large)和 XLNET 在不同任務(wù)上的表現(xiàn)結(jié)果。
1括儒、內(nèi)容轉(zhuǎn)載:RoBERTa中文預(yù)訓(xùn)練模型绕沈,你離中文任務(wù)的「SOTA」只差個它
2、Roberta項(xiàng)目github地址:https://github.com/brightmart/roberta_zh
3帮寻、 模型下載地址:https://storage.googleapis.com/roberta_zh/roberta_model/roeberta_zh_L-24_H-768_A-12.zip