コンテキスト蒸留(コンテキストジョウリュウ)
大規模言語モデルの推論時に与えるプロンプトやシステム指示の振る舞いをモデルのパラメータに内在化させる蒸留手法。推論時のプロンプト長を削減しつつ、同等の出力品質を維持する技術として注目されている。
コンテキスト蒸留とは
コンテキスト蒸留(Context Distillation)は、大規模言語モデル(LLM)の推論時に毎回付与していた長いシステムプロンプトや Few-shot 例示の効果を、モデルのパラメータ自体に焼き込む蒸留手法である。Anthropic が Claude の安全性チューニングに採用したことで知られ、推論コストの削減と一貫した振る舞いの両立を実現する。
従来手法との違い
通常の知識蒸留(Knowledge Distillation)は教師モデルの出力分布を生徒モデルに転写するのに対し、コンテキスト蒸留は同一モデル内でコンテキスト付き推論の振る舞いをコンテキストなし推論に転写する点が特徴的である。
| 手法 | 教師 | 生徒 | 転写対象 |
|---|---|---|---|
| 知識蒸留 | 大規模モデル | 小規模モデル | 出力分布全体 |
| コンテキスト蒸留 | 同一モデル+プロンプト | 同一モデル(プロンプトなし) | プロンプト効果 |
| Self-Distillation | 同一モデル | 同一モデル(異なるエポック) | 中間表現 |
動作原理
Step 1: 教師分布の生成
長いシステムプロンプト(例: 安全ガイドライン 2,000トークン)を付与した状態で多数の入力に対する出力確率分布を生成する。この分布が「理想的な振る舞い」の教師信号となる。
Step 2: 生徒の学習
同じ入力をシステムプロンプトなしで与え、教師分布との KL ダイバージェンスを最小化するようにモデルパラメータをファインチューニングする。
Step 3: 評価と反復
蒸留後のモデルが元のプロンプト付き推論と同等の品質・安全性を示すか評価し、不足があれば学習データの追加やハイパーパラメータ調整で反復する。
実際の適用事例
Anthropic Claude の安全性チューニング
Anthropic は Constitutional AI のプロセスでコンテキスト蒸留を活用している。安全性に関する長い指示(Helpful, Harmless, Honest の原則)をモデルのパラメータに内在化させることで、推論時にそれらの指示を毎回付与しなくても安全な応答を生成できる。
OpenAI の指示追従改善
GPT-4 の指示追従能力の向上にもコンテキスト蒸留の原理が応用されている。Few-shot 例示で示された応答スタイルや制約遵守のパターンをパラメータに焼き込むことで、Zero-shot でも高品質な指示追従を実現する。
エンタープライズ向けカスタマイズ
企業固有のガイドラインや用語集をプロンプトに含める代わりにパラメータに蒸留することで、推論コスト(トークン使用量)を50〜80%削減できる事例が報告されている。
メリットと制約
メリット
- 推論時のプロンプト長を大幅に短縮でき、レイテンシとコストが低減する
- 一貫した振る舞いが保証され、プロンプトインジェクション攻撃への耐性が向上する
- コンテキストウィンドウの有効利用(ユーザー入力により多くのトークンを割ける)
制約
- 蒸留の品質はファインチューニングデータの多様性に依存する
- 蒸留後の振る舞い変更にはモデルの再学習が必要(プロンプト変更のような柔軟性はない)
- 微妙なニュアンスの指示は完全にパラメータ化しにくい場合がある
FAQ
Q1: コンテキスト蒸留と RLHF の関係は?
コンテキスト蒸留は RLHF の前段階または補完として使われる。安全性の基盤的な振る舞いをコンテキスト蒸留で確立し、その上で RLHF による人間のフィードバック学習を行う二段構成が一般的である。
Q2: 蒸留にはどの程度のデータが必要ですか?
プロンプトの複雑さによるが、一般的に数千〜数万例のペアデータで十分な効果が得られる。Anthropic の事例では安全性蒸留に数万例規模のデータセットが使用された。
Q3: 推論コストの削減効果は具体的にどの程度ですか?
2,000トークンのシステムプロンプトを蒸留で除去した場合、入力トークン数がその分だけ減少する。API 利用の場合、入力コストが30〜60%程度削減される計算になる。