roberta_zh

RoBERTa for Chinese

Github星跟蹤圖

RoBERTa for Chinese

中文预训练RoBERTa模型

RoBERTa 24层(RoBERTa-zh-Large) TensorFlow版本-Bert直接加载

RoBERTa 24层版训练数据:30G原始文本,近3亿个句子,100亿个中文字(token),产生了2.5亿个训练数据(instance);覆盖新闻、社区问答、多个百科数据等。

24层base版(roberta_l24_zh_base) TensorFlow版本-Bert直接加载

24层base版训练数据:10G文本,包含新闻、社区问答、多个百科数据等。

What is RoBERTa:

A robustly optimized method for pretraining natural language processing (NLP) systems that improves on Bidirectional Encoder Representations from Transformers, or BERT, the self-supervised method released by Google in 2018.

RoBERTa, produces state-of-the-art results on the widely used NLP benchmark, General Language Understanding Evaluation (GLUE). The model delivered state-of-the-art performance on the MNLI, QNLI, RTE, STS-B, and RACE tasks and a sizable performance improvement on the GLUE benchmark. With a score of 88.5, RoBERTa reached the top position on the GLUE leaderboard, matching the performance of the previous leader, XLNet-Large.

(Introduction from Facebook blog)

发布计划 Release Plan:

1、24层RoBERTa模型(roberta_l24_zh),使用30G文件训练, 9月8日

2、12层RoBERTa模型(roberta_l12_zh),使用30G文件训练, 9月8日

3、6层RoBERTa模型(roberta_l6_zh), 使用30G文件训练, 9月8日

4、PyTorch版本的模型(roberta_l6_zh_pytorch) 9月8日

5、30G中文语料,预训练格式,可直接训练(bert,xlent,gpt2) 9月8日

6、测试集测试和效果对比 9月14日

效果测试与对比 Performance

自然语言推断:XNLI, 模型, 开发集, 测试集, :-------, :---------:, :---------:, 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-zh-Large, 80.2 (80.0), 79.9 (79.5), 注:RoBERTa_l24_zh,只跑了两次,Performance可能还会提升

Sentence Pair Matching (SPM): LCQMC, 模型, 开发集(Dev), 测试集(Test), :-------, :---------:, :---------:, 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, ?, ?, RoBERTa_l24_zh, 89.6, 87.2, 注:RoBERTa_l24_zh,只跑了一次,目前还不是最佳成绩。保存训练轮次和论文一致:

? 处地方,将会很快更新到具体的值

RoBERTa中文版 Chinese Version

本项目所指的中文预训练RoBERTa模型只指按照RoBERTa论文主要精神训练的模型。包括:

1、数据生成方式和任务改进:取消下一个句子预测,并且数据连续从一个文档中获得(见:Model Input Format and Next Sentence Prediction,DOC-SENTENCES)

2、更大更多样性的数据:使用30G中文训练,包含3亿个句子,100亿个字(即token)。由新闻、社区讨论、多个百科,包罗万象,覆盖数十万个主题,

所以数据具有多样性(为了更有多样性,可以可以加入网络书籍、小说、故事类文学、微博等)。

3、训练更久:总共训练了近20万,总共见过近16亿个训练数据(instance); 在Cloud TPU v3-256 上训练了24小时,相当于在TPU v3-8(128G显存)上需要训练一个月。

4、更大批次:使用了超大(8k)的批次batch size。

5、调整优化器参数。

除以上外,本项目中文版,使用了全词mask(whole word mask)。在全词Mask中,如果一个完整的词的部分WordPiece子词被mask,则同属该词的其他部分也会被mask,即全词Mask。

dynamic mask在本项目中没有实现, 说明, 样例, :-------, :---------, 原始文本, 使用语言模型来预测下一个词的probability。, 分词文本, 使用 语言 模型 来 预测 下 一个 词 的 probability 。, 原始Mask输入, 使 用 语 言 [MASK] 型 来 [MASK] 测 下 一 个 词 的 pro [MASK] ##lity 。, 全词Mask输入, 使 用 语 言 [MASK] [MASK] 来 [MASK] [MASK] 下 一 个 词 的 [MASK] [MASK] [MASK] 。, 模型加载(以分类任务为例)

tensorFlow版本:

1、clone <a href="https://github.com/google-research/bert">bert项目</a>

2、运行命令:

export BERT_BASE_DIR=/path/to/roberta/roeberta_zh_L-24_H-1024_A-16
export MY_DATA_DIR=/path/to/your_dataset
python run_classifier.py \
  --task_name=YOUR_TASK_NAME \
  --do_train=true \
  --do_eval=true \
  --data_dir=MY_DATA_DIR \
  --vocab_file=$BERT_BASE_DIR/vocab.txt \
  --bert_config_file=$BERT_BASE_DIR/bert_config_large.json \
  --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt \
  --max_seq_length=128 \
  --train_batch_size=32 \
  --learning_rate=2e-5 \
  --num_train_epochs=4 \
  --output_dir=/tmp/fine_tuning_output/

注:YOUR_TASK_NAME需要自己在run_classifier.py中的添加一个processor,并加到processors中,用于指定做什么任务怎么加载训练和验证数据。

PyTorch版本加载示例:TODO

Learning Curve 学习曲线

If you have any question, you can raise an issue, or send me an email: brightmart@hotmail.com


本项目受到 TensorFlow Research Cloud (TFRC) 资助 / Project supported with Cloud TPUs from Google's TensorFlow Research Cloud (TFRC)

Reference

1、RoBERTa: A Robustly Optimized BERT Pretraining Approach

2、Pre-Training with Whole Word Masking for Chinese BERT

3、BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

主要指標

概覽
名稱與所有者brightmart/roberta_zh
主編程語言Python
編程語言Python (語言數: 2)
平台
許可證
所有者活动
創建於2019-09-02 17:11:57
推送於2024-07-22 15:02:06
最后一次提交2022-06-15 16:11:49
發布數0
用户参与
星數2.7k
關注者數52
派生數413
提交數41
已啟用問題?
問題數95
打開的問題數44
拉請求數1
打開的拉請求數3
關閉的拉請求數1
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?