sgl-project/rbg

A workload for deploying LLM inference services on Kubernetes

何を解決するか

従来の Kubernetes プリミティブ(StatefulSet や Deployment)は、LLM 推論サービスの複雑な要件を想定して設計されていません。これらのサービスは、複数の役割(例:prefill と decode の分離)を必要とし、厳密なハードウェアの親和性(GPU-NVLink、RDMA)と、スケーリングやアップグレード時の複数の役割間でのアトミック操作を必要とします。

仕組み

RoleBasedGroup (RBG) は、全体の推論サービスを単一の調整された単位として扱う Kubernetes API です。以下の主要な概念を導入しています:

  • Roles:各役割(例:prefill や decode)が独自の仕様とライフサイクルを持つ、基本的なスケジューリング単位。
  • RoleBasedGroup:1 つのサービスを構成するこれらの役割の論理的グループ。
  • RoleInstance:バインドされたライフサイクルを持つ Pod の集合であり、インプレース更新をサポート。
  • CoordinatedPolicy:複数の役割にわたるローリングアップデートやスケーリングを同時に管理するための別々の CRD。

対象ユーザー

Kubernetes 上で分散型、ステートフルな AI 推論ワークロードを展開するエンジニアおよびオペレーター向けです。特に SGLang や vLLM などのエンジンを使用している方々に適しています。

特徴

  • トポロジー対応:一意の RoleID を注入し、決定論的な操作を実現。
  • 役割間連携:ペアドデプロイ、リンクされたリカバリ、調整されたアップグレードを実現するポリシー・エンジン。
  • ハードウェア親和性:GPU-NVLink、PCIe、RDMA、VPC に最適化されたスケジューリング。
  • サービスディスカバリ:分散型役割向けの、トポロジー対応の組み込みサービスディスカバリ。
  • エコシステム統合:NVIDIA Dynamo および Mooncake による KV キャッシュ再利用のネイティブサポート。

関連

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