Home

Awesome

中文说明 | English

<p align="center"> <br> <img src="./pics/banner.png" width="500"/> <br> </p> <p align="center"> <a href="https://github.com/ymcui/Chinese-Minority-PLM/blob/master/LICENSE"> <img alt="GitHub" src="https://img.shields.io/github/license/ymcui/Chinese-Minority-PLM.svg?color=blue&style=flat-square"> </a> </p>

在自然语言处理领域中,预训练语言模型(Pre-trained Language Model, PLM)已成为重要的基础技术,在多语言的研究中,预训练模型的使用也愈加普遍。为了促进中国少数民族语言信息处理的研究与发展,哈工大讯飞联合实验室(HFL)发布少数民族语言预训练模型CINO (Chinese mINOrity PLM)。


中文LERT | 中英文PERT | 中文MacBERT | 中文ELECTRA | 中文XLNet | 中文BERT | 知识蒸馏工具TextBrewer | 模型裁剪工具TextPruner

查看更多哈工大讯飞联合实验室发布的资源:https://github.com/ymcui/HFL-Anthology

新闻

2022/10/29 我们提出了一种融合语言学信息的预训练模型LERT。查看:https://github.com/ymcui/LERT

2022/8/23 CINO被国际重要会议COLING 2022录用为长文。camera-ready结束后,我们将更新论文最终版并发布相应资源。

2022/02/21 更新CINO-small模型,6层transformer结构,参数量148M。

2022/01/25 更新CINO-v2模型与WCM-v2数据集,少数民族语言分类任务效果提升。

2021/12/17 哈工大讯飞联合实验室全新推出模型裁剪工具包TextPruner,欢迎试用。

2021/10/25 CINO-large模型、少数民族语言分类任务数据集Wiki-Chinese-Minority(WCM)数据集已开放下载使用。

内容导引

章节描述
简介介绍少数民族语言预训练模型与相关数据集
模型下载模型下载地址与使用说明
快速加载介绍了如何使用🤗Transformers快速加载模型
少数民族语言分类数据集介绍少数民族语言分类数据集
实验结果列举了模型在NLU任务上的效果
引用技术报告与引用

简介

多语言预训练模型(Multilingual Pre-trained Language Model),如mBERT、XLM-R等,通过在预训练阶段增加语言数量、采用MLM自监督训练等方式,使预训练模型具备了多语言(multilingual)和跨语言(cross-lingual)理解的能力。然而,由于国内少数民族语言语料的稀缺以及国际上研究的忽视,现有的多语言模型无法很好地处理国内少数民族语言文字。

本项工作的主要贡献:

该模型涵盖:

<p align="center"> <br> <img src="./pics/chinese_minority_model.png" width="1000"/> <br> </p>

模型下载

直接下载

目前提供PyTorch版本的CINO-small、CINO-base和CINO-large模型的下载(推荐使用v2版本),后续将陆续更新其他规模与版本的模型。

注意:

模型简称模型文件大小Google下载百度网盘下载
CINO-large-v21.6GBPyTorch模型PyTorch模型(密码3fjt)
CINO-base-v2705MBPyTorch模型PyTorch模型(密码qnvc)
CINO-small-v2564MBPyTorch模型PyTorch模型(密码9mc8)
CINO-large2.2GBPyTorch模型PyTorch模型(密码wpyh)

通过🤗transformers下载

通过🤗transformers模型库可以下载TensorFlow (v2)和PyTorch版本模型。

下载方法:点击任意需要下载的模型 → 选择"Files and versions"选项卡 → 下载对应的模型文件。

模型简称模型文件大小transformers模型库地址
CINO-large-v21.6GBhttps://huggingface.co/hfl/cino-large-v2
CINO-base-v2705MBhttps://huggingface.co/hfl/cino-base-v2
CINO-small-v2564MBhttps://huggingface.co/hfl/cino-small-v2
CINO-large2.2GBhttps://huggingface.co/hfl/cino-large

模型使用

PyTorch版本包含3个文件:

pytorch_model.bin        # 模型权重
config.json              # 模型参数
sentencepiece.bpe.model  # 词表

CINO的结构与XLM-R相同,可直接使用Transformers中的XLMRobertaModel模型进行加载:

from transformers import XLMRobertaTokenizer, XLMRobertaModel
tokenizer = XLMRobertaTokenizer.from_pretrained("PATH_TO_MODEL_DIR")
model = XLMRobertaModel.from_pretrained("PATH_TO_MODEL_DIR")

快速加载

依托于🤗Transformers,可轻松调用以上CINO模型。

from transformers import XLMRobertaTokenizer, XLMRobertaModel
tokenizer = XLMRobertaTokenizer.from_pretrained("MODEL_NAME")
model = XLMRobertaModel.from_pretrained("MODEL_NAME")

