[論文レビュー] DynaBERT: Dynamic BERT with Adaptive Width and Depth
DynaBERTは、幅と深さを適応する BERT モデルを訓練し、リソース使用量が異なるサブネットワークをデプロイできるようにします。精度を維持するために知識蒸留とネットワーク再配線を用います。
The pre-trained language models like BERT, though powerful in many natural language processing tasks, are both computation and memory expensive. To alleviate this problem, one approach is to compress them for specific tasks before deployment. However, recent works on BERT compression usually compress the large BERT model to a fixed smaller size. They can not fully satisfy the requirements of different edge devices with various hardware performances. In this paper, we propose a novel dynamic BERT model (abbreviated as DynaBERT), which can flexibly adjust the size and latency by selecting adaptive width and depth. The training process of DynaBERT includes first training a width-adaptive BERT and then allowing both adaptive width and depth, by distilling knowledge from the full-sized model to small sub-networks. Network rewiring is also used to keep the more important attention heads and neurons shared by more sub-networks. Comprehensive experiments under various efficiency constraints demonstrate that our proposed dynamic BERT (or RoBERTa) at its largest size has comparable performance as BERT-base (or RoBERTa-base), while at smaller widths and depths consistently outperforms existing BERT compression methods. Code is available at https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/DynaBERT.
研究の動機と目的
- heterogeneous ハードウェアを持つエッジ機器でのBERTの効率的な展開を動機づける。
- 1つのモデル内で幅と深さが異なるサブネットワークを選択して柔軟な推論を実現する。
- フルサイズの教師からの知識蒸留を通じて構成間で高い精度を維持する。
- 教師付きの幅適応アプローチで教師と学生間のサイズのギャップを埋める。
- ダイナミックなサブネットワークが標準ベンチマークで固定サイズの圧縮ベースラインと同等以上を達成できることを示す。
提案手法
- Transformer層の幅と深さ適応性を、注意ヘッド数とFFNニューロン数(幅)およびTransformer層数(深さ)を変えることで定義する。
- 2段階の訓練:まずネットワーク再配線と再配線された教師からの蒸留を用いた幅適応のDynaBERT_Wを訓練し、次にDynaBERT_Wを教師として幅と深さ適応のDynaBERTを訓練する。
- サブネットワーク間で共有される重要なヘッド/ニューロンをランク付け・整列させるためにネットワーク再配線を使用する。
- ロジット、埋め込み、および隠れ状態を跨ぐ知識蒸留を適用して、幅と深さを跨いだ知識を教師から学生へ転移する。
- DynaBERT_Wでは固定の再配線済み教師と複数の幅構成を使用する;完全なDynaBERTでは widest-depth教師から幅と深さを縮小したサブネットワークへ蒸留する。
- TinyBERTからデータ拡張を行い、蒸留用のタスク固有の例を提供する。
実験結果
リサーチクエスチョン
- RQ11つのBERTモデルを訓練して、固定サイズモデルと比較して最小限の精度低下で複数の幅と深さ構成をサポートできるか。
- RQ2幅と深さ適応性を用いた訓練を拡張すると、固定サイズ圧縮法よりも効率と精度のトレードオフが良くなるか。
- RQ3ネットワーク再配線と蒸留がGLUEとSQuADタスクのパフォーマンスに与える影響は。
- RQ4大規模サブネットワークと小規模サブネットワーク間のギャップを埋めるために幅適応モデルを教師補助として使用することは有益か。
- RQ5DynaBERT_WとDynaBERTは、さまざまな効率制約下で最先端の固定サイズ蒸留および深さのみ適応法と比較してどうか。
主な発見
- DynaBERTの最大サイズは、full width/depthで構成された場合、BenchmarksでBERT_BASEと同等のパフォーマンスを達成する。
- 幅および/または深さが削減されたサブネットワークは、同一の効率制約下で固定サイズの圧縮法を一貫して上回る。
- 幅適応は深さ単独よりも堅牢であり、DynaBERT_W(幅適応)は一般にDynaBERT_D(深さ適応)より小さな構成で優れている。
- DynaBERTサブネットワークは、GLUEおよびSQuADタスクで同様のリソース予算の下、DistilBERT、TinyBERT、LayerDropを超えることが多い。
- DynaBERT_Wを教師補助として使用すると、再配線済み全モデルから直接蒸留するよりも蒸留性能が向上する。
- 訓練後、各サブネットワークには追加のファインチューニングは不要で、デバイス間の効率的なデプロイを実現。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。