QiDeBERTa: Chinese Pretrained DeBERTa Model
Model Name: QiDeBERTa-base
Language: Chinese
Architecture: DeBERTa V3 (modified)
Author: Morton Li
License: Apache-2.0
Tags: deberta
, mlm
, chinese
, language-modeling
, robustness
, general-purpose
, pretraining
, masked-language-modeling
Model Description
QiDeBERTa 是一个专为中文构建的通用语言理解预训练模型,采用改进的 DeBERTa V3 架构,强调对语言结构的深度建模能力与对输入扰动的鲁棒性。该模型在多个典型评估基准中表现出色,展现出优异的泛化能力,尤其适用于需要对中文语义细节进行精密捕捉的复杂 NLP 任务。
QiDeBERTa 的设计目标是为中文自然语言处理提供一个稳定、可扩展、具备良好迁移性能的基础模型,可为后续各类下游任务提供强有力的编码支持。
Model Architecture
- 基础架构:DeBERTa V3
- 编码器层数:12层
- 隐藏维度:768
- 注意力头数:12
Tokenizer
QiDeBERTa 使用 SentencePiece 实现分词器(SPM),训练于与预训练语料相同来源的高质量中文文本数据集之上,对《通用规范汉字表》一级、二级、三级汉字实现 100% 字符覆盖率。
分词器可通过 HuggingFace Tokenizer API 直接加载。
Pretraining Data
模型预训练语料来源于多个高质量中文语料源,包括但不限于:
- 中文百科类内容
- 网络通用文本(论坛、问答、评论等)
- 教育类语料
- 自然语言生成辅助数据
所有语料均为公开来源或基于合规机制采集,确保数据合规性、多样性与覆盖性。
Pretraining Objectives
QiDeBERTa 使用 Masked Language Modeling 作为核心训练目标,并配合多策略输入扰动增强机制以提高模型泛化能力。通过不同类型的扰动样本搭配与之匹配的任务头进行混合建模,模型具备良好的语义鲁棒性与错误容忍能力。
此外,引入目标导向的训练损失调控机制,强化模型在输入变异与原始输出接近场景下的学习效果,进一步提升其泛用性能。
Model Highlights
- 增强的中文语义建模能力:基于 DeBERTa 解耦式注意力机制,强化语言单元之间的关系建模;
- 鲁棒性优化训练流程:多扰动策略与损失重加权策略提升模型对输入变形与微小错误的容错能力;
- 迁移性能优越:适用于多种文本建模与语言理解场景,在广泛场景中保持一致的编码质量与性能迁移能力;
Evaluation
本模型评估采用 Token-Level 评估标准,强调精准、严谨、一致,避免常规评估指标算法与实际使用体验存在较大偏差的问题。该指标体系更贴近工业实际使用场景中的错误感知与容错要求,更能体现模型实际部署表现情况。
在该体系下进行 zero-shot 评估:
Task | Dataset | Accuracy | F1 | Precision | Recall |
---|---|---|---|---|---|
CSC | SIGHAN15 | 98.79% | 68.86% | 69.41% | 68.32% |
CSC | CSCD-NS | 99.39% | 63.71% | 64.67% | 63.84% |
在相同任务、相同平台、相同评分标准下,当前主流 SOTA 模型在 CSCD-NS zero-shot 测试中 F1 得分普遍低于 20%,QiDeBERTa 在鲁棒性与建模性能方面已具备优势。
Training Details
- Optimizer: AdamW (
weight_decay=0.01
, LayerNorm & bias权重例外) - Learning Rate:
3e-5
,线性衰减,warmup 6% - Batch Size: 32 (平摊至每张显卡后)
- Mixed Precision: ✅ 支持 (fp16)
- Gradient Checkpointing: ✅ 支持
- Hardware: NVIDIA L40s GPU cluster
How to Use
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("Morton-Li/QiDeBERTa-base", trust_remote_code=True)
model = AutoModel.from_pretrained("Morton-Li/QiDeBERTa-base", trust_remote_code=True)
texts = [
"这是一个测试句子,用于验证语言模型的性能。",
"我爱北京天安门,天安门上太阳升。"
]
outputs = model(**tokenizer(texts, padding=True)) # BaseModelOutput[last_hidden_state, hidden_states, attentions]
Citation
If you find this project useful in your research, publications, software development, or any other work, please cite it as follows:
@misc{QiDeBERTa-base,
author = {Morton Li},
title = {QiDeBERTa: Chinese Pretrained DeBERTa Model},
year = {2025},
}
License
Apache License 2.0
- Downloads last month
- 7