基于BERT的中文Base预训练模型介绍(文档更新中)
BERT的中文Base预训练模型是使用wikipedia数据和masked language model任务训练的中文自然语言理解预训练模型。
模型描述
BERT是一种基于Transformer Encoder模块的双向编码表示模型。针对大规模无标注语料上,BERT通过MLM与NSP任务进行无监督预训练,可以很好地对自然语言建模。详见论文BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
本模型为Base规模(Layer-12 / Hidden-768 / Head-12),参数规模约为102M。
期望模型使用方式以及适用范围
本模型主要用于中文相关下游任务微调。用户可以基于自有训练数据进行微调。具体调用方式请参考代码示例。
如何使用
在安装完成ModelScope-lib之后即可基于nlpbertbackbonebasestd进行下游任务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 cfgmodifyfn(cfg): # 将backbone模型加载到句子相似度的模型类中 cfg.task = Tasks.sentencesimilarity # 使用句子相似度的预处理器 cfg['preprocessor'] = {'type': Preprocessors.sensim_tokenizer}
# 演示代码修改,正常使用不用修改
cfg.train.dataloader.workers_per_gpu = 0
cfg.evaluation.dataloader.workers_per_gpu = 0
# 补充数据集的特性
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
评论