vllm-project/router

A high-performance and light-weight router for vLLM large scale deployment

何を解決するか

このプロジェクトは、大規模な vLLM デプロイメント向けに設計された高パフォーマンスで軽量なリクエスト転送システムを提供します。複数の vLLM ワーカーに着信リクエストを効率的に分散することで、スループットを最大化し、リソース利用効率を最適化する問題を解決します。特に、プレフィル-デコードの分離デプロイメントパターンを使用する場合に有効です。

動作方法

ルーターは、リクエストを受け取り、構成可能なロードバランシングポリシーに基づいてバックエンドの vLLM ワーカーに転送するゲートウェイとして機能します。一貫性のあるハッシュ(セッションアフィニティ、KVキャッシュの再利用)やキャッシュに配慮したルーティングなど、複数のルーティング戦略をサポートしています。

高度な設定では、「プレフィル-デコードの分離」をサポートしており、LLM推論の別々の処理フェーズを専用のルーティングロジックで処理できます。Kubernetesとの統合により、ワーカーの自動発見と健全性監視が可能で、回路ブレーカーや指数バックオフ付きの再試行ロジックといったエンタープライズレベルの信頼性機能も備えています。

対象ユーザー

大規模な vLLM デプロイメントを実施する MLOps エンジニアや開発者で、リクエスト配信の管理、高可用性の確保、およびインテリジェントなルーティングによる推論パフォーマンス最適化を必要とする方々です。

主な特徴

  • 多様なロードバランシング: ラウンドロビン、ランダム、2つのうちの大きい方、一貫性のあるハッシュ、キャッシュに配慮したルーティングをサポート。
  • プレフィル-デコードの分離: 分離された処理フェーズに特化したルーティングにより効率性を向上。
  • Kubernetesネイティブ: K8s環境向けに組み込みのサービスディスカバリとワーカー管理機能。
  • エンタープライズレベルの信頼性: 回路ブレーカー、再試行ロジック、Prometheusメトリクスによる監視を備える。
  • 高パフォーマンス: 最小限のオーバーヘッドで実装された Rust による実装。

関連

  • Dispatch
  • Dispatch
  • Dispatch
  • プロジェクト
  • プロジェクト