← 一覧へ戻る

AI / ルーティング

NVIDIA LLM Router v3について

要点

  • GitHub の v3 ブランチには、NVIDIA LLM Router v3 が「prefill complexity-based routing」として明記されています。
  • v3 は、軽量 encoder の hidden states を使って各モデルの正答確率を予測し、精度しきい値を満たす中で最も安いモデルを選ぶ方式です。
  • v1 の BERT 分類、v2 の intent / multimodal routing と違い、v3 は text-only の複雑度推定と cost-quality 最適化に寄っています。

結論

NVIDIA LLM Router v3 はあります。2026年6月23日時点で GitHub の v3 ブランチに公開されており、README では「Complexity-Based Optimization」を掲げる reference implementation として説明されています。

v1 BERT分類 Rust proxy + Triton v2 intent / multimodal FastAPI 分類中心 v3 prefill routing hidden states → PCA → MLP routing + inference
v3 は「intent を当てるルーター」より、「質問の複雑度から最適コスト帯を選ぶルーター」と見ると分かりやすいです。

v3は何か

LLM は Large Language Model、つまり大規模言語モデルです。v3 ブランチの README では、Model Router が「どのモデルがどの種類の質問をうまく処理できるか」を学習し、精度条件を満たす範囲で最も効率のよいモデルへ各リクエストを送る仕組みとして説明されています。README の見出しは「LLM Router v3 — Complexity-Based Optimization」です。

  • 大きい frontier model を全部の問い合わせに使うと高コストです。
  • 小さい model だけに寄せると難問で精度が落ちます。
  • v3 は質問ごとの複雑さの信号を抽出して、中間帯を含む model pool から最適な送信先を選びます。

どう動くか

README では、training、inference、selection の 3 段階で説明されています。要点は「routing のために毎回すべての候補 model を叩かない」ことです。

質問 Encoder Qwen3.5-0.8B hidden states PCA + MLP P(correct) per model 選択 threshold を超える 最安モデル を選ぶ
質問を 1 回 encoder に通し、その内部表現から各 model の正答確率を予測して選びます。
  • 学習時は、複数モデルを同じ質問群で走らせて正誤を集めます。
  • 推論時は、軽量 encoder を 1 回だけ実行します。
  • 選択時は、最良 model からの許容差 tolerance を使って threshold を作り、その threshold を超える中で最も安い model を選びます。

toleranceの意味

0.0

コスト無視で、予測精度が最も高い model を選びます。

0.20

既定値です。少し精度を譲って、より安い model を許容します。

1.0

最小 model を常に選ぶ方向へ寄ります。

README の例では、最高確率が 0.97 のときに tolerance = 0.20 を置くと threshold は 0.77 になり、その threshold を超えた候補のうち最安モデルが選ばれます。

v3の構成

  • Core Routing Engine: PrefillRouter が encoder、hidden states、MLP、selection を束ねます。
  • Training Pipeline: collecttrainevaluate の CLI が用意されています。
  • Serving Layer: standalone server、router-only sidecar、LiteLLM integration を持ちます。
  • Config / Checkpoint: YAML で model pool を定義し、`.pt` checkpoint を読みます。

何が新しいか

  • v1 は BERT 分類と Rust proxy が中心でした。
  • v2 は intent-based routing と multimodal が中心でした。
  • v3 は prefill hidden states を routing signal に使い、9 models、最大 500x のコスト差を扱う cost optimization へ寄っています。
  • v3 は proxying も残っていて、README では「Yes (routing + inference)」と整理されています。

使い方の入口

  1. Python 3.10+ と Git LFS を入れる。
  2. clone 後に git lfs installgit lfs pull を実行する。
  3. checkpoints/ の学習済み checkpoint と configs/ の YAML を使って router を作る。
  4. 必要に応じて library、standalone server、sidecar、LiteLLM proxy で使い分ける。
Git LFS checkpoint route() server sidecar
まず local routing を動かし、そのあと server か sidecar に広げる流れが自然です。

どこで使うと効くか

  • 単一の高価な model に全部流していて、コストを落としたいとき。
  • 既存推論基盤は残しつつ、routing だけ sidecar として差し込みたいとき。
  • OpenAI 互換 endpoint を維持しながら、裏側の model 選択を自動化したいとき。

注意点

  • README 自体が「Reference implementation only」と書いており、そのまま production 完成品として扱う位置付けではありません。
  • routing 精度は checkpoint と学習データに依存します。
  • multimodal ではなく text-only です。画像 routing が必要なら v2 系の文脈を別で見る必要があります。

まとめ

NVIDIA LLM Router v3 は、v3 ブランチで公開されている prefill ベースの complexity router です。小型 encoder の内部表現から各 model の正答確率を予測し、許容精度内で最安の model を選ぶのが中心思想です。v1 の分類 proxy、v2 の intent / multimodal router とは狙いがかなり違い、v3 は cost-quality optimization を強く意識した設計です。

参考URL