孟子BERT预训练模型-中文-base
基于300G中文语料库的预训练模型。使用了Masked language modeling(MLM), part-of-speech(POS) tagging 和 sentence order prediction(SOP) 作为训练任务.
详细的技术报告请参考:Mengzi: Towards Lightweight yet Ingenious Pre-trained Models for Chinese
模型描述
孟子中文Bert预训练模型与Bert结构相同,不包含下游任务,需要在特定任务上 Finetune 后使用。
Bert模型的详细介绍见:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
在预训练技术上,不同于Bert,孟子采用了:
- 语言学驱动的目标 - 在原始MLM和NSP目标的基础上,额外使用POS-Tagging和NER两个序列标注任务作为辅助目标。POS和NE标签使用spaCy标注。
- 序列关系目标 - 为了更好地拟合句子间的关系信息,孟子加入了Sentence Order Prediction (SOP)作为训练目标。
- 动态梯度修正 - 使用了一系列动态梯度修正技术提高模型的容量和鲁棒性,改善MLM导致的对原始句子结构的干扰。
期望模型使用方式以及适用范围
本模型主要用于中文相关下游任务微调,也可以直接使用于完形填空任务。用户可以基于自有训练数据进行微调,具体调用方式请参考代码示例。
如何使用
在安装完成Modelscope-lib之后即可进行下游任务finetune,下面给了一个直接使用本模型进行完形填空的范例。
代码范例
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
fill_mask_zh = pipeline(Tasks.fill_mask, model='langboat/mengzi-bert-base')
result_zh = fill_mask_zh('生活的真谛是[MASK]。')
print(result_zh['text'])
九项中文任务得分(未使用任何的数据增强)
| Model | AFQMC | TNEWS | IFLYTEK | CMNLI | WSC | CSL | CMRC2018 | C3 | CHID | |-|-|-|-|-|-|-|-|-|-| |RoBERTa-wwm-ext| 74.30 | 57.51 | 60.80 | 80.70 | 67.20 | 80.67 | 77.59 | 67.06 | 83.78 | |Mengzi-BERT-base| 74.58 | 57.97 | 60.68 | 82.12 | 87.50 | 85.40 | 78.54 | 71.70 | 84.16 |
RoBERTa-wwm-ext 的分数来自 CLUE 榜单。
模型局限性以及可能的偏差
模型在大量无监督数据上训练,不包含下游任务,需要在特定任务上 finetune 后使用。
相关论文以及引用信息
如果我们的模型对您有帮助,请您引用我们的文章:
@misc{zhang2021mengzi,
title={Mengzi: Towards Lightweight yet Ingenious Pre-trained Models for Chinese},
author={Zhuosheng Zhang and Hanqing Zhang and Keming Chen and Yuhang Guo and Jingyun Hua and Yulong Wang and Ming Zhou},
year={2021},
eprint={2110.06696},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
评论