🚀 DeBERTaV3:使用带梯度解耦嵌入共享的ELECTRA式预训练改进DeBERTa
DeBERTaV3通过带梯度解耦嵌入共享的ELECTRA式预训练改进了DeBERTa模型,提升了模型在下游任务中的性能。它在多个自然语言理解(NLU)任务上表现出色,为相关领域的研究和应用提供了更强大的工具。
✨ 主要特性
- 解耦注意力和增强掩码解码器:DeBERTa使用解耦注意力和增强掩码解码器改进了BERT和RoBERTa模型。凭借这两项改进,DeBERTa在使用80GB训练数据的大多数NLU任务上超越了RoBERTa。
- ELECTRA式预训练和梯度解耦嵌入共享:在DeBERTa V3中,通过带梯度解耦嵌入共享的ELECTRA式预训练进一步提高了DeBERTa的效率。与DeBERTa相比,V3版本显著提升了模型在下游任务中的性能。
📦 安装指南
请查看官方仓库以获取更多实现细节和更新。
💻 使用示例
基础用法
在NLU任务上进行微调
以下是在SQuAD 2.0和MNLI任务上的开发结果:
模型 |
词汇量(K) |
主干参数数量(M) |
SQuAD 2.0(F1/EM) |
MNLI-m/mm(准确率) |
RoBERTa-large |
50 |
304 |
89.4/86.5 |
90.2 |
XLNet-large |
32 |
- |
90.6/87.9 |
90.8 |
DeBERTa-large |
50 |
- |
90.7/88.0 |
91.3 |
DeBERTa-v3-large |
128 |
304 |
91.5/89.0 |
91.8/91.9 |
高级用法
使用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-large \
--task_name $TASK_NAME \
--do_train \
--do_eval \
--evaluation_strategy steps \
--max_seq_length 256 \
--warmup_steps 50 \
--per_device_train_batch_size ${batch_size} \
--learning_rate 6e-6 \
--num_train_epochs 2 \
--output_dir $output_dir \
--overwrite_output_dir \
--logging_steps 1000 \
--logging_dir $output_dir
📚 详细文档
DeBERTa V3大模型有24层,隐藏层大小为1024。它有3.04亿个主干参数,词汇表包含12.8万个标记,在嵌入层引入了1.31亿个参数。该模型和DeBERTa V2一样,使用160GB数据进行训练。你可以从我们的论文中找到关于新模型的更多技术细节。
📄 许可证
本项目采用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}
}