---
title: nlp_bert_backbone_large_std
canonical_url: "https://www.modelscope.cn/models/damo/nlp_bert_backbone_large_std"
md_url: "https://www.modelscope.cn/models/damo/nlp_bert_backbone_large_std.md"
repository: damo/nlp_bert_backbone_large_std
chinese_name: "BERT预训练模型-中文-large"
last_updated: 2022-12-23
license: "Apache License 2.0"
pipeline_tag: fill-mask
tasks:
  - fill-mask
model_type:
  - bert
library_name:
  - pytorch
frameworks:
  - pytorch
language:
  - ch
domain:
  - nlp
downloads: 1201
stars: 7
tags:
  - transformer
  - "arxiv:1810.04805"
---

# nlp_bert_backbone_large_std

> nlp_bert_backbone_large_std - damo 在 ModelScope 开源的模型。基于BERT的中文Large预训练模型

damo/nlp_bert_backbone_large_std 是 ModelScope 魔搭社区上的fill-mask模型，采用 Apache License 2.0 许可。

- **Repository**: damo/nlp_bert_backbone_large_std
- **License**: Apache License 2.0
- **Tasks**: fill-mask
- **Tags**: transformer, arxiv:1810.04805
- **Downloads**: 1201
- **Stars**: 7
- **Last updated**: 2022-12-23

Source: https://www.modelscope.cn/models/damo/nlp_bert_backbone_large_std

---

# 基于BERT的中文Large预训练模型介绍（文档更新中）

BERT的中文Large预训练模型是使用wikipedia数据和masked language model任务训练的中文自然语言理解预训练模型。

## 模型描述

BERT是一种基于Transformer Encoder模块的双向编码表示模型。针对大规模无标注语料上，BERT通过MLM与NSP任务进行无监督预训练，可以很好地对自然语言建模。详见论文[BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
](https://arxiv.org/abs/1810.04805)
![BERT](./resources/BERT_maas.png)

本模型为Large规模（Layer-24 / Hidden-1024 / Head-16)，参数规模约为326M。

## 期望模型使用方式以及适用范围
本模型主要用于中文相关下游任务微调。用户可以基于自有训练数据进行微调。具体调用方式请参考代码示例。

### 如何使用
在安装完成ModelScope-lib之后即可基于nlp_bert_backbone_large_std进行下游任务finetune

#### 代码范例

```python
from modelscope.metainfo import Preprocessors
from modelscope.msdatasets import MsDataset
from modelscope.trainers import build_trainer
from modelscope.utils.constant import Tasks


# 通过这个方法修改cfg
def cfg_modify_fn(cfg):
    # 将backbone模型加载到句子相似度的模型类中
    cfg.task = Tasks.sentence_similarity
    # 使用句子相似度的预处理器
    cfg['preprocessor'] = {'type': Preprocessors.sen_sim_tokenizer}

    # 演示代码修改，正常使用不用修改
    cfg.train.dataloader.workers_per_gpu = 0
    cfg.evaluation.dataloader.workers_per_gpu = 0
    cfg['train']['dataloader']['batch_size_per_gpu'] = 4

    # 补充数据集的特性
    cfg['dataset'] = {
        'train': {
            # 实际label字段内容枚举，在训练backbone时需要传入
            'labels': ['0', '1'],
            # 第一个字段的key
            'first_sequence': 'sentence1',
            # 第二个字段的key
            'second_sequence': 'sentence2',
            # label的key
            'label': 'label',
        }
    }
    # lr_scheduler的配置
    cfg.train.lr_scheduler.total_iters = int(len(dataset['train']) / 32) * cfg.train.max_epochs
    return cfg

#使用clue的afqmc进行训练
dataset = MsDataset.load('clue', subset_name='afqmc')
kwargs = dict(
    model='damo/nlp_bert_backbone_large_std',
    train_dataset=dataset['train'],
    eval_dataset=dataset['validation'],
    work_dir='/tmp',
    cfg_modify_fn=cfg_modify_fn)

#使用nlp-base-trainer
trainer = build_trainer(name='nlp-base-trainer', default_args=kwargs)
trainer.train()
```

### 模型局限性以及可能的偏差
基于中文数据进行训练，模型训练数据有限，效果可能存在一定偏差。

## 训练数据介绍
数据来源于[https://huggingface.co/datasets/wikipedia](https://huggingface.co/datasets/wikipedia)

## 模型训练流程
在中文wiki等无监督数据上，通过MLM以及NSP两个辅助任务训练得到。
## 数据评估及结果
暂无

### 相关论文以及引用信息
如果我们的模型对您有帮助，请您引用文章：
```BibTex
@article{devlin2018bert,
  title={Bert: Pre-training of deep bidirectional transformers for language understanding},
  author={Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina},
  journal={arXiv preprint arXiv:1810.04805},
  year={2018}
}
```
