[論文レビュー] Parameter-Efficient Transfer Learning with Diff Pruning
本稿では、微調整によって学習されたスパースでタスク固有の差分ベクトル($δ}_{戦 アッピ}$)を用いて事前学習モデルを拡張する、パラメータ効率の良い転移学習手法「diff pruning」を提案する。この差分ベクトルは、スパarsityを誘導するための微分可能な$L_0$-ノルム近似を用いて正則化される。本手法は、1タスクあたりモデルパラメータの0.5%しか変更しないにもかかわらず、完全微調整と同等のGLUEベンチマーク性能を達成でき、最小限のストレージオーヘッドでデバイス内での効率的なデプロイが可能である。
While task-specific finetuning of pretrained networks has led to significant empirical advances in NLP, the large size of networks makes finetuning difficult to deploy in multi-task, memory-constrained settings. We propose diff pruning as a simple approach to enable parameter-efficient transfer learning within the pretrain-finetune framework. This approach views finetuning as learning a task-specific diff vector that is applied on top of the pretrained parameter vector, which remains fixed and is shared across different tasks. The diff vector is adaptively pruned during training with a differentiable approximation to the L0-norm penalty to encourage sparsity. Diff pruning becomes parameter-efficient as the number of tasks increases, as it requires storing only the nonzero positions and weights of the diff vector for each task, while the cost of storing the shared pretrained model remains constant. It further does not require access to all tasks during training, which makes it attractive in settings where tasks arrive in stream or the set of tasks is unknown. We find that models finetuned with diff pruning can match the performance of fully finetuned baselines on the GLUE benchmark while only modifying 0.5% of the pretrained model's parameters per task.
研究の動機と目的
- メモリ制限のある環境(例:デバイス内アプリケーション)において、複数のタスクにわたる大規模事前学習モデルの微調整にかかる高いストレージコストを軽減すること。
- トレーニング中にすべてのタスクにアクセスできない状況でも、パラメータ効率の良い転移学習を可能とすること。ストリーミング型またはフェデレーテッドなタスクデプロイメントをサポートすること。
- 1タスクあたりのトレーニング可能なパラメータ数を著しく削減しながら、完全微調整と同等の高いパフォーマンスを維持すること。
- モデルの更新がスパースで構造的であり、非ゼロの重みとその位置のみを効率的に格納できる、新しいパラダイムを検討すること。
提案手法
- タスク固有のモデルパラメータを $\bm{\theta}_{\text{task}} = \bm{\theta}_{\text{pretrained}} + \bm{\delta}_{\text{task}}$ として再パラメータライズし、事前学習済み重みを固定する。
- 完全微調整と同等の性能を維持しつつ、スパース性を促進するための微分可能な$L_0$-ノルムペナルティの近似を適用しながら、タスク固有の差分ベクトル $\bm{\delta}_{\text{task}}$ のみを学習する。
- 温度制御されたシグモイド関数を用いたソフトマスク機構を導入し、訓練中に $\bm{\delta}_{\text{task}}$ の要素を段階的にプルーニングする。
- 各タスクについて、$\bm{\delta}_{\text{task}}$ の非ゼロエントリ(位置と値)のみを格納することで、タスク数に関係なく一定のアモアタイズドストレージコストを実現する。
- 特徴次元全体にスパース制約を適用する構造的バージョンのdiff pruningを導入し、一般化性能とパフォーマンスの向上を図る。
- 標準的なバックプロパゲーションを用いてエンドツーエンドでモデルを訓練し、スパース性誘導機構を介した勾配の流れを可能にするための微分可能なリラクゼーションを用いる。
実験結果
リサーチクエスチョン
- RQ1スパースでタスク固有の更新ベクトルは、モデルパラメータのわずかな部分のみを変更するにもかかわらず、完全微調整と同等の性能を達成できるか?
- RQ2微分可能な$L_0$-ノルム近似を用いることで、モデル精度を損なわず、効果的かつ効率的に更新ベクトルにスパース性を導入できるか?
- RQ3タスク数が増加する際、標準的な微調整やその他のプルーニングベースの手法と比較して、ストレージ効率がどのように向上するか?
- RQ4タスクが逐次的に到着するストリーミング型または分散型の環境でも、diff pruningを適用できるか?
- RQ5構造的バージョンのdiff pruningは、非構造的バージョンと比較して、パフォーマンスや一般化性能を向上させられるか?
主な発見
- Diff pruningは、1タスクあたりモデルパラメータの0.5%しか変更しないにもかかわらず、完全微調整されたBERTベースラインと同等またはそれ以上のGLUEベンチマークパフォーマンスを達成した。
- タスク数が増加するに従い、非ゼロ更新のみを格納するスパースストレージにより、完全微調整や標準的なプルーニング手法と比較して、著しく低いストレージコストを実現した。
- 構造的バージョンのdiff pruningはさらにパフォーマンスを向上させ、構造的スパース性が一般化性能とモデル効率を向上させられることを示唆した。
- ミニバッチあたりの処理速度は、標準的な微調整と比較して約1.5〜2倍遅いが、パラメータ効率の大幅な向上を考慮すると、妥当なトレードオフである。
- 本手法は、すべてのタスクにアクセスする必要がないため、デバイス内デプロイやストリームベースのタスク学習が可能である。
- 本手法は正則化効果を示し、特にデータ量が少ない状況では、標準的な微調整を上回る一般化性能を示したことがある。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。