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 キャッシュ再利用のネイティブサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト