PEFT (Parameter-Efficient Fine-Tuning) は、大規模言語モデル (LLM) のファインチューニングを効率化するための手法群です。
従来のファインチューニングでは、モデル全体のパラメータを更新する必要があり、膨大な計算リソースとストレージを要しました。これに対し、PEFTはモデルのごく一部のパラメータのみを更新するか、または新しい少数のパラメータを追加することで、この課題を解決します。
代表的なPEFT手法の一つに、LoRA (Low-Rank Adaptation) があります。これは、事前学習済みモデルの重み行列に、低ランクの行列を付加し、ファインチューニング時にはこの低ランク行列のパラメータのみを更新するものです。この手法により、更新されるパラメータ数は元のモデルのわずか数パーセントに抑えられます。
別の手法であるPrefix-Tuningは、モデルの入力に学習可能な「プレフィックス」を付加します。このプレフィックスは、各レイヤーのキーとバリューのシーケンスとして機能し、ファインチューニング時にはこのプレフィックスのパラメータのみを最適化します。これにより、モデル自体の重みは固定されたまま、特定のタスクに適応させることが可能となります。
また、Prompt-Tuningは、モデルの埋め込み層に学習可能な「ソフトプロンプト」を追加します。このソフトプロンプトは、人間が記述するテキストプロンプトと同様の役割を果たしますが、その内容は勾配降下法によって最適化されます。モデルの重みは一切変更されないため、非常に効率的です。
これらのPEFT手法は、ファインチューニングのコストを劇的に削減し、小規模なデータセットでもLLMのカスタマイズを可能にします。これにより、個人開発者や中小企業でも、特定用途のモデルを効率的に開発できる環境が整いつつあります。複数の異なるタスクに同じ事前学習済みモデルを使い回せるため、モデルのデプロイや管理も簡素化されます。
