🚀 XtremeDistilTransformers:大規模ニューラルネットワークの蒸留モデル
XtremeDistilTransformersは、蒸留されたタスク非依存型のTransformerモデルです。タスク移行を利用して小型の汎用モデルを学習し、任意のタスクや言語に適用できます。詳細は論文XtremeDistilTransformers: Task Transfer for Task-agnostic Distillationに記載されています。
我々は論文XtremeDistil: Multi-stage Distillation for Massive Multilingual ModelsとMiniLM: Deep Self-Attention Distillation for Task-Agnostic Compression of Pre-Trained Transformersのマルチタスク蒸留技術とタスク移行方法を組み合わせ、対応するGithubコードを提供しています。
このl6 - h384チェックポイントは6層で、隠れ層のサイズが384、12個の注意力ヘッドを持ち、2200万個のパラメータがあり、BERT - baseと比べて5.3倍の速度向上が見られます。
他に利用可能なチェックポイント:xtremedistil - l6 - h256 - uncasedとxtremedistil - l12 - h384 - uncased
下表はGLUE開発セットとSQuAD - v2での実験結果を示しています。
モデル |
パラメータ数 |
加速倍数 |
MNLI |
QNLI |
QQP |
RTE |
SST |
MRPC |
SQUAD2 |
平均 |
BERT |
1.09億 |
1倍 |
84.5 |
91.7 |
91.3 |
68.6 |
93.2 |
87.3 |
76.8 |
84.8 |
DistilBERT |
6600万 |
2倍 |
82.2 |
89.2 |
88.5 |
59.9 |
91.3 |
87.5 |
70.7 |
81.3 |
TinyBERT |
6600万 |
2倍 |
83.5 |
90.5 |
90.6 |
72.2 |
91.6 |
88.4 |
73.1 |
84.3 |
MiniLM |
6600万 |
2倍 |
84.0 |
91.0 |
91.0 |
71.5 |
92.0 |
88.4 |
76.4 |
84.9 |
MiniLM |
2200万 |
5.3倍 |
82.8 |
90.3 |
90.6 |
68.9 |
91.3 |
86.6 |
72.9 |
83.3 |
XtremeDistil - l6 - h256 |
1300万 |
8.7倍 |
83.9 |
89.5 |
90.6 |
80.1 |
91.2 |
90.0 |
74.1 |
85.6 |
XtremeDistil - l6 - h384 |
2200万 |
5.3倍 |
85.4 |
90.3 |
91.0 |
80.9 |
92.3 |
90.0 |
76.6 |
86.6 |
XtremeDistil - l12 - h384 |
3300万 |
2.7倍 |
87.2 |
91.9 |
91.3 |
85.6 |
93.1 |
90.4 |
80.2 |
88.5 |
テスト環境はtensorflow 2.3.1, transformers 4.1.1, torch 1.6.0
です。
もしあなたがこのチェックポイントを仕事で使用した場合、以下の文献を引用してください。
@misc{mukherjee2021xtremedistiltransformers,
title={XtremeDistilTransformers: Task Transfer for Task-agnostic Distillation},
author={Subhabrata Mukherjee and Ahmed Hassan Awadallah and Jianfeng Gao},
year={2021},
eprint={2106.04563},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
🚀 クイックスタート
XtremeDistilTransformersは、蒸留されたタスク非依存型のTransformerモデルで、タスク移行を通じて小型の汎用モデルを学習し、任意のタスクや言語に適用できます。
✨ 主な機能
- タスク移行とマルチタスク蒸留技術を利用して小型の汎用モデルを学習します。
- l6 - h384、l6 - h256 - uncased、l12 - h384 - uncasedなど、複数のチェックポイントから選択できます。
- BERT - baseと比べて大幅な速度向上が見られ、l6 - h384チェックポイントでは5.3倍の速度向上があります。
- GLUE開発セットとSQuAD - v2で良好な実験結果を得ています。
📚 ドキュメント
モデル情報
このl6 - h384チェックポイントは6層で、隠れ層のサイズが384、12個の注意力ヘッドを持ち、2200万個のパラメータがあります。
その他のチェックポイント
実験結果
モデル |
パラメータ数 |
加速倍数 |
MNLI |
QNLI |
QQP |
RTE |
SST |
MRPC |
SQUAD2 |
平均 |
BERT |
1.09億 |
1倍 |
84.5 |
91.7 |
91.3 |
68.6 |
93.2 |
87.3 |
76.8 |
84.8 |
DistilBERT |
6600万 |
2倍 |
82.2 |
89.2 |
88.5 |
59.9 |
91.3 |
87.5 |
70.7 |
81.3 |
TinyBERT |
6600万 |
2倍 |
83.5 |
90.5 |
90.6 |
72.2 |
91.6 |
88.4 |
73.1 |
84.3 |
MiniLM |
6600万 |
2倍 |
84.0 |
91.0 |
91.0 |
71.5 |
92.0 |
88.4 |
76.4 |
84.9 |
MiniLM |
2200万 |
5.3倍 |
82.8 |
90.3 |
90.6 |
68.9 |
91.3 |
86.6 |
72.9 |
83.3 |
XtremeDistil - l6 - h256 |
1300万 |
8.7倍 |
83.9 |
89.5 |
90.6 |
80.1 |
91.2 |
90.0 |
74.1 |
85.6 |
XtremeDistil - l6 - h384 |
2200万 |
5.3倍 |
85.4 |
90.3 |
91.0 |
80.9 |
92.3 |
90.0 |
76.6 |
86.6 |
XtremeDistil - l12 - h384 |
3300万 |
2.7倍 |
87.2 |
91.9 |
91.3 |
85.6 |
93.1 |
90.4 |
80.2 |
88.5 |
テスト環境
テストにはtensorflow 2.3.1, transformers 4.1.1, torch 1.6.0
を使用しました。
📄 ライセンス
本プロジェクトはMITライセンスを採用しています。