[論文レビュー] DeFormer: Decomposing Pre-trained Transformers for Faster Question Answering
DeFormer は、事前学習された Transformer を分解して、下位層で質問と本文を別々に処理することで質問応答を高速化し、本文表現の事前キャッシュを可能にすることで、知識蒸留を用いて最大 4.3 倍の計算量削減(精度低下 1% 以内)を達成する。微調整を直接下流タスクで行い、事前学習済み重みで初期化することで、モデル性能を維持する。
Transformer-based QA models use input-wide self-attention -- i.e. across both the question and the input passage -- at all layers, causing them to be slow and memory-intensive. It turns out that we can get by without input-wide self-attention at all layers, especially in the lower layers. We introduce DeFormer, a decomposed transformer, which substitutes the full self-attention with question-wide and passage-wide self-attentions in the lower layers. This allows for question-independent processing of the input text representations, which in turn enables pre-computing passage representations reducing runtime compute drastically. Furthermore, because DeFormer is largely similar to the original model, we can initialize DeFormer with the pre-training weights of a standard transformer, and directly fine-tune on the target QA dataset. We show DeFormer versions of BERT and XLNet can be used to speed up QA by over 4.3x and with simple distillation-based losses they incur only a 1% drop in accuracy. We open source the code at https://github.com/StonyBrookNLP/deformer.
研究の動機と目的
- 事前学習済み Transformer を用いた質問応答モデルの推論遅延とメモリ使用量を、再訓練なしに低減すること。
- 下位層で入力全体の自己注意機構を質問および本文ごとの自己注意機構に置き換えても、顕著な性能低下が生じないかを検証すること。
- 質問とは独立して事前に計算・キャッシュした本文表現を活用することで、推論を高速化すること。
- 知識蒸留に基づく損失関数を用いて、元のモデルとの出力と中間表現を一致させることで、分解モデルの精度を維持すること。
- 実世界の展開に適した、既存の事前学習モデル(例:BERT や XLNet)を即座に高速化できるプラグアンドプレイ手法を提供すること。
提案手法
- DeFormer は、最初の k 層で入力全体の自己注意機構を、別々の質問全体の自己注意機構と本文全体の自己注意機構に置き換える。
- 本文表現は k 層以降で事前に計算され、キャッシュされ、複数の質問で再利用可能になる。
- 推論時、質問は最初の k 層を通過し、k+1 層でキャッシュ済みの本文表現が読み込まれて入力を統合する。
- モデルは標準的な BERT や XLNet の事前学習済み重みを用いて初期化され、下流の QA データセット上で直接微調整される。
- 2 種類の知識蒸留損失を導入:1 つは出力レベルの乖離を最小化し、もう 1 つは DeFormer と元のモデル間の層レベル表現の乖離を最小化する。
- 知識蒸留プロセスにより、DeFormer の上位層が元のモデルのものと類似した表現を学習し、精度低下を最小限に抑える。
実験結果
リサーチクエスチョン
- RQ1Transformer の下位層で入力全体の自己注意機構を質問および本文ごとの自己注意機構に置き換えても、推論遅延を低減しつつ顕著な精度低下を招かないか?
- RQ2QA システムにおけるランタイム計算量を低減するために、どの程度本文表現を事前に計算・キャッシュできるか?
- RQ3知識蒸留は、分解モデルの出力および中間表現を元のモデルと一致させるのにどの程度有効か?
- RQ4DeFormer は、より小さいベースラインモデルよりも高速に推論できるか、かつ高い精度を維持できるか?
- RQ5さまざまな QA タスクおよびモデルアーキテクチャにおいて、スループット向上、メモリ削減、精度低下のトレードオフはどのようになるか?
主な発見
- DeFormer を BERT や XLNet に適用した場合、複数の QA データセットで推論時間が 2.7 倍から 4.3 倍高速化された。
- 推論中に中間の本文表現を排除したため、メモリ使用量が 65.8% から 72.9% 減少した。
- 知識蒸留を用いることで、元のモデルと比較して F1 スコアが 0.6% から 1.8% 低下したが、一部のベンチマークでは最大 1% の精度低下にとどまった。
- BERT-large の DeFormer バージョンは、元の BERT-base よりも高速に動作しながらも、より高い精度を維持しており、効率性と精度のトレードオフが優れていることを示している。
- アブレーションスタディにより、知識蒸留損失が性能向上に顕著に寄与しており、特に元のモデルとの表現一致を維持する点で顕著であった。
- 本手法は、読解や文対マッチングなどさまざまなタスクに有効であり、入力全体の自己注意に依存する任意のモデルに適用可能である。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。