Yolo 深圳
深セン
今すぐ参加
用語集

プロンプトチューニング

プロンプト調整を探求し、完全な再学習なしに基盤モデルを効率的に適応させましょう。YOLO26などのAIタスクにおいて、ソフトプロンプトがレイテンシとストレージを削減する方法を学びます。

プロンプトチューニングは、事前学習済み基盤モデルを特定のダウンストリームタスクに適応させるために用いられるリソース効率の高い手法であり、ネットワーク全体を再学習する計算コストを伴わない。従来のファインチューニングがモデルの全パラメータまたは大部分を更新するのに対し、プロンプトチューニングでは事前学習済みモデルの重みを固定し、入力データに先頭追加される「ソフトプロンプト」と呼ばれる少数の学習可能ベクトルのみを最適化します。 この手法により、単一の巨大な基盤モデルが複数の特化アプリケーションを同時に処理でき、ストレージ要件と推論遅延の切り替えコストを大幅に削減します。

プロンプト調整の仕組み

標準的な機械学習(ML)ワークフローでは、 テキストや画像などの入力データは数値表現(埋め込み)に変換される。 プロンプトチューニングでは、この入力シーケンスに追加の学習可能な埋め込みベクトルを挿入する。 学習フェーズでは、システムはバックプロパゲーションを用いて勾配を計算するが、 最適化アルゴリズムはソフトプロンプトの値のみを更新し、巨大なモデル構造には手を加えない。

この手法はパラメータ効率型微調整(PEFT)の一種である。連続ベクトルを学習することで、モデルは望ましい出力へ「誘導」される。この概念は自然言語処理(NLP)に起源を持つが、コンピュータビジョン(CV)タスクへも成功裏に適応され、視覚的プロンプト調整(VPT)と呼ばれることが多い。

関連概念の区別

プロンプトチューニングの有用性を理解するには、AI分野における類似用語との区別が不可欠である:

  • プロンプトエンジニアリングこれは 生成AIモデルを導くために、人間が読めるテキスト指示(ハードプロンプト)を手作業で作成する手法です。 コーディングやトレーニングは不要です。 一方、プロンプトチューニングは、 自然言語の単語に対応しない可能性のある最適な数値埋め込みを見つけるために、 自動化された教師あり学習を利用します。
  • 完全な微調整:従来の方法はニューラルネットワーク全体を更新するため、元の学習内容を「壊滅的な忘却」に陥らせることが多い。プロンプト調整はモデルの本来の能力を保持するため、異なるタスク間で転移学習を活用しやすくなる。
  • 少例学習これは通常、LLMのコンテキストウィンドウ内で少数の例を提供することを指す。プロンプトチューニングは、一時的なコンテキストを提供するだけでなく、保存・再利用されるパラメータを恒久的に学習する点で異なる。

実際のアプリケーション

プロンプトチューニングは、リソース制約のある環境におけるAIのスケーラブルな展開を可能にします。これはモデル管理Ultralytics が共有する中核的な理念です。

  1. 多言語カスタマーサポート:グローバル企業は単一の中央集中型固定言語モデルを利用できます。スペイン語、日本語、ドイツ語向けの軽量ソフトプロンプトを学習させることで、システムは言語を瞬時に切り替えられます。これにより、3つの別々のギガバイト規模モデルをホストする膨大なコストを回避し、代わりにキロバイト規模のプロンプトファイルに依存します。
  2. 医療におけるAI 医療画像診断はしばしばデータ不足に悩まされる。研究者は汎用的なビジョンバックボーン(例: ビジョントランスフォーマー)を採用し、プロンプトチューニングを用いて 網膜疾患や腫瘍などの特定異常の検出に適応させることができる。これにより患者データの プライバシーが維持され、モデル全体を再学習することなく新たな医療機器への迅速な適応が可能となる。

実施例

以下の PyTorch 例は、中核となる 技術的概念を示しています:モデルの主要な層を凍結し、出力に影響を与えるよう最適化された、 別個の学習可能なパラメータ(「ソフトプロンプト」)を作成します。

import torch
import torch.nn as nn

# 1. Define a dummy backbone (e.g., a pre-trained layer)
backbone = nn.Linear(10, 5)

# 2. Freeze the backbone weights (crucial for prompt tuning)
for param in backbone.parameters():
    param.requires_grad = False

# 3. Create a 'soft prompt' vector that IS trainable
# This represents the learnable embeddings prepended to inputs
soft_prompt = nn.Parameter(torch.randn(1, 10), requires_grad=True)

# 4. Initialize an optimizer that targets ONLY the soft prompt
optimizer = torch.optim.SGD([soft_prompt], lr=0.1)

# Verify that only the prompt is being trained
trainable_params = sum(p.numel() for p in [soft_prompt] if p.requires_grad)
print(f"Optimizing {trainable_params} parameters (Soft Prompt only)")

現代のエッジAIへの関連性

モデルが大きくなるにつれ、低コストで適応させる能力が重要となる。YOLO26のようなアーキテクチャ既に効率化が図られているが、バックボーンの固定と効率的な適応の原理はエッジAIの将来にとって根本的である。プロンプトチューニングに類似した技術により、メモリが限られたデバイスでも、巨大なニューラルネットワークを再読み込みする代わりに小さな設定ファイルを交換するだけで、物体検出からセグメンテーションまで多様なタスクを実行できる。

効率的なトレーニングとデプロイを目指す開発者にとって、Ultralytics のようなツールを活用することは、モデルが特定のハードウェアターゲット向けに最適化され、現代的なMLOpsのベストプラクティスを活用することを保証します。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加