RouteLLM(ルートエルエルエム)
UC Berkeley/LMSysが開発したLLMルーティングフレームワーク。クエリの複雑さを自動判定し、高性能・高コストなモデルと安価・軽量なモデルを動的に使い分けることでコストを50〜70%削減しながらGPT-4レベルの品質を維持する。
RouteLLM — コスト効率的なLLMルーティングフレームワーク
RouteLLM は、UC Berkeley と LMSYS(Chatbot Arena の開発チーム)が2024年に発表したオープンソースのLLMルーティングフレームワークです。クエリの複雑さに応じて強力なモデルと安価なモデルを自動的に選択することで、GPT-4品質を維持しながらコストを最大70%削減できることを示しました。
基本的な考え方
すべてのユーザークエリが GPT-4 レベルの能力を必要とするわけではありません。「東京の天気は?」という質問に GPT-4o を使う必要はなく、GPT-3.5 や Haiku で十分です。一方、「複雑な法律文書の要約と問題点の指摘」には高性能モデルが必要です。
RouteLLM はこの判定を自動化するルーター(Router)を提供します:
ユーザークエリ → ルーター(難易度判定)
├─ 複雑 (高スコア) → GPT-4o / Claude 3 Opus
└─ 単純 (低スコア) → GPT-3.5 Turbo / Claude Haiku
4種類のルーターアーキテクチャ
1. CAWR (Calibrated Win Rate Router)
- Chatbot Arena の Elo レーティングデータを活用
- モデル間の勝率を推定してルーティング決定
- 汎用的で最もパフォーマンスが安定
- 推奨ルーター
2. SW-Ranking Router
- 軽量な分類モデルによるランキング
- 低レイテンシ・低コストでルーティング判定
- リソース制約環境に適している
3. Matrix Factorization Router
- ユーザー×モデルの嗜好行列を学習
- 個人化されたルーティングが可能
- 訓練データが必要
4. LLM-based Router
- 別のLLMがクエリの複雑さを判定
- 最も直感的だがルーター自体のコスト発生
- 特殊なドメインに対応しやすい
性能とコスト削減効果
論文(2024年6月)の実験結果:
| 設定 | GPT-4コール率 | コスト削減 | 品質維持率 |
|---|---|---|---|
| 全クエリGPT-4 | 100% | 基準 | 100% |
| RouteLLM (CAWR) | 28% | 72%削減 | 95%以上 |
| RouteLLM (SW-Ranking) | 35% | 65%削減 | 93%以上 |
セットアップと使い方
pip install routellm-ai
from routellm.controller import Controller
client = Controller(
routers=["cawr"],
strong_model="gpt-4o",
weak_model="gpt-3.5-turbo",
)
# threshold=0.11592 で GPT-4 コール 28%
response = client.chat.completions.create(
model="router-cawr-0.11592",
messages=[{"role": "user", "content": "複雑な数学問題を解いてください"}],
)
threshold パラメータで強モデルへのルーティング率を調整できます(0に近いほど多く強モデルを使用)。
OpenAI 互換 API として使う
RouteLLM はOpenAI SDK 互換なので、既存コードのベースURL変更だけで導入できます:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:6060/v1",
api_key="no-key-needed",
)
response = client.chat.completions.create(
model="router-cawr-0.11592",
messages=[{"role": "user", "content": query}]
)
2025年の最新動向
2025年には RouteLLM v0.3 がリリースされ、Claude 3 Haiku/Sonnet/Opus や Gemini Flash/Pro のルーティングにも対応。LiteLLM との統合により、100以上のLLMプロバイダーをまたいだルーティングが可能になりました。また Vercel AI SDK や LangChain との公式インテグレーションも追加されています。
よくある質問
Q1: ルーターが間違った判定をした場合は?
A: 重要なタスクでは threshold を低く設定して強モデルへのルーティング頻度を上げてください。また、ドメイン固有データで追加訓練すればルーター精度を向上できます。
Q2: ローカルモデルとの組み合わせは? A: Ollama で動かすローカルモデル(Qwen2.5/Llama3 等)を弱モデルとして設定し、GPT-4o を強モデルとする構成が一般的です。コストをほぼゼロにしながら品質を担保できます。
Q3: LiteLLM との違いは? A: LiteLLM は複数LLMへの統一APIゲートウェイ(プロキシ)、RouteLLM はクエリ複雑さに基づくインテリジェントルーター。両者は補完的な関係で組み合わせて使うのが推奨です。