高质量中文预训练模型集合:
最先进的大模型、速度最快和效果好的小模型、面向相似性或句子对任务优化的专门模型。
更多细节请参考我们的技术报告 https://arxiv.org/pdf/2003.01355
本项目是与CLUECorpus2020的姊妹项目,通过使用前者的预训练语料库和新版的词汇表,来做模型的预训练。详细报告见,技术报告
项目亮点:
1.提供了大模型、小模型和语义相似度模型。大模型取得与当前中文上效果最佳的模型一致的效果,在一些任务上效果更好。
2.小模型速度比Bert-base提升8倍左右,与albert_tiny速度一致,但效果更佳;
3.语义相似度模型,用于处理语义相似度或句子对问题,有很大概率比直接用预训练模型效果要好;
4.一期支持6个分类和句子对任务,会支持CLUE benchmark所有任务;
| 模型简称 | 参数量 | 存储大小 | 语料 | 词汇表 | 直接下载 |
|---|---|---|---|---|---|
RoBERTa-tiny-clue 超小模型 |
7.5M | 28.3M | CLUECorpus2020 | CLUEVocabulary | TensorFlow PyTorch (提取码:8qvb) |
RoBERTa-tiny-pair 超小句子对模型 |
7.5M | 28.3M | CLUECorpus2020 | CLUEVocabulary | TensorFlow PyTorch (提取码:8qvb) |
RoBERTa-large-clue 大模型 |
290M | 1.20G | CLUECorpus2020 | CLUEVocabulary | TensorFlow PyTorch (提取码:8qvb) |
RoBERTa-large-pair 大句子对模型 |
290M | 1.20G | CLUECorpus2020 | CLUEVocabulary | TensorFlow PyTorch (提取码:8qvb) |
(地址稍后更新)
AFQMC:语义相似度任务
TNEWS':中文新闻(短文本)分类。包含15个类别的新闻,包括旅游,教育,金融,军事等。
IFLYTEK':关于app应用描述的长文本数据,包含和日常生活相关的各类应用主题,共119个类别,如:打车、地图导航、免费WIFI、经营等
CMNLI:自然语言推理任务,判断给定的两个句子之间的关系,如蕴涵、中立、矛盾。
| 模型 | Score | 参数 | AFQMC | TNEWS' | IFLYTEK' | CMNLI |
|---|---|---|---|---|---|---|
| BERT-base (baseline) | 67.57% | 108M | 73.70% | 56.58% | 60.29% | 79.69% |
| ALBERT-tiny | 60.65% | 4M | 69.92% | 53.35% | 48.71% | 70.61% |
| RoBERTa-tiny-clue | 63.60% | 7.5M | 69.52% | 54.57% | 57.31% | 73.10% |
| 模型 | Score | 参数 | AFQMC | TNEWS' | IFLYTEK' | CMNLI |
|---|---|---|---|---|---|---|
| BERT-base (baseline) | 67.57% | 108M | 73.70% | 56.58% | 60.29% | 79.69% |
| RoBERTa-wwm-large | 69.46% | 325M | 74.44% | 58.41% | 62.77% | 82.20% |
| RoBERTa-large-clue | 69.68% | 290M | 74.41% | 58.38% | 63.58% | 82.36% |
| 模型 | Score | 参数 | AFQMC |
|---|---|---|---|
| RoBERTa-tiny-clue | 69.52% | 7.5M | 69.52% |
| RoBERTa-tiny-pair | 69.93%(↑0.41) | 7.5M | 69.93 % |
| RoBERTa-large-clue | 74.00% | 92M | 74.00% |
| RoBERTa-large-pair | 74.41%(↑0.41) | 92M | 74.41% |
| 模型 | 词汇表 | 词汇表大小 | 参数量 | 训练设备 | 训练速度 |
|---|---|---|---|---|---|
| BERT-base | google_vocab | 21128 | 102M | TPU V3-8 | 1k steps/404s |
| BERT-base | clue_vocab | 8021(↓62.04%) | 92M(↓9.80%) | TPU V3-8 | 1k steps/350s(↑15.43%) |
| RoBERTa-tiny-clue | clue_vocab | 8021(↓62.05%) | 7.5M(↓92.6%) | TPU V3-8 | 1k steps/50s(↑708.0%) |
1.学习率:稍微大一点的学习率,如{1e4, 4e-4 1e-5} 默认:1e-4
2.训练轮次:5-8。 使用验证集上效果最好的模型,用于测试集上测试或在线预测
3.相似性或句子对任务,优先使用专门的RoBERTa-xxx-pair模型,如RoBERTa-tiny-pair(小号)或 RoBERTa-large-pair(大号)
为方便调用,所有模型都保持和Bert-base一致的结构,并可以直接使用Bert加载。
RoBERTa-xxx-clue.zip
|- bert_model.ckpt # 模型权重
|- bert_model.meta # 模型meta信息
|- bert_model.index # 模型index信息
|- bert_config.json # 模型参数
|- vocab.txt # 词表
使用方式:
1、克隆项目
git clone https://github.com/CLUEbenchmark/CLUEPretrainedModels.git
2、进入到相应的目录
分类任务
例如:
cd CLUEPretrainedModels/baselines/models/bert
###cd CLUEPretrainedModels/baselines/models_pytorch/classifier_pytorch
3、运行对应任务的脚本(GPU方式): 会自动下载模型和任务数据并开始运行。
bash run_classifier_xxx.sh
如运行 bash run_classifier_iflytek.sh 会开始iflytek任务的训练
4、tpu使用方式(可选)
cd CLUEPretrainedModels/baselines/models/bert/tpu
sh run_classifier_tnews.sh即可测试tnews任务(注意更换里面的gs路径和tpu ip)。数据和模型会自动下载和上传。
cd CLUEPretrainedModels/baselines/models/roberta/tpu
sh run_classifier_tiny.sh即可运行所有分类任务(注意更换里面的路径,模型地址和tpu ip)
add something here...
如有问题请提交issue,加入讨论群(QQ:836811304)
Research supported with Cloud TPUs from Google's TensorFlow Research Cloud (TFRC)
- PyTorch版本
- 在线预测代码
- 一键运行6大分类任务
- 大模型去掉无效参数
