Medusa投機的デコーディング(メデューサ トウキテキ デコーディング)
LLM推論高速化手法。単一モデルに複数のデコーダヘッドを追加し複数トークンを並行予測・検証することで、品質を保ちつつ2〜3倍の推論速度を実現する投機的デコーディング実装。
Medusa投機的デコーディング
概要
MedusaはLLM(大規模言語モデル)の推論速度を大幅に向上させる投機的デコーディング手法です。2023年にCornell大学とTogetherAI研究チームが発表しました。従来の自動回帰デコーディングでは1ステップに1トークンしか生成できませんでしたが、Medusaは複数のデコーダヘッドを並行動作させることで1ステップで複数トークンを効率的に生成します。
動作原理
従来の自動回帰デコーディング
標準的なLLM推論は逐次的です:
- 入力トークン列を処理
- 次の1トークンを予測
- そのトークンを入力に追加
- ステップ2-3を繰り返す
このシーケンシャルな処理がGPU並列性を活かせず、ボトルネックになっています。
Medusaの仕組み
Medusaは元のLLMに複数の「Medusaヘッド」(軽量なFFN層)を追加します:
- Medusa Head-1: 次のトークン(位置+1)を予測
- Medusa Head-2: 2つ先のトークン(位置+2)を予測
- Medusa Head-K: K個先のトークン(位置+K)を予測
元モデルの最終隠れ状態から各ヘッドが独立して予測し、ツリー状の候補トークンシーケンスを形成。元モデルが1フォワードパスでこれらすべての候補を検証し、正しい候補を採択します。
Medusa-1 vs Medusa-2
| バージョン | 訓練方法 | 特徴 |
|---|---|---|
| Medusa-1 | 元モデル凍結・ヘッドのみ訓練 | 元モデル品質保証・訓練コスト低 |
| Medusa-2 | 元モデルと共同ファインチューニング | 精度向上・訓練コスト高 |
Medusa-1はLoRA等で軽量に追加訓練可能。Medusa-2は元モデルのwhole finetuningを要するが予測精度が高い。
パフォーマンス実績
| モデル | 手法 | 高速化倍率 |
|---|---|---|
| Vicuna-7B | Medusa-1 | 2.2× |
| Vicuna-13B | Medusa-1 | 2.5× |
| Vicuna-33B | Medusa-1 | 2.8× |
| Zephyr-7B | Medusa-2 | 3.0× |
品質(出力トークン分布)は元モデルと同一を保証します(ツリー検証による)。
ツリーアテンション機構
Medusaの核心技術はツリー構造での候補管理です。候補トークンをツリーとして表現し、1回のアテンション計算で全分岐を並行検証します。これにより無効な候補を効率的に枝刈りしGPU並列性を最大活用します。
ドラフトモデル不要の利点
Medusaは単一モデルにヘッドを付加するだけです:
- メモリ効率: 追加メモリ消費が最小
- デプロイ簡易: 2モデル管理不要
- 汎用性: 任意のTransformerベースLLMに適用可能
よくある質問(FAQ)
Q1: Medusaは出力品質を劣化させますか? A: ツリー検証により元モデルと同一の出力分布を保証。品質劣化なしに高速化を実現します。
Q2: どのモデルに適用できますか? A: LLaMA/Vicuna/Mistral/Zephyr等のデコーダ型Transformerに適用可能。モデルのアーキテクチャ変更は不要です。
Q3: 通常のファインチューニング済みモデルに後付けできますか? A: Medusa-1は元モデルを凍結したまま軽量訓練(数時間〜1日)で追加可能です。
まとめ
- 単一モデルに複数ヘッドを付加する投機的デコーディング実装
- 2〜3倍の推論高速化を品質保証付きで実現
- ドラフトモデル不要でデプロイが簡易
- vLLM等のフレームワークへの統合が進行中(2025年)