用語集

プロンプト・チューニング

Prompt Tuningで大規模な言語モデルを効率的に最適化 - コストを削減し、リソースを節約し、タスク固有の適応性を簡単に実現します。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

プロンプトチューニングは、大規模な事前学習済みモデル、特に大規模言語モデル(LLM)を、モデル全体を更新することなく、特定の下流タスクに適応させるための合理的かつ効率的な手法である。何十億ものパラメータを変更する代わりに、プロンプトチューニングは、しばしば「ソフトプロンプト」と呼ばれる、タスクに特化したプロンプトパラメータの小さなセットを学習することに重点を置く。このアプローチにより、計算コストとメモリ要件が大幅に削減され、GPT-3や GPT-4のような巨大なモデルを、限られたリソースの特殊なアプリケーションに適応させることが可能になる。

コンセプトと関連性

プロンプトチューニングの中核となる考え方は、事前に訓練されたモデルの中に埋め込まれた膨大な知識を凍結したままにし、学習されたプロンプトベクトルを使用してその動作を導くことである。これらのソフトプロンプトは、バックプロパゲーションによって最適化された連続的なベクトル表現であり、特定のタスクに対する望ましい出力に向けてモデルを効果的に誘導する。プロンプトが手動で作成されたテキストである従来のプロンプトエンジニアリングとは異なり、このソフトプロンプトは学習されたパラメータである。

プロンプトチューニングは、PEFT(Parameter-Efficient Fine-Tuning:パラメータ効率的な微調整)の一形態を提供し、各タスクで学習・保存する必要のあるパラメータの数を大幅に削減するため、非常に関連性が高い。The Power of Scale for Parameter-Efficient Prompt Tuning(パラメータ効率に優れたプロンプトチューニングのためのスケールの力)」のような研究で詳述されているように、数十億のパラメータを持つモデルに対して、プロンプトチューニングは数千または数百万を最適化するだけで済むかもしれない。この効率性により、大規模なモデルの複数のカスタマイズバージョンを、法外なストレージや計算オーバーヘッドなしに容易に展開できるようになり、強力な基礎モデルの利用が民主化される。

プロンプト・チューニングの応用

プロンプト・チューニングは、大規模なモデルを効率的に適応させることが重要な場面で応用できる。具体的な例を2つ紹介しよう:

  1. カスタムテキストの生成:ある企業は、GoogleT5のような一般的なLLMを使用して、特定のブランドボイスでマーケティングコピーを生成したいと考えている。モデルを完全に微調整する代わりに、プロンプトチューニングを使用することができます。希望するコピースタイルの例でソフトプロンプトをトレーニングすることで、フローズンLLMが自社のブランドアイデンティティにマッチしたアウトプットを生成するよう導くことができ、タスクに特化したテキスト生成を効率的に実現できる。Ultralytics HUBのようなプラットフォームは、このような適合モデルの管理を容易にする。
  2. 領域に特化したセンチメント分析:医療提供者は、医療に関連する特定のセンチメントニュアンスのために患者のフィードバックを分析する必要があります。一般的な感情分析モデルでは、ドメイン固有の理解が不足する可能性がある。プロンプトチューニングを使用すると、医療関連のフィードバックデータに最適化されたプロンプトを学習することで、事前にトレーニングされた言語モデルを適応させることができます。これにより、モデルは、ベースモデル全体を再トレーニングすることなく、その特定のコンテキスト内のセンチメントをよりよく理解し、分類することができ、精度が向上する可能性があります。

プロンプト・チューニングと関連コンセプトの比較

プロンプト・チューニングを類似のテクニックと区別することは重要だ:

  • 微調整: ファインチューニングは通常、タスク固有のデータセット上で事前学習済みモデルの重みの全部または大部分を更新する。これは計算コストが高く、各タスクに適応した重みの完全なコピーを保存する必要がある。プロンプトチューニングは、プロンプトパラメータの小さなセットを更新するだけで、元のモデルの重みは凍結されたままであるため、リソース効率がはるかに高くなります。微調整に適用できる一般的なガイダンスについては、モデルトレーニングのヒントを参照してください。
  • プロンプト・エンジニアリング プロンプトエンジニアリングでは、LLMから望ましい行動を引き出すために、しばしば試行錯誤や思考連鎖プロンプトのようなテクニックを使って、離散的なテキストプロンプトを手動で設計する。プロンプトチューニングは逆に、最適化によって連続的なプロンプトの埋め込みを自動的に学習する。
  • プロンプトの充実: プロンプト・エンリッチメントは、プロンプトに文脈、指示、例を手動で追加することで、わかりやすさを向上させ、AIを誘導することに重点を置いている。プロンプトチューニングがプロンプトパラメーターの自動学習プロセスであるのに対し、これは手動による強化手法です。
  • LoRA(低ランク適応): LoRAは、訓練可能な低ランク行列をモデルの層に注入し、間接的に重みを適応させるPEFT手法の1つであるが、一般的にソフトプロンプトを介して入力層や注意メカニズムのみを変更するプロンプトチューニングよりも広範囲に適応させる。どちらも完全な微調整よりも効率的である。PEFT手法については、Hugging Face PEFT library documentationのようなリソースでより詳しく学ぶことができます。

要約すると、プロンプト・チューニングは、次のような大規模な事前学習済みモデルを特殊化するための強力で効率的な方法を提供します。 Ultralytics YOLO(関連するマルチモーダル文脈に適用した場合)やLLMのような大規模な事前学習済みモデルを、性能と計算可能性のバランスを取りながら、多様なタスクに特化させるための強力で効率的な手法を提供する。これは、強力なAIモデルをより適応しやすく、利用しやすくするための重要な進歩です。

すべて読む