中文预训练模型汇总

Table of Contents

1. 中文预训练模型汇总

1.1. 通用寻找方式,基于huggingface

1.1.1. 网址:https://huggingface.co/

下面以bert-base-chinese演示其使用方式。

1.1.2. 使用步骤

  1. 下载词汇表和配置文件

    在下图所示的地方可以看见huggingface维护的整体的git仓库。 20210524191253.png

    在Use in Transformers中进行导入操作

    git clone https://huggingface.co/bert-base-chinese
    

    注意,如果没有lfs支持的话,这样无法下载pytorch_model.bin文件。

  2. 下载预训练模型库

    可以在浏览器中通过点击,或者其他的一些方法,下载该二进制文件,然后覆盖到该目录之下。

  3. 加载模型的思路
    1. 加载tokenizer

      不建议用自动加载,建议自己写一下加载方式,主要语法就是MoumouTokenizer.from_pretrained(dirpath)这种格式。注意记得添加自定义的特殊token

    2. 加载预训练模型

      不建议自动加载,主要语法是MoumouXingshiModel.from_pretrained(dirpath)这种。

    3. 基于任务设置合理的模型

      上述的预训练模型,可以被不同的类引用,如BERT,可能就可以用在句子分类、token分类、回归问题等等各种领域。 参考地址:https://huggingface.co/transformers/model_doc/bert.html

1.2. NLU模型

1.2.1. electra

挺多的,就推荐这个吧!感觉还不错。

地址: https://huggingface.co/hfl/chinese-electra-180g-small-discriminator

注意:在使用electra时,如果添加了额外的token,需要做一个resize,一个参考如下面代码所示:

model = ElectraForTokenClassification.from_pretrained(args.import_model_path, num_labels=102)
model.resize_token_embeddings(len(tokenizer))

此处的tokenizer为ElectraTokenizer。

类似的roberta都有这个问题。

1.3. NLG模型

1.3.1. GPT-2的各种资源

目前在使用的是github上一个xd的版本,感觉还挺好用的。

传送门:https://github.com/ghosthamlet/gpt2-ml-torch

代码都不用怎么看,预训练模型搞到手就可以了。

1.3.2. 待添加


Author: Liang Zi (frostliangzi@qq.com) Create Date: Last modified: 2024-03-09 Sat 20:56 Creator: Emacs 28.1 (Org mode 9.5.2)