[論文レビュー] On the Effect of Dropping Layers of Pre-trained Transformer Models
本稿では、微調整や再訓練を必要とせずに、効率的な転移学習を実現するため、事前学習済みTransformerモデル(BERT、RoBERTa、XLNet、ALBERT、DistilBERT)から層を削除する手法を提案する。上位、下位、中央、または交互に層を削除する体系的なアプローチにより、GLUEタスクで元の性能の最大98.2%を維持しながら、最大40%のモデルサイズ削減を達成した。知識蒸留の結果と同等の性能を達成している。
Transformer-based NLP models are trained using hundreds of millions or even billions of parameters, limiting their applicability in computationally constrained environments. While the number of parameters generally correlates with performance, it is not clear whether the entire network is required for a downstream task. Motivated by the recent work on pruning and distilling pre-trained models, we explore strategies to drop layers in pre-trained models, and observe the effect of pruning on downstream GLUE tasks. We were able to prune BERT, RoBERTa and XLNet models up to 40%, while maintaining up to 98% of their original performance. Additionally we show that our pruned models are on par with those built using knowledge distillation, both in terms of size and performance. Our experiments yield interesting observations such as, (i) the lower layers are most critical to maintain downstream task performance, (ii) some tasks such as paraphrase detection and sentence similarity are more robust to the dropping of layers, and (iii) models trained using a different objective function exhibit different learning patterns and w.r.t the layer dropping.
研究の動機と目的
- 事前学習済みTransformerモデルのすべての層が、下流のNLPタスクに必要かどうかを調査すること。
- 微調整後に性能を維持するために最も重要な層を特定すること。
- 再訓練を伴わない、効率的なモデルサイズ削減戦略を開発すること。
- 知識蒸留や他の圧縮技術と比較して、層の削除の有効性を評価すること。
- 異なる事前学習目的(自己符号化対自己回帰的)が、層の重要度や学習ダイナミクスに与える影響を分析すること。
提案手法
- 著者らは、事前学習済みモデルから上位、下位、中央、または交互に層を削除する複数の層削除戦略を評価した。
- 活性化パターンと重み統計を用いて、寄与度が最も低い層を特定・削除した。
- この手法は、BERT、RoBERTa、XLNet、ALBERT、DistilBERTに適用され、残りの層でのみ微調整が行われた。
- 性能評価は、SST-2、MNLI、QNLI、QQP、STS-Bを含む複数のNLPタスクにおけるGLUEベンチマークで実施された。
- 知識蒸留や他のプルーニング手法(例:グリーディ層プルーニング(GLP)やLayerDrop)と比較した。
- また、層削除後に微調整を実施することで、タスク固有の最適化が性能向上に寄与するかを評価した。
実験結果
リサーチクエスチョン
- RQ1再訓練を伴わずに、事前学習済みTransformerから層を削除することで、顕著なモデル圧縮が達成可能か?
- RQ2上位、下位、中央、または交互に削除する層のうち、どの層が下流タスクの性能を維持するために最も重要か?
- RQ3精度、モデルサイズ、推論速度の観点から、プルーニングされたモデルと知識蒸留ベースのモデルの性能はどのように比較されるか?
- RQ4自己符号化と自己回帰的の異なる事前学習目的が、層の重要度パターンや学習ダイナミクスに異なる影響を与えるか?
- RQ5DistilBERTのような蒸留モデルはさらにプルーニング可能か?その際の性能のトレードオフは何か?
主な発見
- BERT、RoBERTa、XLNetから最大40%の層を削除しても、GLUEタスクで元の性能の最大98.2%を維持できる。
- 上位層の削除は、モデルやタスクを問わず一貫して性能を維持し、LayerDropやグリーディプルーニングで学習したモデルを上回るか同等の性能を達成した。
- 下位層が下流タスクの性能を維持するために最も重要であり、一部のタスクでは12層中3層のみで元の性能から1%以内に収まる。
- プルーニングされたモデルは、精度、モデルサイズ、推論速度の観点で知識蒸留モデルと同等の性能を示したが、再訓練や教師モデルの必要がなかった。
- DistilBERTはさらにプルーニング可能で、全層のうち1/3を削除しても平均でわずか0.75 GLUEポイントの性能低下にとどまった。
- RoBERTa や XLNet は BERT よりもネットワークの初期段階でタスク固有の知識を学習しており、層の削除に対してより頑健であった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。