kubernetes-sigs/lws

LeaderWorkerSet: An API for deploying a group of pods as a unit of replication

해결하는 문제

이 프로젝트는 여러 파드가 단일 단위로 함께 작동해야 하는 AI/ML 추론 워크로드의 배포를 관리하기 위한 Kubernetes API를 제공합니다. 특히 여러 장치와 노드에 분산된 대규모 언어 모델(LLM)을 배포하는 문제에 초점을 맞추며, 이러한 파드가 독립적인 개체가 아니라 함께 생성, 확장, 업데이트되도록 보장합니다.

작동 방식

이 프로젝트는 두 가지 주요 API를 도입합니다:

  • LeaderWorkerSet (LWS): 단일 리더 파드와 여러 워커 파드로 구성된 '슈퍼 파드'를 관리합니다. 그룹 내 파드에 고유한 식별자(인덱스)를 부여하고, 병렬로 생성하며, 간그 스케줄링(모두 또는 없음)을 사용하여 스케줄링할 수 있습니다.
  • DisaggregatedSet (DS): LWS를 기반으로 하여, 추론의 각 단계(예: prefill 및 decode)가 별도의 인프라에서 실행되는 고급 비통합 아키텍처를 지원합니다. 여러 역할 간 롤아웃을 조정하고, 발견 및 라우팅을 위한 헤드리스 서비스를 관리합니다.

대상 사용자

대규모 AI 모델을 위한 고성능 분산 추론 서빙 스택을 관리하는 인프라 엔지니어 및 Kubernetes 운영자.

주요 특징

  • 유닛 기반 복제: 확장, 롤링 업데이트, 장애 처리 시 파드 그룹을 단일 유닛으로 취급합니다.
  • 트로포로지 인식 배치: 성능 최적화를 위해 동일 그룹 내 파드를 동일한 위치에 공존시킬 수 있습니다.
  • 모두 또는 없음 재시작: 그룹 내 하나의 파드가 실패하면 전체 그룹이 재생성되어 일관성을 유지합니다.
  • 비통합 아키텍처 지원: LLM 추론에서 별도의 prefill 및 decode 단계에 특화되어 설계되었습니다.
  • 조정된 롤아웃: 업데이트 중에 용량 비율을 유지하기 위해 여러 역할을 동기화하여 업데이트합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트