🚀 DeBERTaV3: 勾配分離型埋め込み共有を用いたELECTRAスタイルの事前学習によるDeBERTaの改善
DeBERTa は、分離型注意機構と強化されたマスクデコーダを用いて、BERTとRoBERTaモデルを改善します。これら2つの改善により、DeBERTaは80GBの学習データを用いた大多数の自然言語理解(NLU)タスクでRoBERTaを上回ります。
DeBERTa V3 では、勾配分離型埋め込み共有を用いたELECTRAスタイルの事前学習により、DeBERTaの効率をさらに向上させました。DeBERTaと比較して、V3バージョンは下流タスクでのモデル性能を大幅に向上させています。新しいモデルに関する詳細な技術情報は、論文 を参照してください。
実装の詳細や更新情報については、公式リポジトリ を確認してください。
DeBERTa V3の小規模モデルは6層で、隠れ層のサイズは768です。このモデルには44Mのバックボーンパラメータがあり、128Kのトークンを含む語彙を持ち、埋め込み層には98Mのパラメータが導入されています。このモデルは、DeBERTa V2と同じく160GBのデータを用いて学習されました。
🚀 クイックスタート
このセクションでは、DeBERTaV3の基本的な使い方や、事前学習済みモデルの微調整方法について説明します。
✨ 主な機能
- 分離型注意機構と強化されたマスクデコーダを用いたBERTとRoBERTaモデルの改善。
- ELECTRAスタイルの事前学習による効率的なモデル学習。
- 下流タスクでの高性能。
📦 インストール
このモデルを使用するには、Hugging Faceのtransformers
ライブラリをインストールする必要があります。
pip install transformers
💻 使用例
基本的な使用法
DeBERTaV3を使用して、テキスト分類タスクを行う基本的なコード例を示します。
#!/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
高度な使用法
このコード例では、DeBERTaV3を使用して、自然言語理解タスクの微調整を行っています。
📚 ドキュメント
NLUタスクでの微調整
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 |
引用
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}
}
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。