孟子BERT预训练模型-中文-base
基于300G中文语料库的BERT模型。使用了Masked language modeling(MLM), part-of-speech(POS) tagging and sentence order prediction(SOP) 作为训练任务
  • 模型资讯
  • 模型资料

孟子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}
}