其中MODEL_NAME对应列表如下:

模型名MODEL_NAME
CINO-large-v2hfl/cino-large-v2
CINO-base-v2hfl/cino-base-v2
CINO-small-v2hfl/cino-small-v2
CINO-largehfl/cino-large

少数民族语言分类数据集

Wiki-Chinese-Minority(WCM)

我们基于少数民族语言维基百科语料及其分类体系标签,构建了分类任务数据集 Wiki-Chinese-Minority(WCM)。该数据集覆盖了蒙古语、藏语、维吾尔语、粤语、朝鲜语、哈萨克语,中文,包括艺术、地理、历史、自然、自然科学、人物、技术、教育、经济和健康十个类别。

各个语言上取weighted-F1为评测指标。计算所有语言的weighted-F1平均作为总体评价指标。

数据集名称Google下载百度网盘下载
Wiki-Chinese-Minority-v2(WCM-v2)Google Drive
Wiki-Chinese-Minority(WCM)Google Drive
注:语料数据无法通过百度网盘分享,请通过Google Drive下载。

WCM-v2版本调整了各类别与语言的样本数量,分布相对更均衡。WCM-v2版本数据分布:

类别蒙古语藏语维吾尔语粤语朝鲜语哈萨克语中文-Train中文-Dev中文-Test
艺术13514133878063482657331335
地理76339256155011975721285415891644
历史6611104997764911771227248
自然7076064423611105134110
自然科学779133203365328802314317287
人物1402111012306841697706953924
技术19116383298085151184134152
教育6102894391392936130118
经济20500445575637922113109
健康10611162722998935516773
总计297311103005943655862583200039954000

数据说明:

该数据集尚处于alpha阶段,之后的版本可能会有一定改动。
后续还将有其他数据集发布,敬请期待。

实验结果

我们在YNAT、TNCC和Wiki-Chinese-Minority三个数据集上比较了不同模型的效果。

对于同一任务上的各个预训练模型,使用统一的训练轮数、学习率等参数。

朝鲜语文本分类(YNAT)

#Train#Dev#Test#ClassesMetric
45,6789,1079,1077macro-F1

实验参数:学习率为1e-5,batch_size为16。

实验结果:

模型开发集
XLM-R-large<sup>[1]</sup>87.3
XLM-R-large<sup>[2]</sup>86.3
CINO-small-v284.1
CINO-base-v285.5
CINO-large-v287.2
CINO-large87.4

[1] 论文中的结果。
[2] 复现结果,与CINO-large使用相同的学习率。

藏语文本分类(TNCC)

#Train<sup>[1]</sup>#Dev#Test#ClassesMetric
7,36392092012macro-F1

实验参数:学习率为5e-6,batch_size为16。

实验结果:

模型开发集测试集
TextCNN65.163.4
XLM-R-large14.313.3
CINO-small-v272.166.7
CINO-base-v270.368.4
CINO-large-v272.971.0
CINO-large71.368.6

注:原论文中未提供train/dev/test的划分方式。因此,我们重新对数据集按8:1:1做了划分。

Wiki-Chinese-Minority

在中文训练集上训练,在其他语言上做zero-shot测试。各语言的评测指标为weighted-F1。

实验参数:学习率为7e-6,batch_size为32。

WCM-v2实验结果:

模型蒙古语藏语维吾尔语粤语朝鲜语哈萨克语中文Average
XLM-R-base41.225.784.566.143.123.088.353.1
XLM-R-large53.824.589.467.345.430.088.357.0
CINO-small-v260.347.986.564.643.233.287.960.5
CINO-base-v262.152.787.868.145.638.389.063.4
CINO-large-v273.158.990.166.945.142.088.966.4

示例代码

参见examples目录,目前包括

引用

如果本目录中的内容对你的研究工作有所帮助,欢迎引用下述论文。

@inproceedings{yang-etal-2022-cino,
    title = "{CINO}: A {C}hinese Minority Pre-trained Language Model",
    author = "Yang, Ziqing  and
      Xu, Zihang  and
      Cui, Yiming  and
      Wang, Baoxin  and
      Lin, Min  and
      Wu, Dayong  and
      Chen, Zhigang",
    booktitle = "Proceedings of the 29th International Conference on Computational Linguistics",
    month = oct,
    year = "2022",
    address = "Gyeongju, Republic of Korea",
    publisher = "International Committee on Computational Linguistics",
    url = "https://aclanthology.org/2022.coling-1.346",
    pages = "3937--3949"
}

关注我们

欢迎关注哈工大讯飞联合实验室官方微信公众号,了解最新的技术动态。

qrcode.jpg

问题反馈

如有问题,请在GitHub Issue中提交。