Home

Awesome

中文 | English

<p align="center"> <br> <img src="./pics/banner.png" width="400"/> <br> </p> <p align="center"> <a href="https://github.com/ymcui/LERT/blob/main/LICENSE"> <img alt="GitHub" src="https://img.shields.io/github/license/ymcui/LERT.svg?color=blue&style=flat-square"> </a> </p> 通常认为预训练语言模型(Pre-trained Language Model, PLM)已经能够从海量文本中自动学习语言学知识。为了验证通过显式注入语言学知识预训练模型能否获得进一步性能提升,在本项目中哈工大讯飞联合实验室(HFL)提出了一种<b>语言学信息增强的预训练模型LERT</b> ,融合了多种语言学知识。大量实验结果表明,在同等训练数据规模下,LERT能够带来显著性能提升。LERT相关资源将陆续开源,以供学术研究参考。

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

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

新闻

2023/3/28 开源了中文LLaMA&Alpaca大模型,可快速在PC上部署体验,查看:https://github.com/ymcui/Chinese-LLaMA-Alpaca

2022/11/25 微信公众号解读发布:查看新闻

<b>2022/11/11 本项目相关的论文已在arXiv预印本上线,地址:https://arxiv.org/abs/2211.05344 </b>

2022/10/26 模型下载链接、基线系统效果已更新,欢迎提前下载使用。其余信息待补充。

2022/10/18 感谢各位的关注,本项目在逐渐完善内容中。

内容导引

章节描述
简介LERT预训练模型的基本原理
模型下载LERT预训练模型的下载地址
快速加载如何使用🤗Transformers快速加载模型
基线系统效果中文NLU任务上的基线系统效果
FAQ常见问题答疑
引用本项目的技术报告

简介

预训练语言模型(PLM)已经成为自然语言处理领域的一个代表性基础模型(Foundation Model)。大多数预训练模型都是在文本的表面形式上执行语言学无关的预训练任务,如掩码语言模型(MLM)。为了进一步赋予预训练模型以更丰富的语言特征,在本文中,我们旨在提出一种简单而有效的方法将语言学特征融入预训练语言模型。我们提出语言学信息增强的预训练模型LERT。LERT除了使用掩码语言模型来进行预训练之外,还采用了3种语言学任务进行训练。为了更好地学习语言学特征,在本文中我们提出了一种语言学启发的预训练机制(LIP)。 我们在十个中文自然语言理解任务进行了广泛的实验。实验结果表明,LERT相比各种可比基线带来明显的性能提升。此外,通过各种分析实验,进一步证明了LERT的有效性。

主要贡献:

模型下载

TensorFlow 1.x版本(原版)

模型简称层数隐层大小注意力头参数量Google下载百度盘下载
Chinese-LERT-large24102416~325M[TensorFlow][TensorFlow]<br/>(密码:s82t)
Chinese-LERT-base1276812~102M[TensorFlow][TensorFlow]<br/>(密码:9jgi)
Chinese-LERT-small122564~15M[TensorFlow][TensorFlow]<br/>(密码:4vuy)

相关说明:

以TensorFlow版Chinese-LERT-base为例,下载完毕后对zip文件进行解压得到:

chinese_lert_base_L-12_H-768_A-12.zip
    |- lert_model.ckpt      # 模型权重
    |- lert_model.meta      # 模型meta信息
    |- lert_model.index     # 模型index信息
    |- lert_config.json     # 模型参数
    |- vocab.txt            # 词表(与谷歌原版一致)

PyTorch以及TensorFlow 2版本

模型简称模型文件大小transformers模型库地址(支持MLM填空交互)
Chinese-LERT-large~1.2Ghttps://huggingface.co/hfl/chinese-lert-large
Chinese-LERT-base~400Mhttps://huggingface.co/hfl/chinese-lert-base
Chinese-LERT-small~60Mhttps://huggingface.co/hfl/chinese-lert-small

相关说明:

快速加载

