ome-projects/ome

Open Model Engine (OME) — Kubernetes operator for LLM serving, GPU scheduling, and model lifecycle management. Works with SGLang, vLLM, TensorRT-LLM, and Triton

OME (Open Model Engine) – Kubernetes Operator for LLM Serving

무엇인가요 – OME는 Kubernetes에 최적화된 컨트롤러로, 클러스터 내에서 대규모 언어 모델(LLM)을 확장 가능하게 실행할 수 있게 해줍니다. 각 모델, 런타임, GPU 리소스를 Kubernetes의 고급 커스텀 리소스로 취급하여, 모델 인제스트부터 추론 서비스 배포까지 전체 라이프사이클을 자동화합니다.

주요 기능

  • Model CRDs – BaseModel/ClusterBaseModel는 모델 파일(아키텍처, 파라미터 수, 형식)을 설명합니다. OME는 파일을 분석하고, SafeTensors, PyTorch, TensorRT, ONNX 등 다양한 형식을 지원하며, 이중 암호화와 네임스페이스 스코프로 모델을 저장합니다.
  • 지능형 런타임 선택 – OME는 모델의 특성에 따라 사용 가능한 런타임(SGLang, vLLM 등)을 평가하고 자동으로 최적의 것을 선택합니다.
  • 최적화된 배포 패턴 – 프리필/디코드 분리, 멀티노드 추론, 카나리아/블루그린 배포, 사용자 정의 오토스케일링 정책을 지원합니다.
  • GPU 인식 스케줄링 – AcceleratorClass 리소스는 GPU의 기능과 비용을 설명합니다. OME의 비닝패킹 스케줄러는 HA 요구사항을 존중하면서 클러스터 활용도를 극대화합니다.
  • 플릿 레벨 할당량 (alpha) – 선택적 컨트롤플레인 구성요소(ome-quota-manager, ome-alfred)는 계층적 GPU 할당량 트리를 구축하고 Kueue에 노출하여 대규모 GPU 팜에서 간그 스케줄링을 가능하게 합니다.
  • CLI 및 웹 콘솔 – kubectl ome (kubectl 플러그인)를 통해 모델, 런타임, 배포를 감시하고, 일시정지, 프로모션, 롤백, 마이그레이션과 같은 보호된 작업을 수행할 수 있습니다. 별도의 웹 UI(ome-console)는 HuggingFace 모델 검색 기능을 갖춘 시각적 대시보드를 제공합니다.
  • 벤치마킹 – BenchmarkJob CRD는 설정 가능한 트래픽 부하를 실행하고 결과를 저장하여 성능 비교를 반복 가능하게 합니다.

설치 방법

  1. 사전 요구 사항 – Kubernetes 1.28+.
  2. CRD 및 핵심 오ペ레이터 설치 – OCI 레지스트리에서 Helm을 사용하여:
    helm upgrade --install ome-crd oci://ghcr.io/moirai-internal/charts/ome-crd --namespace ome --create-namespace
    helm upgrade --install ome oci://ghcr.io/moirai-internal/charts/ome-resources --namespace ome
    
  3. 옵션 추가 구성 – 스케줄러, 할당량 관리자, "Alfred" 케어테이커는 각각 별도의 Helm 차트로, 필요에 따라 활성화할 수 있습니다.
  4. CLI 설치 – Krew를 사용하여 kubectl ome 플러그인 설치:
    kubectl krew install --manifest-url https://github.com/ome-projects/ome/releases/latest/download/ome.yaml
    
    또는 소스에서 빌드 (make kubectl-ome).

일반적인 워크플로우

  1. 지원되는 백엔드에 저장된 모델 파일을 가리키는 BaseModel (또는 ClusterBaseModel)을 생성합니다.
  2. OME는 모델을 분석하고, ServingRuntime을 생성하거나 기존 것을 선택하며, AcceleratorClass에 매칭합니다.
  3. InferenceService 리소스가 모델과 런타임을 연결합니다. OME는 필요한 Pod, Service, Gateway-API 경로를 생성합니다.
  4. KEDA 또는 HPA를 통한 오토스케일링 정책과 배포 정책이 서비스의 반응성을 유지하고 안전한 업데이트를 가능하게 합니다.
  5. kubectl ome 또는 웹 콘솔을 사용하여 건강 상태를 모니터링하고, 배치 결정을 확인하며, BenchmarkJob을 실행합니다.

프로덕션 준비성 – 프로젝트는 v1beta1 API, 완전한 문서, 단위/통합 테스트 커버리지, RBAC 기반 보안, 모델 암호화, HA 스토리지 등을 제공합니다. 대규모 LLM 워크로드에 이미 프로덕션 환경에서 사용되고 있습니다.

라이선스 – Apache 2.0.


TL;DR – OME는 프로덕션 수준의 Kubernetes 네이티브 플랫폼으로, 모델 인제스트, 런타임 선택, GPU 인식 스케줄링, 배포 전략, 관찰성까지 선언적 CRD, Helm 설치 가능한 오페레이터, CLI, 보조 웹 UI를 통해 자동화합니다.

관련

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