🚀 DeBERTaV3:使用带梯度解耦嵌入共享的 ELECTRA 式预训练改进 DeBERTa
DeBERTaV3 借助带梯度解耦嵌入共享的 ELECTRA 式预训练,进一步提升了 DeBERTa 的效率。该模型在下游任务上显著优于 DeBERTa,为自然语言处理任务带来了更强大的性能表现。
🚀 快速开始
请查看官方仓库以获取更多实现细节和更新。
✨ 主要特性
- 解耦注意力和增强掩码解码器:DeBERTa 使用解耦注意力和增强掩码解码器改进了 BERT 和 RoBERTa 模型。凭借这两项改进,DeBERTa 在使用 80GB 训练数据的大多数 NLU 任务上超越了 RoBERTa。
- ELECTRA 式预训练和梯度解耦嵌入共享:在 DeBERTa V3 中,我们使用带梯度解耦嵌入共享的 ELECTRA 式预训练进一步提高了 DeBERTa 的效率。与 DeBERTa 相比,我们的 V3 版本显著提高了模型在下游任务上的性能。你可以从我们的论文中找到有关新模型的更多技术细节。
📦 安装指南
文档未提及安装步骤,可参考官方仓库获取安装信息。
💻 使用示例
基础用法
以下是使用 HF transformers 进行微调的示例:
#!/bin/bash
cd transformers/examples/pytorch/text-classification/
pip install datasets
export TASK_NAME=mnli
output_dir="ds_results"
num_gpus=8
batch_size=8
python -m torch.distributed.launch --nproc_per_node=${num_gpus} \
run_glue.py \
--model_name_or_path microsoft/deberta-v3-small \
--task_name $TASK_NAME \
--do_train \
--do_eval \
--evaluation_strategy steps \
--max_seq_length 256 \
--warmup_steps 1500 \
--per_device_train_batch_size ${batch_size} \
--learning_rate 4.5e-5 \
--num_train_epochs 3 \
--output_dir $output_dir \
--overwrite_output_dir \
--logging_steps 1000 \
--logging_dir $output_dir
📚 详细文档
模型参数
DeBERTa V3 小模型有 6 层,隐藏层大小为 768。它有 4400 万 个骨干参数,词汇表包含 12.8 万个标记,这在嵌入层引入了 9800 万个参数。该模型与 DeBERTa V2 一样,使用 160GB 数据进行训练。
微调结果
我们展示了在 SQuAD 2.0 和 MNLI 任务上的开发结果:
模型 |
词汇表(K) |
骨干参数数量(M) |
SQuAD 2.0(F1/EM) |
MNLI-m/mm(ACC) |
RoBERTa-base |
50 |
86 |
83.7/80.5 |
87.6/- |
XLNet-base |
32 |
92 |
-/80.2 |
86.8/- |
ELECTRA-base |
30 |
86 |
-/80.5 |
88.8/ |
DeBERTa-base |
50 |
100 |
86.2/83.1 |
88.8/88.5 |
DeBERTa-v3-large |
128 |
304 |
91.5/89.0 |
91.8/91.9 |
DeBERTa-v3-base |
128 |
86 |
88.4/85.4 |
90.6/90.7 |
DeBERTa-v3-small |
128 |
44 |
82.8/80.4 |
88.3/87.7 |
DeBERTa-v3-small+SiFT |
128 |
22 |
-/- |
88.8/88.5 |
📄 许可证
本项目采用 MIT 许可证。
📖 引用
如果你发现 DeBERTa 对您的工作有用,请引用以下论文:
@misc{he2021debertav3,
title={DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-Disentangled Embedding Sharing},
author={Pengcheng He and Jianfeng Gao and Weizhu Chen},
year={2021},
eprint={2111.09543},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@inproceedings{
he2021deberta,
title={DEBERTA: DECODING-ENHANCED BERT WITH DISENTANGLED ATTENTION},
author={Pengcheng He and Xiaodong Liu and Jianfeng Gao and Weizhu Chen},
booktitle={International Conference on Learning Representations},
year={2021},
url={https://openreview.net/forum?id=XPZIaotutsD}
}