由于LERT主体部分仍然是BERT结构,用户可以使用transformers库轻松调用LERT模型。

⚠️ 注意:本目录中的所有模型均使用BertTokenizer以及BertModel加载。

from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained("MODEL_NAME")
model = BertModel.from_pretrained("MODEL_NAME")

其中MODEL_NAME对应列表如下:

模型名MODEL_NAME
Chinese-LERT-largehfl/chinese-lert-large
Chinese-LERT-basehfl/chinese-lert-base
Chinese-LERT-smallhfl/chinese-lert-small

基线系统效果

论文中在以下10个任务上进行了效果测试。GitHub目录中仅显示其中一部分,完整结果请参考论文。

任务类别数据集
抽取式阅读理解CMRC 2018(简体中文)DRCD(繁体中文)
文本分类(单句)ChnSentiCorpTNEWS
文本分类(句对)XNLILCQMCBQ CorpusOCNLI
命名实体识别MSRA-NERPeople's Daily(人民日报)

实验结果表格中,

  1. 括号外为多次finetune最大值,括号内为平均值。
  2. BERT(即谷歌原版BERT-base)模型外,其余模型均使用同等数据量进行训练。
  3. RoBERTa-base和RoBERTa-large分别指RoBERTa-wwm-extRoBERTa-wwm-ext-large

阅读理解(CMRC 2018)

CMRC 2018数据集是哈工大讯飞联合实验室发布的中文机器阅读理解数据(抽取式),形式与SQuAD相同。(评价指标:EM / F1)

模型开发集测试集挑战集
↓ 以下为base模型
BERT65.5 (64.4) / 84.5 (84.0)70.0 (68.7) / 87.0 (86.3)18.6 (17.0) / 43.3 (41.3)
BERT-wwm-ext67.1 (65.6) / 85.7 (85.0)71.4 (70.0) / 87.7 (87.0)24.0 (20.0) / 47.3 (44.6)
RoBERTa-base67.4 (66.5) / 87.2 (86.5)72.6 (71.4) / 89.4 (88.8)26.2 (24.6) / 51.0 (49.1)
MacBERT-base68.5 (67.3) / 87.9 (87.1)73.2 (72.4) / 89.5 (89.2)30.2 (26.4) / 54.0 (52.2)
PERT-base68.5 (68.1) / 87.2 (87.1)72.8 (72.5) / 89.2 (89.0)28.7 (28.2) / 55.4 (53.7)
LERT-base69.2 (68.4) / 88.1 (87.9)73.5 (72.8) / 89.7 (89.4)27.7 (26.7) / 55.9 (54.6)
↓ 以下为large模型
RoBERTa-large68.5 (67.6) / 88.4 (87.9)74.2 (72.4) / 90.6 (90.0)31.5 (30.1) / 60.1 (57.5)
MacBERT-large70.7 (68.6) / 88.9 (88.2)74.8 (73.2) / 90.7 (90.1)31.9 (29.6) / 60.2 (57.6)
PERT-large72.2 (71.0) / 89.4 (88.8)76.8 (75.5) / 90.7 (90.4)32.3 (30.9) / 59.2 (58.1)
LERT-large71.2 (70.5) / 89.5 (89.1)75.6 (75.1) / 90.9 (90.6)32.3 (29.7) / 61.2 (59.2)

单句文本分类(ChnSentiCorp、TNEWS)

以下为情感分类数据集ChnSentiCorp和新闻分类数据集TNEWS结果。(评价指标:Acc)

模型ChnSentiCorp-开发集TNEWS-开发集
↓ 以下为base模型
BERT-wwm-ext95.4 (94.6)57.0 (56.6)
RoBERTa-base94.9 (94.6)57.4 (56.9)
MacBERT-base95.2 (94.8)57.4 (57.1)
PERT-base94.0 (93.7)56.7 (56.1)
LERT-base94.9 (94.7)57.5 (57.1)
↓ 以下为large模型
RoBERTa-large95.8 (94.9)58.8 (58.4)
MacBERT-large95.7 (95.0)59.0 (58.8)
PERT-large94.5 (94.0)57.4 (57.2)
LERT-large95.6 (94.9)58.7 (58.5)

