LLM Cascade Routing(エルエルエムカスケードルーティング)
LLM Cascade Routing(カスケードルーティング)とは、安価な軽量モデルで最初に応答を生成し、品質が閾値未満の場合に段階的により高性能なモデルへエスカレーションする推論戦略である。FrugalGPT の研究で提唱され、最大 98% のコスト削減を品質維持しつつ達成する。
LLM カスケードルーティングは、複数のモデルを品質とコストの階層構造に並べ、安価なモデルから順に推論を試みる戦略である。各段階で応答品質を評価し、十分な品質が得られた時点で処理を完了する。FrugalGPT(Stanford、2023年)がこの概念を体系化し、GPT-4 単体と同等の品質を 2% のコストで達成できることを示した。
概要
カスケードの基本原理は「Easy queries are cheap, hard queries are expensive」に集約される。カスタマーサポートの FAQ 応答の 70% は GPT-4o-mini($0.15/1M tokens)で十分だが、契約条項の解釈や技術的トラブルシューティングは GPT-4o($2.50/1M tokens)や Claude 4 Opus が必要になる。カスケードルーティングは、この分布を自動的に活用する。
カスケード構成の典型例
3段カスケード
| 段階 | モデル | コスト (1M tokens) | 用途 | 処理割合 |
|---|---|---|---|---|
| Tier 1 | GPT-4o-mini | $0.15 | 単純 FAQ・定型応答 | 60-70% |
| Tier 2 | GPT-4o | $2.50 | 中程度の推論・分析 | 20-30% |
| Tier 3 | Claude 4 Opus | $15.00 | 高度な推論・創造的タスク | 5-10% |
混合コスト計算例(月間 10万クエリ、平均 1K tokens/クエリ)
- カスケードなし(GPT-4o 全量): $2,500/月
- 3段カスケード: (70K × $0.15 + 25K × $2.50 + 5K × $15.00) / 1000 = $10.50 + $62.50 + $75.00 = $148/月(94% 削減)
品質評価メカニズム
カスケードの成否は「現在の応答が十分な品質か」を正確に判定する品質評価器(Verifier)に依存する。
自己信頼度スコア
モデル自身の出力確率(logprobs)を品質指標とする。トップトークンの対数確率が閾値以上なら「自信あり」と判定。計算コストゼロだが、モデルの過信(calibration error)が課題。
LLM-as-Judge
別の軽量 LLM で応答品質を 1-5 スケールで評価する。GPT-4o-mini を Judge として使えば追加コストは微小。ただし Judge 自体の精度上限がボトルネック。
外部 Verifier
タスク固有のルールベース検証器。コード生成なら構文チェック + テスト実行、数学なら計算結果の検算。最も信頼性が高いが、汎用性に欠ける。
FrugalGPT の研究成果
Stanford の FrugalGPT(Chen et al., 2023)は 3 つの戦略を組み合わせた:
- Prompt Adaptation: 不要な例示を削除してトークン数を削減(最大 75% 削減)
- LLM Approximation: 小型モデルでファインチューニングして大型モデルの出力を模倣
- LLM Cascade: 安価 → 高価の順にモデルを試し、品質閾値を満たしたら停止
これら 3 戦略の組み合わせで、GPT-4 と同等の MMLU スコアを維持しつつ、API コストを 98% 削減した。
実装パターン
import litellm
async def cascade_completion(messages, quality_threshold=0.85):
models = [
("gpt-4o-mini", 0.70),
("gpt-4o", 0.85),
("claude-opus-4-20250514", 1.00),
]
for model, expected_quality in models:
response = await litellm.acompletion(
model=model,
messages=messages,
logprobs=True,
top_logprobs=5
)
confidence = calculate_confidence(response)
if confidence >= quality_threshold:
return response
return response
よくある質問(FAQ)
Q1: カスケードの段数は何段が最適ですか? A: 実用上は 2-3 段が最適。2段(mini + full)で十分なケースが多く、4段以上はレイテンシオーバーヘッドとシステム複雑性が品質改善を上回る。FrugalGPT の実験でも 3段以上の改善は限定的だった。
Q2: カスケードのレイテンシは単一モデルより悪化しますか? A: Tier 1 で処理完了する 60-70% のクエリは単一モデルより高速(軽量モデルの方が応答速度が速いため)。エスカレーションが発生するクエリは Tier 1 の処理時間分だけ増加するが、全体平均では同等かやや高速になることが多い。
Q3: カスケードはストリーミング応答と併用できますか? A: 可能だが工夫が必要。Tier 1 の応答をストリーミングしつつ品質評価を並行実行し、品質不足と判定された時点でストリームを中断して Tier 2 に切り替える実装が一般的。ユーザー体験上は応答の「やり直し」が発生するため、UI での適切なハンドリングが必要。
まとめ
- カスケードルーティングは安価→高価モデルの段階的エスカレーション戦略
- FrugalGPT の研究で GPT-4 品質を維持しつつ 98% コスト削減を実証
- 品質評価器(Verifier)の精度がカスケード全体の性能を決定する
- 実用上は 2-3 段構成で、自己信頼度 + LLM-as-Judge の組み合わせが推奨
- 月間 API コスト $1,000 以上の環境で導入効果が顕著