PEFT(Parameter-Efficient Fine-Tuning)とは、機械学習(ML)において、大規模で事前に訓練されたモデル(基礎モデルのような)を、モデルの全パラメータを更新することなく、特定の下流タスクに適応させるために使用されるテクニックのコレクションを指す。その代わりに、PEFTの手法は、パラメータの小さなサブセットだけを変更したり、少数の新しいパラメータを追加したりすることに重点を置いている。このアプローチは、大規模な言語モデル(LLM)やコンピュータビジョン(CV)で使用される大規模なビジョンモデルなど、大規模なモデルの微調整に関連する計算コストやストレージコストを大幅に削減し、カスタマイズをより身近で効率的なものにします。
関連性とメリット
数十億ものパラメータを含む、非常に大規模な事前学習済みモデルの台頭により、従来のファインチューニング手法はリソース集約的なものとなっている。このようなモデルを完全に微調整するには、膨大な計算能力(多くの場合、複数のハイエンドGPU)、大容量のメモリ、および適応されたモデルごとにかなりのストレージ容量が必要です。PEFTは、いくつかの重要な利点を提供することで、これらの課題に対処します:
- 計算コストの削減:ごく一部のパラメータのみをトレーニングすることで、コンピューティングパワーと時間が大幅に削減され、Ultralytics HUB Cloud Trainingのようなプラットフォームを使用することで、より迅速な反復と実験が可能になります。
- より少ないメモリ要件:アクティブパラメータが少ないということは、学習と推論に必要なメモリが少ないということであり、コンシューマーグレードのハードウェアやエッジデバイスで大規模なモデルを微調整することが可能になる。
- 小さなストレージフットプリント:タスクごとに微調整したモデルの完全なコピーを保存する代わりに、PEFTでは多くの場合、変更または追加したパラメータの小さなセットを保存するだけで済むため、ストレージを大幅に節約できます。
- オーバーフィッティングの軽減:学習可能なパラメータ数を制限することで、PEFTはオーバーフィッティングのリスクを低減することができる。
- 壊滅的忘却の防止:PEFT法は、基本モデルのパラメータのほとんどを凍結したままにしておくことで、事前学習中に学習した一般的な知識を保持するのに役立ち、モデルが新しいタスクを学習する際に以前の能力を失ってしまう壊滅的忘却を克服する。
- 効率的なモデル展開:タスク固有のパラメータのサイズが小さいため、特にエッジAIのようなリソースに制約のある環境では、モデルの展開がよりシンプルになる。
キーコンセプトとテクニック
PEFTは転移学習の概念に基づいており、ベースモデルの知識を新しいタスクに適用する。標準的な微調整が多くの(あるいはすべての)レイヤーを調整するのに対して、PEFTは特殊な手法を採用する。一般的なPEFTの手法には以下のようなものがある:
- アダプター:事前に訓練されたモデルの層の間に挿入される小さなニューラルネットワークモジュール。微調整の際には、これらのアダプター・モジュールのパラメータのみがトレーニングされ、元のモデルの重みは固定されたままとなる。
- LoRA(低ランク適応):この手法は、学習可能な低ランク行列を大規模モデルの層(多くの場合Transformer層)に注入する。モデルを適応させるために必要な変化は「固有ランク」が低く、効率的に表現できると仮定している。詳しくはLoRA研究論文の原文をお読みください。
- プリフィックス・チューニング:基本 LLM パラメータを固定したまま、タスクに特化した連続ベクトル(プリフィックス)を入力に前置する。学習されるのは接頭辞パラメータのみである。
- プロンプトチューニング:Prefix-Tuningと似ているが、学習可能な「ソフトプロンプト」(埋め込み)を入力シーケンスに追加することで簡略化し、バックプロパゲーションによって直接最適化する。
Hugging Face PEFTライブラリのようなライブラリは、様々なPEFTメソッドの実装を提供し、一般的なMLワークフローへの統合を容易にします。
関連概念との区別
PEFTを他のモデル適応や最適化技術と区別することは重要だ:
- 微調整:標準的なファインチューニングでは、新しいデータセット上で、事前に訓練されたモデルのパラメータのすべて、またはかなりの部分を更新するのが一般的である。これに対してPEFTは、ごく一部のパラメータを変更するか、少数の新しいパラメータを追加するだけである。
- モデルの刈り込み:この手法では、学習済みモデルから冗長なパラメータや重要でないパラメータ(重みまたは接続)を削除することで、モデルのサイズと計算コストを削減する。PEFTは、最初に学習する内容を制限することで、効率的な適応に重点を置いている。
- 知識の蒸留:事前に訓練された大きな「教師」モデルの動作を模倣するために、小さな「生徒」モデルを訓練する。PEFTは、効率的ではあるが、大きなモデル自体を直接適応させる。
- ハイパーパラメーターの調整: このプロセスは、トレーニングプロセスに最適なコンフィギュレーション設定を見つけることに重点を置いている(例. 学習率, バッチサイズ新しいタスクのためにモデルの学習されたパラメータを適応させるのではなく)。のようなツールは Ultralytics
Tuner
クラス これを促進する。