Prompt Tuning で使用される学習可能な連続ベクトルの集合。離散的な自然言語トークン(Hard Prompt)とは異なり、embedding 空間上の任意の位置に最適化されるため、人間には解読できないが高い表現力を持つ。
Soft Prompt は、Prompt Tuning において LLM の入力シーケンスに付加される学習可能な連続ベクトルの集合である。通常のプロンプト(Hard Prompt)が語彙テーブル上の離散トークンであるのに対し、Soft Prompt は embedding 空間上の任意の実数値ベクトルであり、勾配降下法で最適化される。
Soft Prompt の概念は 2021 年の Prompt Tuning 論文で本格的に導入された。入力テキストの前方に k 個の仮想トークン(virtual tokens)を挿入し、各仮想トークンは d 次元の embedding ベクトルとして表現される。例えば Llama 3.1-8B(d=4096)で 20 トークンの Soft Prompt を使う場合、学習パラメータは 20 × 4096 = 81,920 個(約 320KB、FP32)に過ぎない。
| 特性 | Hard Prompt | Soft Prompt |
|---|---|---|
| 表現空間 | 離散(語彙テーブル上) | 連続(embedding 空間全体) |
| 設計方法 | 人間が自然言語で記述 | 勾配降下法で自動最適化 |
| 解釈可能性 | 高い(人間が読める) | 低い(数値ベクトル) |
| 表現力 | 語彙に制約される | 語彙間の任意の位置を取れる |
| 再現性 | テキストをコピーすれば再現 | ベクトルファイルの共有が必要 |
| 最適化上限 | 人間の試行錯誤に依存 | 理論上は最適解に収束 |
Soft Prompt の初期化方法は収束速度と最終性能に大きく影響する。
| 初期化方法 | 収束ステップ | 最終精度(SST-2) | 推奨度 |
|---|---|---|---|
| ランダム | 30,000 | 92.1% | △ |
| 語彙トークン | 12,000 | 93.8% | ◎ |
| タスクラベル | 10,000 | 94.2% | ◎ |
| 転移(類似タスク) |
| 5,000 |
| 94.5% |
| ○(条件付き) |
Soft Prompt のベクトルは、語彙トークンの embedding とは異なる位置に最適化されることが多い。研究によれば、学習後の Soft Prompt ベクトルは:
Q1: Soft Prompt は人間が読めますか? A: 読めない。最近傍トークンを表示する手法(nearest token projection)で近似的な解釈は可能だが、実際のベクトルは語彙トークンの中間的な位置にあり、1 対 1 のテキスト変換はできない。
Q2: Soft Prompt の長さを増やすと必ず性能は上がりますか? A: 一般的に 20→50 トークンでは性能向上するが、100 以上では飽和する。逆に推論時の入力長が伸びてレイテンシが増えるため、最小限の長さで十分な性能を達成するのが望ましい。
Q3: 異なるタスクの Soft Prompt を結合できますか? A: 理論上は結合(concatenation)可能だが、タスク間の干渉が起きるため単純結合では性能が劣化する。Multi-task Prompt Tuning の研究では、共有 Soft Prompt + タスク固有 Soft Prompt の 2 段構成で解決している。