LLMの既存Transformerモデルに複数の予測ヘッドを追加し、各ヘッドが異なる将来位置のトークンを同時に予測することで、追加学習のみで1.8〜2.8倍の推論高速化を実現する並列デコーディング手法。
Medusa(メドゥーサ)は、Carnegie Mellon UniversityのCai et al.が2024年に発表した並列デコーディング手法である。既存のLLMに軽量な予測ヘッド(Medusa heads)を追加し、各ヘッドが1〜5トークン先の出力を同時に予測する。ドラフトモデルが不要なため、Speculative Decodingと比較してGPUメモリの追加消費が5〜10%と少なく、単一GPU環境でも導入しやすい点が特徴である。
Medusaは以下の3段階で動作する。
| 項目 | Medusa-1 | Medusa-2 |
|---|---|---|
| 学習方式 | ヘッドのみ学習(ベースモデル凍結) | ベースモデルとヘッドを同時学習 |
| 学習コスト | A100 1台で1〜2時間 | A100 8台で1〜2日 |
| 高速化倍率 | 1.8〜2.2x | 2.3〜2.8x |
| 品質影響 | ベースモデルと同一 | 微小な品質向上(+0.3% on MT-Bench) |
| 適用範囲 | 任意の学習済みモデル | 事前学習から組み込む場合に最適 |
| メモリ増加 | +5%(ヘッドのみ) | +5%(ヘッドのみ) |
2026年時点で公開されているMedusaヘッド付きモデルの主要な性能データは以下のとおりである。
| ベースモデル | ヘッド数 | 高速化倍率 | MT-Bench | GPU |
|---|---|---|---|---|
| Llama 3.1 70B | 3 | 2.5x | 8.92(変化なし) | A100 80GB |
| Llama 3.1 8B | 5 | 2.1x | 8.15(変化なし) | RTX 4090 24GB |
| Vicuna 33B | 3 | 2.3x | 7.45(変化なし) | A100 40GB |
| Mistral 7B | 4 | 2.0x | 7.82(変化なし) | RTX 3090 24GB |
| Qwen 2.5 72B | 3 |
Medusaヘッドの追加学習は比較的軽量で、以下の手順で実施できる。
--speculative-model medusa --num-speculative-tokens 3 で有効化。temperature=0の場合はExact Matchモード、temperature>0の場合はTypical Acceptanceモードを使用| 判断基準 | Medusa推奨 | Speculative Decoding推奨 |
|---|---|---|
| GPUメモリ | 制約あり(単一GPU) | 余裕あり(マルチGPU) |
| 品質要件 | ロスレス必須 | ロスレス必須 |
| 導入コスト | 低(ヘッド学習のみ) | 低(ドラフトモデル選定のみ) |
| 最大高速化 | 2.8x程度 | 3.5x程度 |
| バッチサイズ | 小〜中(1〜16) | 小(1〜8) |
Q1: Medusaヘッドの学習にはどの程度のデータが必要ですか? A: 30〜50K件の会話データで十分な品質が得られる。ShareGPTデータセットが最も広く使われており、A100 1台で1〜2時間で学習完了する。ドメイン特化モデルの場合は、そのドメインのデータを使うことで受理率が5〜10%向上する。
Q2: 既存のファインチューニング済みモデルにも適用できますか? A: Medusa-1であれば任意の学習済みモデルにヘッドを追加学習するだけで適用可能。ベースモデルの重みは一切変更しないため、ファインチューニングの効果はそのまま維持される。
Q3: Medusaヘッドの数はいくつが最適ですか? A: 一般的にはK=3(3ヘッド)が最もコストパフォーマンスが良い。K=5にすると理論上の最大受理長は伸びるが、各ヘッドの予測精度が低下するため、実効高速化倍率はK=3と比べて5〜10%程度の改善にとどまる。
| 2.4x |
| 9.01(変化なし) |
| H100 80GB |