孟子BERT预训练模型-中文-Lite
基于语言学信息融入和训练加速等方法,我们研发了Mengzi 系列模型。这个模型页面提供了孟子中文BERT预训练模型Lite版本(6层),可以用于下游任务的微调。
  • 模型资讯
  • 模型资料

孟子中文BERT L6-H768 预训练模型

mengzi-bert-L6-H768是mengzi-bert-large的蒸馏版本。

详细的技术报告请参考: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-L6-H768')
result_zh = fill_mask_zh('生活的真谛是[MASK]。')
print(result_zh['text'])

模型局限性以及可能的偏差

基于中文数据进行训练,模型训练数据有限,效果可能存在一定偏差。

9个中文任务的score(没有任何数据增强)

Model AFQMC TNEWS IFLYTEK CMNLI WSC CSL CMRC2018 C3 CHID
Mengzi-BERT-L6-H768 74.75 56.68 60.22 81.10 84.87 85.77 78.06 65.49 80.59
Mengzi-BERT-base 74.58 57.97 60.68 82.12 87.50 85.40 78.54 71.70 84.16
RoBERTa-wwm-ext 74.30 57.51 60.80 80.70 67.20 80.67 77.59 67.06 83.78

RoBERTa-wwm-ext scores are from CLUE baseline

相关论文以及引用信息

如果我们的模型对您有帮助,请您引用我们的文章:

@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}
}