句对文本分类(XNLI、OCNLI)

以下为自然语言推断XNLI和OCNLI数据集结果。(评价指标:Acc)

模型XNLI-开发集OCNLI-开发集
↓ 以下为base模型
BERT-wwm-ext79.4 (78.6)76.0 (75.3)
RoBERTa-base80.0 (79.2)76.5 (76.0)
MacBERT-base80.3 (79.7)77.0 (76.5)
PERT-base78.8 (78.1)75.3 (74.8)
LERT-base80.2 (79.5)78.2 (77.5)
↓ 以下为large模型
RoBERTa-large82.1 (81.3)78.5 (78.2)
MacBERT-large82.4 (81.8)79.0 (78.7)
PERT-large81.0 (80.4)78.1 (77.8)
LERT-large81.7 (81.2)79.4 (78.9)

命名实体识别(MSRA、PD)

以下为MSRA(测试集)和人民日报数据集(开发集)结果。(评价指标:F值)

模型MSRA-测试集PD-开发集
↓ 以下为base模型
BERT-wwm-ext95.3 (94.9)95.3 (95.1)
RoBERTa-base95.5 (95.1)95.1 (94.9)
MacBERT-base95.3 (95.1)95.2 (94.9)
PERT-base95.6 (95.3)95.3 (95.1)
LERT-base95.7 (95.4)95.6 (95.4)
↓ 以下为large模型
RoBERTa-large95.5 (95.5)95.7 (95.4)
MacBERT-large96.2 (95.9)95.8 (95.7)
PERT-large96.2 (96.0)96.1 (95.8)
LERT-large96.3 (96.0)96.3 (96.0)

小模型效果

模型CMRC 2018DRCDXNLILCQMCBQCSC参数量
RBT362.2 / 81.875.0 / 83.972.385.183.392.838M
ELECTRA-small67.8 / 83.479.0 / 85.873.185.982.094.312M
ELECTRA-small (180G)68.5 / 85.282.9 / 88.774.685.882.193.612M
LERT-small67.8 / 85.283.2 / 89.475.285.383.494.015M

以上报告的是测试集上的效果,更多结果请查看论文。

FAQ

Q1:为什么PyTorch版本不包含linguistic heads?
A1:PyTorch版本模型由TF原版转换而来。为了可以直接使用bert相关接口读取LERT模型,PyTorch版本中只包含了Transformer+MLM部分的权重。如需完整版本的模型,请下载TF 1.x版本的模型。另外需要说明的是,如需直接在下游任务中使用或者二次预训练的话是不需要linguistic heads这部分权重的。

Q2:有英文模型供下载吗?
A2:暂时无计划在英文上训练。

Q3:配置文件、词表在哪里?
A3:见src目录,或下载对应的模型,压缩包内包含上述文件。

Q4:模型可以进行MLM预测吗?
A4:可以。开放的权重包含完整的MLM权重。推荐使用huggingface在线互动demo体验:https://huggingface.co/hfl

Q5:如何预测被mask的单词的POS/NER/DEP标签?
A5:见src目录。通过run_pretraining.py文件加载TF 1.15版权重(包含完整linguistic heads)即可进行语言学标签预测。每个语言学特征对应的特征列表请查看论文或src目录中给出的提示。

引用

如果本项目中的模型或者相关结论有助于您的研究,请引用以下文章:https://arxiv.org/abs/2211.05344

@article{cui2022lert,
      title={LERT: A Linguistically-motivated Pre-trained Language Model}, 
      author={Cui, Yiming and Che, Wanxiang and Wang, Shijin and Liu, Ting},
      year={2022},
      eprint={2211.05344},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

关注我们

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

qrcode.png

问题反馈

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