sgl-project/rbg
A workload for deploying LLM inference services on Kubernetes
解決的問題
傳統的 Kubernetes 原語(如 StatefulSets 和 Deployments)並未針對 LLM 推論服務的複雜需求設計。這些服務通常需要多角色拓撲(例如分離 prefill 和 decode 角色)、嚴格的硬體親和性(GPU-NVLink、RDMA),以及在擴縮容或升級時跨不同角色的原子操作。
工作原理
RoleBasedGroup (RBG) 是一個 Kubernetes API,將整個推論服務視為一個協調的單一單位。它引入了幾個關鍵概念:
- 角色:基本的排程單位,每個角色(如 prefill 或 decode)都有其獨立的規格和生命週期。
- RoleBasedGroup:構成一個服務的這些角色的邏輯分組。
- RoleInstance:具有綁定生命週期的 Pod 集合,支援就地更新。
- CoordinatedPolicy:一個獨立的 CRD,用於同時管理多個角色的滾動更新和擴縮容,以維持穩定性。
適用對象
專為在 Kubernetes 上部署分散式、有狀態 AI 推論工作負載的工程師與運維人員設計,尤其適用於使用 SGLang 或 vLLM 等引擎的使用者。
主要亮點
- 拓撲感知:透過注入唯一 RoleID 實現決定性操作。
- 跨角色協調:支援配對部署、關聯恢復與協調升級的策略引擎。
- 硬體親和性:針對 GPU-NVLink、PCIe、RDMA 和 VPC 優化的排程。
- 服務發現:為分散式角色提供內建的、拓撲感知的服務發現。
- 生態整合:原生支援 NVIDIA Dynamo 和 Mooncake 以實現 KV 快取複用。
相關
- 專案
- 專案
- 專案
- 專案