Chinese-ELECTRA
Chinese-ELECTRA 是由哈工大讯飞联合实验室(HFL)发布的一款中文预训练语言模型,基于谷歌与斯坦福大学提出的 ELECTRA 框架开发而成。它主要用于理解和生成中文文本,能够为各类自然语言处理任务提供强大的语义表示基础。
该模型解决了在中文场景下高效、轻量级预训练模型的需求。传统 BERT 等模型虽然效果出色,但参数量大、计算成本高。而 Chinese-ELECTRA 通过创新的“替换词检测”训练方式,在保持优异性能的同时显著减少了模型体积。例如,其最小的 ELECTRA-small 模型参数量仅为 BERT-base 的约十分之一,但在多项任务上仍可达到相近甚至更好的效果,有效平衡了效果与效率。
Chinese-ELECTRA 主要面向人工智能领域的研究人员和开发者,特别是从事中文自然语言处理相关工作的工程师、学者以及学生。无论是进行文本分类、情感分析、阅读理解,还是构建智能问答、信息抽取等应用,都可以基于此模型进行微调和部署,从而加速开发流程并提升模型性能。
其核心的技术亮点在于采用了 ELECTRA 的预训练策略,使用生成器-判别器架构进行训练,让判别器直接学习区分输入词是否被替换,相比传统的掩码语言建模方法,训练效率更高,且在下游任务中表现稳健。项目提供了多种规模的模型选择,并支持通过 Transformers、PaddleHub 等主流工具快速加载,方便集成到现有代码中。
此外,Chinese-ELECTRA 是哈工大讯飞联合实验室开源系列模型中的重要组成部分,与中文 BERT、XLNet、MacBERT 等模型共同丰富了中文预训练生态,持续推动中文自然语言处理技术的进步与应用落地。
使用场景
一家金融科技公司的算法团队正在开发一个智能客服系统,需要快速构建一个能够准确理解用户关于理财产品咨询意图的文本分类模型,并部署在资源受限的边缘服务器上。
没有 Chinese-ELECTRA 时
- 模型选择困难:团队最初尝试使用参数量大的 BERT-base 模型,虽然效果尚可,但模型体积庞大,推理速度慢,难以满足边缘服务器对响应延迟的严格要求。
- 计算资源消耗大:在有限的 GPU 内存下,微调和部署 BERT-base 模型非常吃力,经常需要牺牲批处理大小或进行复杂的模型压缩,增加了开发和运维成本。
- 定制化成本高:为了提升速度,团队考虑过训练更小的自定义模型,但这需要从零开始准备海量中文语料进行预训练,时间和算力投入巨大,项目周期被严重拉长。
- 效果与效率难以兼得:在尝试其他轻量级模型时,往往发现模型性能(如分类准确率)相比 BERT-base 有显著下降,导致需要在模型效果和系统效率之间做出痛苦权衡。
使用 Chinese-ELECTRA 后
- 获得高性能轻量级模型:团队选择了 Chinese-ELECTRA-small 模型,其参数量仅为 BERT-base 的约1/10,但官方基准测试显示其性能可与之媲美,完美匹配了资源受限场景的需求。
- 大幅降低部署与推理成本:小体积的 ELECTRA-small 模型轻松部署在边缘服务器的有限资源中,推理速度显著提升,满足了实时交互的低延迟要求,同时减少了硬件成本。
- 开箱即用,加速开发:直接下载预训练好的 Chinese-ELECTRA 模型,在自家的理财产品问答数据上进行快速微调即可,省去了从零预训练的漫长过程和巨大开销,项目得以快速推进。
- 实现效果与效率的平衡:在实际的意图分类任务中,使用 ELECTRA-small 微调后的模型准确率与之前使用 BERT-base 的结果相近,同时推理速度提升了数倍,成功在保持高精度的前提下满足了性能指标。
Chinese-ELECTRA 通过提供效果优异且体积小巧的预训练模型,使开发团队能够在资源受限的生产环境中,高效地获得先进的自然语言理解能力。
运行环境要求
- Linux
- macOS
- Windows
- 非必需,但推荐用于训练和推理
- 支持 NVIDIA GPU,CUDA 版本未明确说明
未说明

快速开始
谷歌与斯坦福大学共同研发的最新预训练模型ELECTRA因其小巧的模型体积以及良好的模型性能受到了广泛关注。 为了进一步促进中文预训练模型技术的研究与发展,哈工大讯飞联合实验室基于官方ELECTRA训练代码以及大规模的中文数据训练出中文ELECTRA预训练模型供大家下载使用。 其中ELECTRA-small模型可与BERT-base甚至其他同等规模的模型相媲美,而参数量仅为BERT-base的1/10。
本项目基于谷歌&斯坦福大学官方的ELECTRA:https://github.com/google-research/electra
中文LERT | 中英文PERT | 中文MacBERT | 中文ELECTRA | 中文XLNet | 中文BERT | 知识蒸馏工具TextBrewer | 模型裁剪工具TextPruner
查看更多哈工大讯飞联合实验室(HFL)发布的资源:https://github.com/ymcui/HFL-Anthology
新闻
2023/3/28 开源了中文LLaMA&Alpaca大模型,可快速在PC上部署体验,查看:https://github.com/ymcui/Chinese-LLaMA-Alpaca
2022/10/29 我们提出了一种融合语言学信息的预训练模型LERT。查看:https://github.com/ymcui/LERT
2022/3/30 我们开源了一种新预训练模型PERT。查看:https://github.com/ymcui/PERT
2021/12/17 哈工大讯飞联合实验室推出模型裁剪工具包TextPruner。查看:https://github.com/airaria/TextPruner
2021/10/24 哈工大讯飞联合实验室发布面向少数民族语言的预训练模型CINO。查看:https://github.com/ymcui/Chinese-Minority-PLM
2021/7/21 由哈工大SCIR多位学者撰写的《自然语言处理:基于预训练模型的方法》已出版,欢迎大家选购。
2020/12/13 基于大规模法律文书数据,我们训练了面向司法领域的中文ELECTRA系列模型,查看模型下载,司法任务效果。
点击这里查看历史新闻
2020/10/22 ELECTRA-180g已发布,增加了CommonCrawl的高质量数据,查看[模型下载](#模型下载)。2020/9/15 我们的论文"Revisiting Pre-Trained Models for Chinese Natural Language Processing"被Findings of EMNLP录用为长文。
2020/8/27 哈工大讯飞联合实验室在通用自然语言理解评测GLUE中荣登榜首,查看GLUE榜单,新闻。
2020/5/29 Chinese ELECTRA-large/small-ex已发布,请查看模型下载,目前只提供Google Drive下载地址,敬请谅解。
2020/4/7 PyTorch用户可通过🤗Transformers加载模型,查看快速加载。
2020/3/31 本目录发布的模型已接入飞桨PaddleHub,查看快速加载。
2020/3/25 Chinese ELECTRA-small/base已发布,请查看模型下载。
内容导引
| 章节 | 描述 |
|---|---|
| 简介 | 介绍ELECTRA基本原理 |
| 模型下载 | 中文ELECTRA预训练模型下载 |
| 快速加载 | 介绍了如何使用🤗Transformers、PaddleHub快速加载模型 |
| 基线系统效果 | 中文基线系统效果:阅读理解、文本分类等 |
| 使用方法 | 模型的详细使用方法 |
| FAQ | 常见问题答疑 |
| 引用 | 本目录的技术报告 |
简介
ELECTRA提出了一套新的预训练框架,其中包括两个部分:Generator(生成器)和Discriminator(判别器)。
- Generator: 一个小的MLM(掩码语言模型),在[MASK]的位置预测原来的词。Generator将用来把输入文本做部分词的替换。
- Discriminator: 判断输入句子中的每个词是否被替换,即使用Replaced Token Detection (RTD,替换词检测)预训练任务,取代了BERT原始的Masked Language Model (MLM,掩码语言模型)。需要注意的是这里并没有使用Next Sentence Prediction (NSP,下一句预测)任务。
在预训练阶段结束之后,我们只使用Discriminator作为下游任务精调的基模型。
更详细的内容请查阅ELECTRA论文:ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators

模型下载
ELECTRA-large, Chinese: 24-layer, 1024-hidden, 16-heads, 324M parametersELECTRA-base, Chinese: 12-layer, 768-hidden, 12-heads, 102M parametersELECTRA-small-ex, Chinese: 24-layer, 256-hidden, 4-heads, 25M parametersELECTRA-small, Chinese: 12-layer, 256-hidden, 4-heads, 12M parameters
大语料版(新版,180G数据)
| 模型简称 | 🤗HF下载 | 百度网盘下载 | 压缩包大小 |
|---|---|---|---|
ELECTRA-180g-large, Chinese |
HF link | TensorFlow(密码2v5r) | 1G |
ELECTRA-180g-base, Chinese |
HF link | TensorFlow(密码3vg1) | 383M |
ELECTRA-180g-small-ex, Chinese |
HF link | TensorFlow(密码93n8) | 92M |
ELECTRA-180g-small, Chinese |
HF link | TensorFlow(密码k9iu) | 46M |
基础版(原版,20G数据)
| 模型简称 | 🤗HF下载 | 百度网盘下载 | 压缩包大小 |
|---|---|---|---|
ELECTRA-large, Chinese |
HF link | TensorFlow(密码1e14) | 1G |
ELECTRA-base, Chinese |
HF link | TensorFlow(密码f32j) | 383M |
ELECTRA-small-ex, Chinese |
HF link | TensorFlow(密码gfb1) | 92M |
ELECTRA-small, Chinese |
HF link | TensorFlow(密码1r4r) | 46M |
司法领域版
| 模型简称 | 🤗HF下载 | 百度网盘下载 | 压缩包大小 |
|---|---|---|---|
legal-ELECTRA-large, Chinese |
HF link | TensorFlow(密码q4gv) | 1G |
legal-ELECTRA-base, Chinese |
HF link | TensorFlow(密码8gcv) | 383M |
legal-ELECTRA-small, Chinese |
HF link | TensorFlow(密码kmrj) | 46M |
使用须知
中国大陆境内建议使用百度网盘下载点,境外用户建议使用谷歌下载点。
以TensorFlow版ELECTRA-small, Chinese为例,下载完毕后对zip文件进行解压得到如下文件。
chinese_electra_small_L-12_H-256_A-4.zip
|- electra_small.data-00000-of-00001 # 模型权重
|- electra_small.meta # 模型meta信息
|- electra_small.index # 模型index信息
|- vocab.txt # 词表
|- discriminator.json # 配置文件:discriminator(若没有可从本repo中的config目录获取)
|- generator.json # 配置文件:generator(若没有可从本repo中的config目录获取)
训练细节
我们采用了大规模中文维基以及通用文本训练了ELECTRA模型,总token数达到5.4B,与RoBERTa-wwm-ext系列模型一致。词表方面沿用了谷歌原版BERT的WordPiece词表,包含21,128个token。其他细节和超参数如下(未提及的参数保持默认):
ELECTRA-large: 24层,隐层1024,16个注意力头,学习率1e-4,batch96,最大长度512,训练2M步ELECTRA-base: 12层,隐层768,12个注意力头,学习率2e-4,batch256,最大长度512,训练1M步ELECTRA-small-ex: 24层,隐层256,4个注意力头,学习率5e-4,batch384,最大长度512,训练2M步ELECTRA-small: 12层,隐层256,4个注意力头,学习率5e-4,batch1024,最大长度512,训练1M步
快速加载
使用Huggingface-Transformers
Huggingface-Transformers 2.8.0版本已正式支持ELECTRA模型,可通过如下命令调用。
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModel.from_pretrained(MODEL_NAME)
其中MODEL_NAME对应列表如下:
| 模型名 | 组件 | MODEL_NAME |
|---|---|---|
| ELECTRA-180g-large, Chinese | discriminator | hfl/chinese-electra-180g-large-discriminator |
| ELECTRA-180g-large, Chinese | generator | hfl/chinese-electra-180g-large-generator |
| ELECTRA-180g-base, Chinese | discriminator | hfl/chinese-electra-180g-base-discriminator |
| ELECTRA-180g-base, Chinese | generator | hfl/chinese-electra-180g-base-generator |
| ELECTRA-180g-small-ex, Chinese | discriminator | hfl/chinese-electra-180g-small-ex-discriminator |
| ELECTRA-180g-small-ex, Chinese | generator | hfl/chinese-electra-180g-small-ex-generator |
| ELECTRA-180g-small, Chinese | discriminator | hfl/chinese-electra-180g-small-discriminator |
| ELECTRA-180g-small, Chinese | generator | hfl/chinese-electra-180g-small-generator |
| ELECTRA-large, Chinese | discriminator | hfl/chinese-electra-large-discriminator |
| ELECTRA-large, Chinese | generator | hfl/chinese-electra-large-generator |
| ELECTRA-base, Chinese | discriminator | hfl/chinese-electra-base-discriminator |
| ELECTRA-base, Chinese | generator | hfl/chinese-electra-base-generator |
| ELECTRA-small-ex, Chinese | discriminator | hfl/chinese-electra-small-ex-discriminator |
| ELECTRA-small-ex, Chinese | generator | hfl/chinese-electra-small-ex-generator |
| ELECTRA-small, Chinese | discriminator | hfl/chinese-electra-small-discriminator |
| ELECTRA-small, Chinese | generator | hfl/chinese-electra-small-generator |
司法领域版本:
| 模型名 | 组件 | MODEL_NAME |
|---|---|---|
| legal-ELECTRA-large, Chinese | discriminator | hfl/chinese-legal-electra-large-discriminator |
| legal-ELECTRA-large, Chinese | generator | hfl/chinese-legal-electra-large-generator |
| legal-ELECTRA-base, Chinese | discriminator | hfl/chinese-legal-electra-base-discriminator |
| legal-ELECTRA-base, Chinese | generator | hfl/chinese-legal-electra-base-generator |
| legal-ELECTRA-small, Chinese | discriminator | hfl/chinese-legal-electra-small-discriminator |
| legal-ELECTRA-small, Chinese | generator | hfl/chinese-legal-electra-small-generator |
使用PaddleHub
依托PaddleHub,我们只需一行代码即可完成模型下载安装,十余行代码即可完成文本分类、序列标注、阅读理解等任务。
import paddlehub as hub
module = hub.Module(name=MODULE_NAME)
其中MODULE_NAME对应列表如下:
| 模型名 | MODULE_NAME |
|---|---|
| ELECTRA-base, Chinese | chinese-electra-base |
| ELECTRA-small, Chinese | chinese-electra-small |
基线系统效果
我们将ELECTRA-small/base与BERT-base、BERT-wwm、BERT-wwm-ext、RoBERTa-wwm-ext、RBT3进行了效果对比,包括以下六个任务:
- CMRC 2018 (Cui et al., 2019):篇章片段抽取型阅读理解(简体中文)
- DRCD (Shao et al., 2018):篇章片段抽取型阅读理解(繁体中文)
- XNLI (Conneau et al., 2018):自然语言推断
- ChnSentiCorp:情感分析
- LCQMC (Liu et al., 2018):句对匹配
- BQ Corpus (Chen et al., 2018):句对匹配
对于ELECTRA-small/base模型,我们使用原论文默认的3e-4和1e-4的学习率。
需要注意的是,我们没有针对任何任务进行参数精调,所以通过调整学习率等超参数可能获得进一步性能提升。
为了保证结果的可靠性,对于同一模型,我们使用不同随机种子训练10遍,汇报模型性能的最大值和平均值(括号内为平均值)。
简体中文阅读理解:CMRC 2018
CMRC 2018数据集是哈工大讯飞联合实验室发布的中文机器阅读理解数据。 根据给定问题,系统需要从篇章中抽取出片段作为答案,形式与SQuAD相同。 评价指标为:EM / F1
| 模型 | 开发集 | 测试集 | 挑战集 | 参数量 |
|---|---|---|---|---|
| BERT-base | 65.5 (64.4) / 84.5 (84.0) | 70.0 (68.7) / 87.0 (86.3) | 18.6 (17.0) / 43.3 (41.3) | 102M |
| BERT-wwm | 66.3 (65.0) / 85.6 (84.7) | 70.5 (69.1) / 87.4 (86.7) | 21.0 (19.3) / 47.0 (43.9) | 102M |
| BERT-wwm-ext | 67.1 (65.6) / 85.7 (85.0) | 71.4 (70.0) / 87.7 (87.0) | 24.0 (20.0) / 47.3 (44.6) | 102M |
| RoBERTa-wwm-ext | 67.4 (66.5) / 87.2 (86.5) | 72.6 (71.4) / 89.4 (88.8) | 26.2 (24.6) / 51.0 (49.1) | 102M |
| RBT3 | 57.0 / 79.0 | 62.2 / 81.8 | 14.7 / 36.2 | 38M |
| ELECTRA-small | 63.4 (62.9) / 80.8 (80.2) | 67.8 (67.4) / 83.4 (83.0) | 16.3 (15.4) / 37.2 (35.8) | 12M |
| ELECTRA-180g-small | 63.8 / 82.7 | 68.5 / 85.2 | 15.1 / 35.8 | 12M |
| ELECTRA-small-ex | 66.4 / 82.2 | 71.3 / 85.3 | 18.1 / 38.3 | 25M |
| ELECTRA-180g-small-ex | 68.1 / 85.1 | 71.8 / 87.2 | 20.6 / 41.7 | 25M |
| ELECTRA-base | 68.4 (68.0) / 84.8 (84.6) | 73.1 (72.7) / 87.1 (86.9) | 22.6 (21.7) / 45.0 (43.8) | 102M |
| ELECTRA-180g-base | 69.3 / 87.0 | 73.1 / 88.6 | 24.0 / 48.6 | 102M |
| ELECTRA-large | 69.1 / 85.2 | 73.9 / 87.1 | 23.0 / 44.2 | 324M |
| ELECTRA-180g-large | 68.5 / 86.2 | 73.5 / 88.5 | 21.8 / 42.9 | 324M |
繁体中文阅读理解:DRCD
DRCD数据集由中国台湾台达研究院发布,其形式与SQuAD相同,是基于繁体中文的抽取式阅读理解数据集。 评价指标为:EM / F1
| 模型 | 开发集 | 测试集 | 参数量 |
|---|---|---|---|
| BERT-base | 83.1 (82.7) / 89.9 (89.6) | 82.2 (81.6) / 89.2 (88.8) | 102M |
| BERT-wwm | 84.3 (83.4) / 90.5 (90.2) | 82.8 (81.8) / 89.7 (89.0) | 102M |
| BERT-wwm-ext | 85.0 (84.5) / 91.2 (90.9) | 83.6 (83.0) / 90.4 (89.9) | 102M |
| RoBERTa-wwm-ext | 86.6 (85.9) / 92.5 (92.2) | 85.6 (85.2) / 92.0 (91.7) | 102M |
| RBT3 | 76.3 / 84.9 | 75.0 / 83.9 | 38M |
| ELECTRA-small | 79.8 (79.4) / 86.7 (86.4) | 79.0 (78.5) / 85.8 (85.6) | 12M |
| ELECTRA-180g-small | 83.5 / 89.2 | 82.9 / 88.7 | 12M |
| ELECTRA-small-ex | 84.0 / 89.5 | 83.3 / 89.1 | 25M |
| ELECTRA-180g-small-ex | 87.3 / 92.3 | 86.5 / 91.3 | 25M |
| ELECTRA-base | 87.5 (87.0) / 92.5 (92.3) | 86.9 (86.6) / 91.8 (91.7) | 102M |
| ELECTRA-180g-base | 89.6 / 94.2 | 88.9 / 93.7 | 102M |
| ELECTRA-large | 88.8 / 93.3 | 88.8 / 93.6 | 324M |
| ELECTRA-180g-large | 90.1 / 94.8 | 90.5 / 94.7 | 324M |
自然语言推断:XNLI
在自然语言推断任务中,我们采用了XNLI数据,需要将文本分成三个类别:entailment,neutral,contradictory。
评价指标为:Accuracy
| 模型 | 开发集 | 测试集 | 参数量 |
|---|---|---|---|
| BERT-base | 77.8 (77.4) | 77.8 (77.5) | 102M |
| BERT-wwm | 79.0 (78.4) | 78.2 (78.0) | 102M |
| BERT-wwm-ext | 79.4 (78.6) | 78.7 (78.3) | 102M |
| RoBERTa-wwm-ext | 80.0 (79.2) | 78.8 (78.3) | 102M |
| RBT3 | 72.2 | 72.3 | 38M |
| ELECTRA-small | 73.3 (72.5) | 73.1 (72.6) | 12M |
| ELECTRA-180g-small | 74.6 | 74.6 | 12M |
| ELECTRA-small-ex | 75.4 | 75.8 | 25M |
| ELECTRA-180g-small-ex | 76.5 | 76.6 | 25M |
| ELECTRA-base | 77.9 (77.0) | 78.4 (77.8) | 102M |
| ELECTRA-180g-base | 79.6 | 79.5 | 102M |
| ELECTRA-large | 81.5 | 81.0 | 324M |
| ELECTRA-180g-large | 81.2 | 80.4 | 324M |
情感分析:ChnSentiCorp
在情感分析任务中,二分类的情感分类数据集ChnSentiCorp。 评价指标为:Accuracy
| 模型 | 开发集 | 测试集 | 参数量 |
|---|---|---|---|
| BERT-base | 94.7 (94.3) | 95.0 (94.7) | 102M |
| BERT-wwm | 95.1 (94.5) | 95.4 (95.0) | 102M |
| BERT-wwm-ext | 95.4 (94.6) | 95.3 (94.7) | 102M |
| RoBERTa-wwm-ext | 95.0 (94.6) | 95.6 (94.8) | 102M |
| RBT3 | 92.8 | 92.8 | 38M |
| ELECTRA-small | 92.8 (92.5) | 94.3 (93.5) | 12M |
| ELECTRA-180g-small | 94.1 | 93.6 | 12M |
| ELECTRA-small-ex | 92.6 | 93.6 | 25M |
| ELECTRA-180g-small-ex | 92.8 | 93.4 | 25M |
| ELECTRA-base | 93.8 (93.0) | 94.5 (93.5) | 102M |
| ELECTRA-180g-base | 94.3 | 94.8 | 102M |
| ELECTRA-large | 95.2 | 95.3 | 324M |
| ELECTRA-180g-large | 94.8 | 95.2 | 324M |
句对分类:LCQMC
以下两个数据集均需要将一个句对进行分类,判断两个句子的语义是否相同(二分类任务)。
LCQMC由哈工大深圳研究生院智能计算研究中心发布。 评价指标为:Accuracy
| 模型 | 开发集 | 测试集 | 参数量 |
|---|---|---|---|
| BERT | 89.4 (88.4) | 86.9 (86.4) | 102M |
| BERT-wwm | 89.4 (89.2) | 87.0 (86.8) | 102M |
| BERT-wwm-ext | 89.6 (89.2) | 87.1 (86.6) | 102M |
| RoBERTa-wwm-ext | 89.0 (88.7) | 86.4 (86.1) | 102M |
| RBT3 | 85.3 | 85.1 | 38M |
| ELECTRA-small | 86.7 (86.3) | 85.9 (85.6) | 12M |
| ELECTRA-180g-small | 86.6 | 85.8 | 12M |
| ELECTRA-small-ex | 87.5 | 86.0 | 25M |
| ELECTRA-180g-small-ex | 87.6 | 86.3 | 25M |
| ELECTRA-base | 90.2 (89.8) | 87.6 (87.3) | 102M |
| ELECTRA-180g-base | 90.2 | 87.1 | 102M |
| ELECTRA-large | 90.7 | 87.3 | 324M |
| ELECTRA-180g-large | 90.3 | 87.3 | 324M |
句对分类:BQ Corpus
BQ Corpus由哈工大深圳研究生院智能计算研究中心发布,是面向银行领域的数据集。 评价指标为:Accuracy
| 模型 | 开发集 | 测试集 | 参数量 |
|---|---|---|---|
| BERT | 86.0 (85.5) | 84.8 (84.6) | 102M |
| BERT-wwm | 86.1 (85.6) | 85.2 (84.9) | 102M |
| BERT-wwm-ext | 86.4 (85.5) | 85.3 (84.8) | 102M |
| RoBERTa-wwm-ext | 86.0 (85.4) | 85.0 (84.6) | 102M |
| RBT3 | 84.1 | 83.3 | 38M |
| ELECTRA-small | 83.5 (83.0) | 82.0 (81.7) | 12M |
| ELECTRA-180g-small | 83.3 | 82.1 | 12M |
| ELECTRA-small-ex | 84.0 | 82.6 | 25M |
| ELECTRA-180g-small-ex | 84.6 | 83.4 | 25M |
| ELECTRA-base | 84.8 (84.7) | 84.5 (84.0) | 102M |
| ELECTRA-180g-base | 85.8 | 84.5 | 102M |
| ELECTRA-large | 86.7 | 85.1 | 324M |
| ELECTRA-180g-large | 86.4 | 85.4 | 324M |
司法任务效果
我们使用CAIL 2018司法评测的罪名预测数据对司法ELECTRA进行了测试。small/base/large学习率分别为:5e-4/3e-4/1e-4。 评价指标为:Accuracy
| 模型 | 开发集 | 测试集 | 参数量 |
|---|---|---|---|
| ELECTRA-small | 78.84 | 76.35 | 12M |
| legal-ELECTRA-small | 79.60 | 77.03 | 12M |
| ELECTRA-base | 80.94 | 78.41 | 102M |
| legal-ELECTRA-base | 81.71 | 79.17 | 102M |
| ELECTRA-large | 81.53 | 78.97 | 324M |
| legal-ELECTRA-large | 82.60 | 79.89 | 324M |
使用方法
用户可以基于已发布的上述中文ELECTRA预训练模型进行下游任务精调。 在这里我们只介绍最基本的用法,更详细的用法请参考ELECTRA官方介绍。
本例中,我们使用ELECTRA-small模型在CMRC 2018任务上进行精调,相关步骤如下。假设,
data-dir:工作根目录,可按实际情况设置。model-name:模型名称,本例中为electra-small。task-name:任务名称,本例中为cmrc2018。本目录中的代码已适配了以上六个中文任务,task-name分别为cmrc2018,drcd,xnli,chnsenticorp,lcqmc,bqcorpus。
第一步:下载预训练模型并解压
在模型下载章节中,下载ELECTRA-small模型,并解压至${data-dir}/models/${model-name}。
该目录下应包含electra_model.*,vocab.txt,checkpoint,共计5个文件。
第二步:准备任务数据
下载CMRC 2018训练集和开发集,并重命名为train.json和dev.json。
将两个文件放到${data-dir}/finetuning_data/${task-name}。
第三步:运行训练命令
python run_finetuning.py \
--data-dir ${data-dir} \
--model-name ${model-name} \
--hparams params_cmrc2018.json
其中data-dir和model-name在上面已经介绍。hparams是一个JSON词典,在本例中的params_cmrc2018.json包含了精调相关超参数,例如:
{
"task_names": ["cmrc2018"],
"max_seq_length": 512,
"vocab_size": 21128,
"model_size": "small",
"do_train": true,
"do_eval": true,
"write_test_outputs": true,
"num_train_epochs": 2,
"learning_rate": 3e-4,
"train_batch_size": 32,
"eval_batch_size": 32,
}
在上述JSON文件中,我们只列举了最重要的一些参数,完整参数列表请查阅configure_finetuning.py。
运行完毕后,
- 对于阅读理解任务,生成的预测JSON数据
cmrc2018_dev_preds.json保存在${data-dir}/results/${task-name}_qa/。可以调用外部评测脚本来得到最终评测结果,例如:python cmrc2018_drcd_evaluate.py dev.json cmrc2018_dev_preds.json - 对于分类任务,相关accuracy信息会直接打印在屏幕,例如:
xnli: accuracy: 72.5 - loss: 0.67
FAQ
Q: 在下游任务精调的时候ELECTRA模型的学习率怎么设置?
A: 我们建议使用原论文使用的学习率作为初始基线(small是3e-4,base是1e-4)然后适当增减学习率进行调试。
需要注意的是,相比BERT、RoBERTa一类的模型来说ELECTRA的学习率要相对大一些。
Q: 有没有PyTorch版权重?
A: 有,模型下载。
Q: 预训练用的数据能共享一下吗?
A: 很遗憾,不可以。
Q: 未来计划?
A: 敬请关注。
引用
如果本目录中的内容对你的研究工作有所帮助,欢迎在论文中引用下述论文。
@journal{cui-etal-2021-pretrain,
title={Pre-Training with Whole Word Masking for Chinese BERT},
author={Cui, Yiming and Che, Wanxiang and Liu, Ting and Qin, Bing and Yang, Ziqing},
journal={IEEE Transactions on Audio, Speech and Language Processing},
year={2021},
url={https://ieeexplore.ieee.org/document/9599397},
doi={10.1109/TASLP.2021.3124365},
}
@inproceedings{cui-etal-2020-revisiting,
title = "Revisiting Pre-Trained Models for {C}hinese Natural Language Processing",
author = "Cui, Yiming and
Che, Wanxiang and
Liu, Ting and
Qin, Bing and
Wang, Shijin and
Hu, Guoping",
booktitle = "Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: Findings",
month = nov,
year = "2020",
address = "Online",
publisher = "Association for Computational Linguistics",
url = "https://www.aclweb.org/anthology/2020.findings-emnlp.58",
pages = "657--668",
}
关注我们
欢迎关注哈工大讯飞联合实验室官方微信公众号,了解最新的技术动态。

问题反馈
在提交 issue 前,请注意:
- 建议您在提交 issue 前先阅读 FAQ。
- 重复或无关的 issue 将被 [stable-bot](stale · GitHub Marketplace) 忽略并关闭。感谢您的理解与支持。
- 我们无法满足每一个请求,因此请理解,您的请求不一定能得到满足。
- 提交 issue 时请始终保持礼貌。
常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。