Prompt Tuning(プロンプトチューニング)
LLM の重みを固定したまま、入力に付加する学習可能な連続トークン(Soft Prompt)だけを最適化するパラメータ効率的なファインチューニング手法。Google Research が 2021 年に提案し、フルファインチューニングの 0.01% 未満のパラメータで同等性能を達成できることを示した。
Prompt Tuning(プロンプトチューニング)とは
Prompt Tuning は、大規模言語モデル(LLM)の全パラメータを更新せず、入力シーケンスの先頭に挿入する少数の学習可能なベクトル(Soft Prompt)だけを勾配降下法で最適化する手法である。2021 年に Google Research の Lester らが論文「The Power of Scale for Parameter-Efficient Prompt Tuning」で提案した。T5-XXL(110 億パラメータ)で Soft Prompt わずか 20,480 パラメータ(全体の 0.01%)を学習するだけで、SuperGLUE ベンチマーク上でフルファインチューニングと同等のスコアを記録した点が画期的であった。
概要と背景
従来の LLM 活用では、タスクごとにモデル全体をファインチューニングする必要があった。しかしモデルサイズが数百億〜数兆パラメータに達した現在、全パラメータ更新には A100 80GB × 8 枚以上の GPU クラスタと数日〜数週間の訓練時間が必要になる。Prompt Tuning はこの問題を根本的に解決する。
- モデル本体は完全に凍結:推論時と同じ重みのまま
- 学習対象は Soft Prompt のみ:通常 10〜100 トークン分の連続ベクトル(各トークンは embedding 次元 d のベクトル)
- タスク切替が瞬時:モデルを再ロードせず Soft Prompt を差し替えるだけ
- マルチテナント運用に最適:1 つの LLM を共有し、ユーザーごとに異なる Soft Prompt を適用
2021 年の提案以降、Prefix Tuning(Li & Liang, 2021)、P-Tuning v2(Liu et al., 2022)など派生手法が多数登場し、2025〜2026 年現在では LoRA/QLoRA と並ぶ PEFT(Parameter-Efficient Fine-Tuning)の主要カテゴリとして広く利用されている。
技術的な仕組み
Prompt Tuning の学習プロセスは以下のステップで進む。
- 初期化:ランダムベクトル、または既存の語彙トークン埋め込みから Soft Prompt を初期化(語彙初期化の方が収束が早い)
- 前方伝播:Soft Prompt + 入力テキストを結合し、凍結済みモデルに通す
- 損失計算:タスク固有の損失関数(分類なら Cross-Entropy、生成なら Language Modeling Loss)を計算
- 逆伝播:勾配を Soft Prompt パラメータにのみ伝播させ更新(モデル本体の勾配は計算しない)
- 反復:数千〜数万ステップで収束
主要ハイパーパラメータ
| パラメータ | 推奨値 | 影響 |
|---|---|---|
| Prompt Length(トークン数) | 20〜100 | 長いほど表現力↑ だがメモリ消費↑ |
| Learning Rate | 0.1〜0.3 | 通常の LM 学習率(1e-5)より桁違いに大きい |
| 初期化方法 | 語彙トークン | ランダム初期化より収束が 2〜5 倍速い |
| Batch Size | 16〜32 | タスクデータ量に依存 |
| Epochs | 30〜100 | 小規模データセットでは多めに |
スケーリング特性
Prompt Tuning の最大の特徴は、モデルサイズが大きいほどフルファインチューニングとの性能差が縮まる点である。
| モデルサイズ | Prompt Tuning 精度 | Full FT 精度 | 差分 |
|---|---|---|---|
| T5-Small(60M) | 68.2% | 82.1% | -13.9pt |
| T5-Base(220M) | 74.8% | 84.3% | -9.5pt |
| T5-Large(770M) | 81.5% | 86.0% | -4.5pt |
| T5-XL(3B) | 84.7% | 87.2% | -2.5pt |
| T5-XXL(11B) | 86.4% | 87.0% | -0.6pt |
T5-XXL クラスでは差がわずか 0.6 ポイントまで縮小する。2025〜2026 年の 70B〜405B クラスのモデルでは事実上同等の性能が得られるケースが多い。
実装フレームワークと実践
2026 年現在、主要な PEFT ライブラリが Prompt Tuning をサポートしている。
- Hugging Face PEFT(v0.14+):
PromptTuningConfigクラスで数行の設定で利用可能。prompt_tuning_init="TEXT"で語彙初期化を指定 - OpenPrompt:Prompt Tuning 専門のフレームワーク。テンプレート設計やバーバライザー設定をサポート
- LLaMA-Factory:LoRA と並んで Prompt Tuning をワンクリックで設定可能
# Hugging Face PEFT での実装例
from peft import PromptTuningConfig, get_peft_model, TaskType
config = PromptTuningConfig(
task_type=TaskType.CAUSAL_LM,
num_virtual_tokens=20,
prompt_tuning_init="TEXT",
prompt_tuning_init_text="Classify the sentiment of the following text:",
tokenizer_name_or_path="meta-llama/Llama-3.1-8B",
)
model = get_peft_model(base_model, config)
# 学習可能パラメータ: 20 * 4096 = 81,920(全体の 0.001%)
活用シーンと制約
適したユースケース
- マルチテナント SaaS:1 モデルを共有し顧客ごとに Soft Prompt を配布
- タスク切替が頻繁:感情分析・要約・翻訳を 1 モデルで切り替え
- GPU メモリが限られる環境:RTX 4090(24GB)1 枚でも 7B モデルの Prompt Tuning が可能
- データが少量:数百〜数千サンプルでも十分な性能
制約と注意点
- 小規模モデルでは性能不足:3B 未満ではフルファインチューニングとの差が大きい
- 推論レイテンシ増加:Soft Prompt 分だけ入力長が伸びる(20 トークン追加で約 2〜5ms 増)
- 解釈性が低い:離散トークンと異なり Soft Prompt の意味を人間が理解しにくい
- LoRA との比較で劣後するケース:中規模モデル(7B〜13B)では LoRA の方が安定して高性能
よくある質問(FAQ)
Q1: Prompt Tuning と Prompt Engineering の違いは何ですか? A: Prompt Engineering は人間が自然言語でプロンプトを設計する手作業の手法で、学習は伴わない。Prompt Tuning は勾配降下法で連続ベクトル空間上の最適な Soft Prompt を自動学習する手法であり、性能上限が大幅に高い。
Q2: Prompt Tuning と LoRA はどちらを選ぶべきですか? A: 100B 以上の超大規模モデルでタスク切替を頻繁に行う場合は Prompt Tuning が有利。7B〜70B クラスで単一タスクの性能を最大化したい場合は LoRA/QLoRA が有利。両者を組み合わせることも可能。
Q3: Soft Prompt のトークン数はいくつが最適ですか? A: 一般的には 20〜50 トークンで十分。100 トークン以上に増やしても性能向上は飽和する一方、推論時のレイテンシが増加する。タスクの複雑さに応じて 20 から始めて徐々に増やすアプローチが推奨される。
Q4: 学習にはどの程度のデータが必要ですか? A: 数百サンプルから有効。ただし 1,000〜10,000 サンプルあると安定する。フルファインチューニングと比較してデータ効率が良いのも Prompt Tuning の利点の一つ。
まとめ
- Prompt Tuning はモデル全体を凍結し Soft Prompt のみを学習する超軽量 PEFT 手法
- 全パラメータの 0.01% 未満の学習で、大規模モデルではフルファインチューニング同等の性能
- マルチテナント・タスク切替・GPU 節約に最適
- 2026 年現在、LoRA と並ぶ PEFT の 2 大手法として定着