中文預(yù)訓(xùn)練BERT-wwm(Pre-Trained Chinese BERT with Whole Word Masking)
在自然語言處理領(lǐng)域中寻歧,預(yù)訓(xùn)練模型(Pre-trained Models)已成為非常重要的基礎(chǔ)技術(shù)擂错。
為了進(jìn)一步促進(jìn)中文信息處理的研究發(fā)展峻仇,我們發(fā)布了基于全詞遮罩(Whole Word Masking)技術(shù)的中文預(yù)訓(xùn)練模型BERT-wwm,以及與此技術(shù)密切相關(guān)的模型:BERT-wwm-ext帽芽,RoBERTa-wwm-ext,RoBERTa-wwm-ext-large翔冀。
更多細(xì)節(jié)請參考我們的技術(shù)報告:https://arxiv.org/abs/1906.08101
[圖片上傳失敗...(image-21c669-1583721256447)]
本項目基于谷歌官方的BERT:https://github.com/google-research/bert
新聞
2020/2/26 哈工大訊飛聯(lián)合實驗室發(fā)布知識蒸餾工具TextBrewer
2020/1/20 祝大家鼠年大吉导街,本次發(fā)布了RBT3、RBTL3(3層RoBERTa-wwm-ext-base/large)纤子,查看小參數(shù)量模型
2019/12/19 本目錄發(fā)布的模型已接入Huggingface-Transformers搬瑰,查看快速加載
2019/10/14 發(fā)布蘿卜塔RoBERTa-wwm-ext-large模型款票,查看中文模型下載
2019/9/10 發(fā)布蘿卜塔RoBERTa-wwm-ext模型,查看中文模型下載
2019/7/30 提供了在更大通用語料(5.4B詞數(shù))上訓(xùn)練的中文BERT-wwm-ext
模型泽论,查看中文模型下載
2019/6/20 初始版本艾少,模型已可通過谷歌下載,國內(nèi)云盤也已上傳完畢翼悴,查看中文模型下載
內(nèi)容導(dǎo)引
章節(jié) | 描述 |
---|---|
簡介 | 介紹BERT-wwm基本原理 |
中文模型下載 | 提供了BERT-wwm的下載地址 |
模型對比 | 提供了本目錄中模型的參數(shù)對比 |
中文基線系統(tǒng)效果 | 列舉了部分中文基線系統(tǒng)效果 |
new 小參數(shù)量模型 | 列舉了小參數(shù)量模型(3層Transformer)的效果 |
使用建議 | 提供了若干使用中文預(yù)訓(xùn)練模型的建議 |
英文模型下載 | 谷歌官方的英文BERT-wwm下載地址 |
FAQ | 常見問題答疑 |
引用 | 本目錄的技術(shù)報告 |
簡介
Whole Word Masking (wwm)缚够,暫翻譯為全詞Mask
或整詞Mask
,是谷歌在2019年5月31日發(fā)布的一項BERT的升級版本鹦赎,主要更改了原預(yù)訓(xùn)練階段的訓(xùn)練樣本生成策略谍椅。
簡單來說,原有基于WordPiece的分詞方式會把一個完整的詞切分成若干個子詞古话,在生成訓(xùn)練樣本時雏吭,這些被分開的子詞會隨機(jī)被mask。
在全詞Mask
中煞额,如果一個完整的詞的部分WordPiece子詞被mask思恐,則同屬該詞的其他部分也會被mask,即全詞Mask
膊毁。
需要注意的是胀莹,這里的mask指的是廣義的mask(替換成[MASK];保持原詞匯婚温;隨機(jī)替換成另外一個詞)描焰,并非只局限于單詞替換成[MASK]
標(biāo)簽的情況。
更詳細(xì)的說明及樣例請參考:#4
同理栅螟,由于谷歌官方發(fā)布的BERT-base, Chinese
中荆秦,中文是以字為粒度進(jìn)行切分,沒有考慮到傳統(tǒng)NLP中的中文分詞(CWS)力图。
我們將全詞Mask的方法應(yīng)用在了中文中步绸,使用了中文維基百科(包括簡體和繁體)進(jìn)行訓(xùn)練,并且使用了哈工大LTP作為分詞工具吃媒,即對組成同一個詞的漢字全部進(jìn)行Mask瓤介。
下述文本展示了全詞Mask
的生成樣例。
注意:為了方便理解赘那,下述例子中只考慮替換成[MASK]標(biāo)簽的情況刑桑。
說明 | 樣例 |
---|---|
原始文本 | 使用語言模型來預(yù)測下一個詞的probability。 |
分詞文本 | 使用 語言 模型 來 預(yù)測 下 一個 詞 的 probability 募舟。 |
原始Mask輸入 | 使 用 語 言 [MASK] 型 來 [MASK] 測 下 一 個 詞 的 pro [MASK] ##lity 祠斧。 |
全詞Mask輸入 | 使 用 語 言 [MASK] [MASK] 來 [MASK] [MASK] 下 一 個 詞 的 [MASK] [MASK] [MASK] 。 |
中文模型下載
本目錄中主要包含base模型拱礁,故我們不在模型簡稱中標(biāo)注base
字樣琢锋。對于其他大小的模型會標(biāo)注對應(yīng)的標(biāo)記(例如large)辕漂。
-
BERT-large模型
:24-layer, 1024-hidden, 16-heads, 330M parameters -
BERT-base模型
:12-layer, 768-hidden, 12-heads, 110M parameters
模型簡稱 | 語料 | Google下載 | 訊飛云下載 |
---|---|---|---|
RBTL3, Chinese |
中文維基+ 通用數(shù)據(jù)[1] |
TensorFlow PyTorch |
TensorFlow(密碼vySW) PyTorch(密碼rgCs) |
RBT3, Chinese |
中文維基+ 通用數(shù)據(jù)[1] |
TensorFlow PyTorch |
TensorFlow(密碼b9nx) PyTorch(密碼Yoep) |
RoBERTa-wwm-ext-large, Chinese |
中文維基+ 通用數(shù)據(jù)[1] |
TensorFlow PyTorch |
TensorFlow(密碼u6gC) PyTorch(密碼43eH) |
RoBERTa-wwm-ext, Chinese |
中文維基+ 通用數(shù)據(jù)[1] |
TensorFlow PyTorch |
TensorFlow(密碼Xe1p) PyTorch(密碼waV5) |
BERT-wwm-ext, Chinese |
中文維基+ 通用數(shù)據(jù)[1] |
TensorFlow PyTorch |
TensorFlow(密碼4cMG) PyTorch(密碼XHu4) |
BERT-wwm, Chinese |
中文維基 |
TensorFlow PyTorch |
TensorFlow(密碼07Xj) PyTorch(密碼hteX) |
BERT-base, Chinese Google
|
中文維基 | Google Cloud | - |
BERT-base, Multilingual Cased Google
|
多語種維基 | Google Cloud | - |
BERT-base, Multilingual Uncased Google
|
多語種維基 | Google Cloud | - |
[1] 通用數(shù)據(jù)包括:百科、新聞吴超、問答等數(shù)據(jù)钮热,總詞數(shù)達(dá)5.4B,處理后的文本大小約10G
以上預(yù)訓(xùn)練模型以TensorFlow版本的權(quán)重為準(zhǔn)烛芬。
對于PyTorch版本隧期,我們使用的是由Huggingface出品的PyTorch-Transformers 1.0提供的轉(zhuǎn)換腳本。
如果使用的是其他版本赘娄,請自行進(jìn)行權(quán)重轉(zhuǎn)換仆潮。
中國大陸境內(nèi)建議使用訊飛云下載點,境外用戶建議使用谷歌下載點遣臼,base模型文件大小約400M性置。
以TensorFlow版BERT-wwm, Chinese
為例,下載完畢后對zip文件進(jìn)行解壓得到:
chinese_wwm_L-12_H-768_A-12.zip
|- bert_model.ckpt # 模型權(quán)重
|- bert_model.meta # 模型meta信息
|- bert_model.index # 模型index信息
|- bert_config.json # 模型參數(shù)
|- vocab.txt # 詞表
其中bert_config.json
和vocab.txt
與谷歌原版BERT-base, Chinese
完全一致揍堰。
PyTorch版本則包含pytorch_model.bin
, bert_config.json
, vocab.txt
文件鹏浅。
快速加載
依托于Huggingface-Transformers 2.2.2,可輕松調(diào)用以上模型屏歹。
tokenizer = BertTokenizer.from_pretrained("MODEL_NAME")
model = BertModel.from_pretrained("MODEL_NAME")
注意:本目錄中的所有模型均使用BertTokenizer以及BertModel加載隐砸,請勿使用RobertaTokenizer/RobertaModel!
其中MODEL_NAME
對應(yīng)列表如下:
模型名 | MODEL_NAME |
---|---|
RoBERTa-wwm-ext-large | hfl/chinese-roberta-wwm-ext-large |
RoBERTa-wwm-ext | hfl/chinese-roberta-wwm-ext |
BERT-wwm-ext | hfl/chinese-bert-wwm-ext |
BERT-wwm | hfl/chinese-bert-wwm |
RBT3 | hfl/rbt3 |
RBTL3 | hfl/rbtl3 |
測試任務(wù)數(shù)據(jù)
我們提供部分任務(wù)數(shù)據(jù)蝙眶,請查看data
目錄了解季希。
壓縮包內(nèi)包含訓(xùn)練和測試數(shù)據(jù),同一目錄下的README.md
標(biāo)明數(shù)據(jù)來源幽纷。
由于一部分?jǐn)?shù)據(jù)需要原作者授權(quán)式塌,故我們無法提供下載鏈接,敬請諒解友浸。
模型對比
針對大家比較關(guān)心的一些模型細(xì)節(jié)進(jìn)行匯總?cè)缦隆?/p>
- | BERTGoogle | BERT-wwm | BERT-wwm-ext | RoBERTa-wwm-ext | RoBERTa-wwm-ext-large |
---|---|---|---|---|---|
Masking | WordPiece | WWM[1] | WWM | WWM | WWM |
Type | base | base | base | base | large |
Data Source | wiki | wiki | wiki+ext[2] | wiki+ext | wiki+ext |
Training Tokens # | 0.4B | 0.4B | 5.4B | 5.4B | 5.4B |
Device | TPU Pod v2 | TPU v3 | TPU v3 | TPU v3 | TPU Pod v3-32[3] |
Training Steps | ? | 100KMAX128 +100KMAX512 |
1MMAX128 +400KMAX512 |
1MMAX512 | 2MMAX512 |
Batch Size | ? | 2,560 / 384 | 2,560 / 384 | 384 | 512 |
Optimizer | AdamW | LAMB | LAMB | AdamW | AdamW |
Vocabulary | 21,128 | ~BERT[4] | ~BERT | ~BERT | ~BERT |
Init Checkpoint | Random Init | ~BERT | ~BERT | ~BERT | Random Init |
[1] WWM = Whole Word Masking
[2] ext = extended data
[3] TPU Pod v3-32 (512G HBM)等價于4個TPU v3 (128G HBM)
[4]~BERT
表示繼承谷歌原版中文BERT的屬性
中文基線系統(tǒng)效果
為了對比基線效果峰尝,我們在以下幾個中文數(shù)據(jù)集上進(jìn)行了測試,包括句子級
和篇章級
任務(wù)收恢。
對于BERT-wwm-ext
武学、RoBERTa-wwm-ext
、RoBERTa-wwm-ext-large
派诬,我們沒有進(jìn)一步調(diào)整最佳學(xué)習(xí)率劳淆,而是直接使用了BERT-wwm
的最佳學(xué)習(xí)率链沼。
最佳學(xué)習(xí)率:
模型 | BERT | ERNIE | BERT-wwm* |
---|---|---|---|
CMRC 2018 | 3e-5 | 8e-5 | 3e-5 |
DRCD | 3e-5 | 8e-5 | 3e-5 |
CJRC | 4e-5 | 8e-5 | 4e-5 |
XNLI | 3e-5 | 5e-5 | 3e-5 |
ChnSentiCorp | 2e-5 | 5e-5 | 2e-5 |
LCQMC | 2e-5 | 3e-5 | 2e-5 |
BQ Corpus | 3e-5 | 5e-5 | 3e-5 |
THUCNews | 2e-5 | 5e-5 | 2e-5 |
*代表所有wwm系列模型 (BERT-wwm, BERT-wwm-ext, RoBERTa-wwm-ext, RoBERTa-wwm-ext-large)
下面僅列舉部分結(jié)果默赂,完整結(jié)果請查看我們的技術(shù)報告。
- CMRC 2018:篇章片段抽取型閱讀理解(簡體中文)
- DRCD:篇章片段抽取型閱讀理解(繁體中文)
- CJRC: 法律閱讀理解(簡體中文)
- XNLI:自然語言推斷
- ChnSentiCorp:情感分析
- LCQMC:句對匹配
- BQ Corpus:句對匹配
- THUCNews:篇章級文本分類
注意:為了保證結(jié)果的可靠性括勺,對于同一模型缆八,我們運(yùn)行10遍(不同隨機(jī)種子)曲掰,匯報模型性能的最大值和平均值(括號內(nèi)為平均值)。不出意外奈辰,你運(yùn)行的結(jié)果應(yīng)該很大概率落在這個區(qū)間內(nèi)栏妖。
評測指標(biāo)中,括號內(nèi)表示平均值奖恰,括號外表示最大值吊趾。
簡體中文閱讀理解:CMRC 2018
CMRC 2018數(shù)據(jù)集是哈工大訊飛聯(lián)合實驗室發(fā)布的中文機(jī)器閱讀理解數(shù)據(jù)。
根據(jù)給定問題瑟啃,系統(tǒng)需要從篇章中抽取出片段作為答案论泛,形式與SQuAD相同。
評測指標(biāo)為:EM / F1
模型 | 開發(fā)集 | 測試集 | 挑戰(zhàn)集 |
---|---|---|---|
BERT | 65.5 (64.4) / 84.5 (84.0) | 70.0 (68.7) / 87.0 (86.3) | 18.6 (17.0) / 43.3 (41.3) |
ERNIE | 65.4 (64.3) / 84.7 (84.2) | 69.4 (68.2) / 86.6 (86.1) | 19.6 (17.0) / 44.3 (42.8) |
BERT-wwm | 66.3 (65.0) / 85.6 (84.7) | 70.5 (69.1) / 87.4 (86.7) | 21.0 (19.3) / 47.0 (43.9) |
BERT-wwm-ext | 67.1 (65.6) / 85.7 (85.0) | 71.4 (70.0) / 87.7 (87.0) | 24.0 (20.0) / 47.3 (44.6) |
RoBERTa-wwm-ext | 67.4 (66.5) / 87.2 (86.5) | 72.6 (71.4) / 89.4 (88.8) | 26.2 (24.6) / 51.0 (49.1) |
RoBERTa-wwm-ext-large | 68.5 (67.6) / 88.4 (87.9) | 74.2 (72.4) / 90.6 (90.0) | 31.5 (30.1) / 60.1 (57.5) |
繁體中文閱讀理解:DRCD
DRCD數(shù)據(jù)集由中國臺灣臺達(dá)研究院發(fā)布蛹屿,其形式與SQuAD相同屁奏,是基于繁體中文的抽取式閱讀理解數(shù)據(jù)集。
由于ERNIE中去除了繁體中文字符错负,故不建議在繁體中文數(shù)據(jù)上使用ERNIE(或轉(zhuǎn)換成簡體中文后再處理)坟瓢。
評測指標(biāo)為:EM / F1
模型 | 開發(fā)集 | 測試集 |
---|---|---|
BERT | 83.1 (82.7) / 89.9 (89.6) | 82.2 (81.6) / 89.2 (88.8) |
ERNIE | 73.2 (73.0) / 83.9 (83.8) | 71.9 (71.4) / 82.5 (82.3) |
BERT-wwm | 84.3 (83.4) / 90.5 (90.2) | 82.8 (81.8) / 89.7 (89.0) |
BERT-wwm-ext | 85.0 (84.5) / 91.2 (90.9) | 83.6 (83.0) / 90.4 (89.9) |
RoBERTa-wwm-ext | 86.6 (85.9) / 92.5 (92.2) | 85.6 (85.2) / 92.0 (91.7) |
RoBERTa-wwm-ext-large | 89.6 (89.1) / 94.8 (94.4) | 89.6 (88.9) / 94.5 (94.1) |
司法閱讀理解:CJRC
CJRC數(shù)據(jù)集是哈工大訊飛聯(lián)合實驗室發(fā)布的面向司法領(lǐng)域的中文機(jī)器閱讀理解數(shù)據(jù)。
需要注意的是實驗中使用的數(shù)據(jù)并非官方發(fā)布的最終數(shù)據(jù)犹撒,結(jié)果僅供參考折联。
評測指標(biāo)為:EM / F1
模型 | 開發(fā)集 | 測試集 |
---|---|---|
BERT | 54.6 (54.0) / 75.4 (74.5) | 55.1 (54.1) / 75.2 (74.3) |
ERNIE | 54.3 (53.9) / 75.3 (74.6) | 55.0 (53.9) / 75.0 (73.9) |
BERT-wwm | 54.7 (54.0) / 75.2 (74.8) | 55.1 (54.1) / 75.4 (74.4) |
BERT-wwm-ext | 55.6 (54.8) / 76.0 (75.3) | 55.6 (54.9) / 75.8 (75.0) |
RoBERTa-wwm-ext | 58.7 (57.6) / 79.1 (78.3) | 59.0 (57.8) / 79.0 (78.0) |
RoBERTa-wwm-ext-large | 62.1 (61.1) / 82.4 (81.6) | 62.4 (61.4) / 82.2 (81.0) |
自然語言推斷:XNLI
在自然語言推斷任務(wù)中,我們采用了XNLI數(shù)據(jù)识颊,需要將文本分成三個類別:entailment
崭庸,neutral
,contradictory
谊囚。
評測指標(biāo)為:Accuracy
模型 | 開發(fā)集 | 測試集 |
---|---|---|
BERT | 77.8 (77.4) | 77.8 (77.5) |
ERNIE | 79.7 (79.4) | 78.6 (78.2) |
BERT-wwm | 79.0 (78.4) | 78.2 (78.0) |
BERT-wwm-ext | 79.4 (78.6) | 78.7 (78.3) |
RoBERTa-wwm-ext | 80.0 (79.2) | 78.8 (78.3) |
RoBERTa-wwm-ext-large | 82.1 (81.3) | 81.2 (80.6) |
情感分析:ChnSentiCorp
在情感分析任務(wù)中怕享,二分類的情感分類數(shù)據(jù)集ChnSentiCorp。
評測指標(biāo)為:Accuracy
模型 | 開發(fā)集 | 測試集 |
---|---|---|
BERT | 94.7 (94.3) | 95.0 (94.7) |
ERNIE | 95.4 (94.8) | 95.4 (95.3) |
BERT-wwm | 95.1 (94.5) | 95.4 (95.0) |
BERT-wwm-ext | 95.4 (94.6) | 95.3 (94.7) |
RoBERTa-wwm-ext | 95.0 (94.6) | 95.6 (94.8) |
RoBERTa-wwm-ext-large | 95.8 (94.9) | 95.8 (94.9) |
句對分類:LCQMC, BQ Corpus
以下兩個數(shù)據(jù)集均需要將一個句對進(jìn)行分類镰踏,判斷兩個句子的語義是否相同(二分類任務(wù))函筋。
LCQMC
LCQMC由哈工大深圳研究生院智能計算研究中心發(fā)布。
評測指標(biāo)為:Accuracy
模型 | 開發(fā)集 | 測試集 |
---|---|---|
BERT | 89.4 (88.4) | 86.9 (86.4) |
ERNIE | 89.8 (89.6) | 87.2 (87.0) |
BERT-wwm | 89.4 (89.2) | 87.0 (86.8) |
BERT-wwm-ext | 89.6 (89.2) | 87.1 (86.6) |
RoBERTa-wwm-ext | 89.0 (88.7) | 86.4 (86.1) |
RoBERTa-wwm-ext-large | 90.4 (90.0) | 87.0 (86.8) |
BQ Corpus
BQ Corpus由哈工大深圳研究生院智能計算研究中心發(fā)布奠伪,是面向銀行領(lǐng)域的數(shù)據(jù)集跌帐。
評測指標(biāo)為:Accuracy
模型 | 開發(fā)集 | 測試集 |
---|---|---|
BERT | 86.0 (85.5) | 84.8 (84.6) |
ERNIE | 86.3 (85.5) | 85.0 (84.6) |
BERT-wwm | 86.1 (85.6) | 85.2 (84.9) |
BERT-wwm-ext | 86.4 (85.5) | 85.3 (84.8) |
RoBERTa-wwm-ext | 86.0 (85.4) | 85.0 (84.6) |
RoBERTa-wwm-ext-large | 86.3 (85.7) | 85.8 (84.9) |
篇章級文本分類:THUCNews
篇章級文本分類任務(wù)我們選用了由清華大學(xué)自然語言處理實驗室發(fā)布的新聞數(shù)據(jù)集THUCNews。
我們采用的是其中一個子集绊率,需要將新聞分成10個類別中的一個谨敛。
評測指標(biāo)為:Accuracy
模型 | 開發(fā)集 | 測試集 |
---|---|---|
BERT | 97.7 (97.4) | 97.8 (97.6) |
ERNIE | 97.6 (97.3) | 97.5 (97.3) |
BERT-wwm | 98.0 (97.6) | 97.8 (97.6) |
BERT-wwm-ext | 97.7 (97.5) | 97.7 (97.5) |
RoBERTa-wwm-ext | 98.3 (97.9) | 97.7 (97.5) |
RoBERTa-wwm-ext-large | 98.3 (97.7) | 97.8 (97.6) |
小參數(shù)量模型
以下是在若干NLP任務(wù)上的實驗效果,表中只提供測試集結(jié)果對比滤否。
模型 | CMRC 2018 | DRCD | XNLI | CSC | LCQMC | BQ | 平均 | 參數(shù)量 |
---|---|---|---|---|---|---|---|---|
RoBERTa-wwm-ext-large | 74.2 / 90.6 | 89.6 / 94.5 | 81.2 | 95.8 | 87.0 | 85.8 | 87.335 | 325M |
RoBERTa-wwm-ext | 72.6 / 89.4 | 85.6 / 92.0 | 78.8 | 95.6 | 86.4 | 85.0 | 85.675 | 102M |
RBTL3 | 63.3 / 83.4 | 77.2 / 85.6 | 74.0 | 94.2 | 85.1 | 83.6 | 80.800 | 61M (59.8%) |
RBT3 | 62.2 / 81.8 | 75.0 / 83.9 | 72.3 | 92.8 | 85.1 | 83.3 | 79.550 | 38M (37.3%) |
效果相對值比較:
模型 | CMRC 2018 | DRCD | XNLI | CSC | LCQMC | BQ | 平均 | 分類平均 |
---|---|---|---|---|---|---|---|---|
RoBERTa-wwm-ext-large | 102.2% / 101.3% | 104.7% / 102.7% | 103.0% | 100.2% | 100.7% | 100.9% | 101.9% | 101.2% |
RoBERTa-wwm-ext | 100% / 100% | 100% / 100% | 100% | 100% | 100% | 100% | 100% | 100% |
RBTL3 | 87.2% / 93.3% | 90.2% / 93.0% | 93.9% | 98.5% | 98.5% | 98.4% | 94.3% | 97.35% |
RBT3 | 85.7% / 91.5% | 87.6% / 91.2% | 91.8% | 97.1% | 98.5% | 98.0% | 92.9% | 96.35% |
- 參數(shù)量是以XNLI分類任務(wù)為基準(zhǔn)進(jìn)行計算
- 括號內(nèi)參數(shù)量百分比以原始base模型(即RoBERTa-wwm-ext)為基準(zhǔn)
- RBT3:由RoBERTa-wwm-ext 3層進(jìn)行初始化脸狸,繼續(xù)訓(xùn)練了1M步
- RBTL3:由RoBERTa-wwm-ext-large 3層進(jìn)行初始化,繼續(xù)訓(xùn)練了1M步
- RBT的名字是RoBERTa三個音節(jié)首字母組成,L代表large模型
- 直接使用RoBERTa-wwm-ext-large前三層進(jìn)行初始化并進(jìn)行下游任務(wù)的訓(xùn)練將顯著降低效果炊甲,例如在CMRC 2018上測試集僅能達(dá)到42.9/65.3泥彤,而RBTL3能達(dá)到63.3/83.4
使用建議
- 初始學(xué)習(xí)率是非常重要的一個參數(shù)(不論是
BERT
還是其他模型),需要根據(jù)目標(biāo)任務(wù)進(jìn)行調(diào)整卿啡。 -
ERNIE
的最佳學(xué)習(xí)率和BERT
/BERT-wwm
相差較大吟吝,所以使用ERNIE
時請務(wù)必調(diào)整學(xué)習(xí)率(基于以上實驗結(jié)果,ERNIE
需要的初始學(xué)習(xí)率較高)颈娜。 - 由于
BERT
/BERT-wwm
使用了維基百科數(shù)據(jù)進(jìn)行訓(xùn)練剑逃,故它們對正式文本建模較好;而ERNIE
使用了額外的百度貼吧官辽、知道等網(wǎng)絡(luò)數(shù)據(jù)炕贵,它對非正式文本(例如微博等)建模有優(yōu)勢。 - 在長文本建模任務(wù)上野崇,例如閱讀理解称开、文檔分類,
BERT
和BERT-wwm
的效果較好乓梨。 - 如果目標(biāo)任務(wù)的數(shù)據(jù)和預(yù)訓(xùn)練模型的領(lǐng)域相差較大鳖轰,請在自己的數(shù)據(jù)集上進(jìn)一步做預(yù)訓(xùn)練。
- 如果要處理繁體中文數(shù)據(jù)扶镀,請使用
BERT
或者BERT-wwm
蕴侣。因為我們發(fā)現(xiàn)ERNIE
的詞表中幾乎沒有繁體中文。
英文模型下載
為了方便大家下載臭觉,順便帶上谷歌官方發(fā)布的英文BERT-large (wwm)
模型:
BERT-Large, Uncased (Whole Word Masking)
:
24-layer, 1024-hidden, 16-heads, 340M parametersBERT-Large, Cased (Whole Word Masking)
:
24-layer, 1024-hidden, 16-heads, 340M parameters
FAQ
Q: 這個模型怎么用昆雀?
A: 谷歌發(fā)布的中文BERT怎么用,這個就怎么用蝠筑。
文本不需要經(jīng)過分詞狞膘,wwm只影響預(yù)訓(xùn)練過程,不影響下游任務(wù)的輸入什乙。
Q: 請問有預(yù)訓(xùn)練代碼提供嗎挽封?
A: 很遺憾,我不能提供相關(guān)代碼臣镣,實現(xiàn)可以參考 #10 和 #13辅愿。
Q: 某某數(shù)據(jù)集在哪里下載?
A: 請查看data目錄忆某。對于有版權(quán)的內(nèi)容点待,請自行搜索或與原作者聯(lián)系獲取數(shù)據(jù)。
Q: 會有計劃發(fā)布更大模型嗎弃舒?比如BERT-large-wwm版本癞埠?
A: 如果我們從實驗中得到更好效果,會考慮發(fā)布更大的版本。
Q: 你騙人燕差!無法復(fù)現(xiàn)結(jié)果??
A: 在下游任務(wù)中,我們采用了最簡單的模型坝冕。比如分類任務(wù)徒探,我們直接使用的是run_classifier.py
(谷歌提供)。
如果無法達(dá)到平均值喂窟,說明實驗本身存在bug测暗,請仔細(xì)排查。
最高值存在很多隨機(jī)因素磨澡,我們無法保證能夠達(dá)到最高值碗啄。
另外一個公認(rèn)的因素:降低batch size會顯著降低實驗效果,具體可參考BERT稳摄,XLNet目錄的相關(guān)Issue稚字。
Q: 我訓(xùn)出來比你更好的結(jié)果!
A: 恭喜你厦酬。
Q: 訓(xùn)練花了多長時間胆描,在什么設(shè)備上訓(xùn)練的?
A: 訓(xùn)練是在谷歌TPU v3版本(128G HBM)完成的仗阅,訓(xùn)練BERT-wwm花費(fèi)約1.5天昌讲,BERT-wwm-ext則需要數(shù)周時間(使用了更多數(shù)據(jù)需要迭代更充分)。
需要注意的是减噪,預(yù)訓(xùn)練階段我們使用的是LAMB Optimizer
(TensorFlow版本實現(xiàn))短绸。該優(yōu)化器對大的batch有良好的支持。
在微調(diào)下游任務(wù)時筹裕,我們采用的是BERT默認(rèn)的AdamWeightDecayOptimizer
醋闭。
Q: ERNIE是誰?
A: 本項目中的ERNIE模型特指百度公司提出的ERNIE朝卒,而非清華大學(xué)在ACL 2019上發(fā)表的ERNIE目尖。
Q: BERT-wwm的效果不是在所有任務(wù)都很好
A: 本項目的目的是為研究者提供多元化的預(yù)訓(xùn)練模型,自由選擇BERT扎运,ERNIE瑟曲,或者是BERT-wwm。
我們僅提供實驗數(shù)據(jù)豪治,具體效果如何還是得在自己的任務(wù)中不斷嘗試才能得出結(jié)論洞拨。
多一個模型,多一種選擇负拟。
Q: 為什么有些數(shù)據(jù)集上沒有試烦衣?
A: 很坦率的說:
1)沒精力找更多的數(shù)據(jù);
2)沒有必要;
3)沒有鈔票花吟;
Q: 簡單評價一下這幾個模型
A: 各有側(cè)重秸歧,各有千秋。
中文自然語言處理的研究發(fā)展需要多方共同努力衅澈。
Q: 你預(yù)測下一個預(yù)訓(xùn)練模型叫什么键菱?
A: 可能叫ZOE吧,ZOE: Zero-shOt Embeddings from language model
Q: 更多關(guān)于RoBERTa-wwm-ext
模型的細(xì)節(jié)今布?
A: 我們集成了RoBERTa和BERT-wwm的優(yōu)點经备,對兩者進(jìn)行了一個自然的結(jié)合。
和之前本目錄中的模型之間的區(qū)別如下:
1)預(yù)訓(xùn)練階段采用wwm策略進(jìn)行mask(但沒有使用dynamic masking)
2)簡單取消Next Sentence Prediction(NSP)loss
3)不再采用先max_len=128然后再max_len=512的訓(xùn)練模式部默,直接訓(xùn)練max_len=512
4)訓(xùn)練步數(shù)適當(dāng)延長
需要注意的是侵蒙,該模型并非原版RoBERTa模型,只是按照類似RoBERTa訓(xùn)練方式訓(xùn)練出的BERT模型傅蹂,即RoBERTa-like BERT纷闺。
故在下游任務(wù)使用、模型轉(zhuǎn)換時請按BERT的方式處理份蝴,而非RoBERTa急但。
引用
如果本目錄中的內(nèi)容對你的研究工作有所幫助,請在文獻(xiàn)中引用下述技術(shù)報告:
https://arxiv.org/abs/1906.08101
@article{chinese-bert-wwm,
title={Pre-Training with Whole Word Masking for Chinese BERT},
author={Cui, Yiming and Che, Wanxiang and Liu, Ting and Qin, Bing and Yang, Ziqing and Wang, Shijin and Hu, Guoping},
journal={arXiv preprint arXiv:1906.08101},
year={2019}
}
致謝
第一作者部分受到谷歌TensorFlow Research Cloud計劃資助搞乏。
免責(zé)聲明
本項目并非谷歌官方發(fā)布的Chinese BERT-wwm模型波桩。同時,本項目不是哈工大或科大訊飛的官方產(chǎn)品请敦。
技術(shù)報告中所呈現(xiàn)的實驗結(jié)果僅表明在特定數(shù)據(jù)集和超參組合下的表現(xiàn)镐躲,并不能代表各個模型的本質(zhì)。
實驗結(jié)果可能因隨機(jī)數(shù)種子侍筛,計算設(shè)備而發(fā)生改變萤皂。
該項目中的內(nèi)容僅供技術(shù)研究參考,不作為任何結(jié)論性依據(jù)匣椰。使用者可以在許可證范圍內(nèi)任意使用該模型裆熙,但我們不對因使用該項目內(nèi)容造成的直接或間接損失負(fù)責(zé)。
關(guān)注我們
歡迎關(guān)注哈工大訊飛聯(lián)合實驗室官方微信公眾號禽笑,了解最新的技術(shù)動態(tài)入录。
[圖片上傳失敗...(image-998e6e-1583721256447)]
問題反饋
如有問題,請在GitHub Issue中提交佳镜。