Skip to content

hitluobin/CLUEPretrainedModels

 
 

Repository files navigation

CLUE Pretrained Models

高质量中文预训练模型集合:

最先进的大模型、速度最快和效果好的小模型、面向相似性或句子对任务优化的专门模型。

更多细节请参考我们的技术报告 https://arxiv.org/pdf/2003.01355

./pics/corpus.png

介绍

本项目是与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            # 词表

一键运行.基线模型与代码 Baseline with codes

使用方式:
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)

或发送邮件CLUEbenchmark@163.com

Computation Power

Research supported with Cloud TPUs from Google's TensorFlow Research Cloud (TFRC)

TODO LIST:

  1. PyTorch版本
  2. 在线预测代码
  3. 一键运行6大分类任务
  4. 大模型去掉无效参数

Reference:

  1. 关于使用的任务的介绍:AFQMC(句子对), TNEWS'(情感分析), IFLYTEK'(100+类别的分类), CMNLI(自然语言推理)

About

高质量中文预训练模型集合:最先进大模型、最快小模型、相似度专门模型

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 90.7%
  • Jupyter Notebook 5.4%
  • Shell 3.9%