kaito-project/kaito

Kubernetes AI Toolchain Operator

해결하는 문제

KAITO는 Kubernetes에서 대규모 언어 모델(LLM)을 배포하고 관리하는 복잡한 과정을 단순화합니다. 사용자가 세부적인 배포 파라미터, GPU 리소스 할당, 모델 가중치 저장소를 수동으로 구성할 필요 없이, AI 워크로드에 필요한 인프라 오케스트레이션을 자동화합니다.

작동 방식

KAITO는 커스텀 리소스 정의(CRD)를 사용하는 Kubernetes Operator 패턴을 활용하여 워크로드를 관리합니다:

  • Workspace: LLM의 배포를 자동화합니다. 모델과 하드웨어 기반으로 GPU 메모리 요구량을 추정하고, Karpenter API를 통해 노드 자동 프로비저닝을 트리거하며, 최적화된 스케줄링 파라미터로 추론 엔진(vLLM)을 구성합니다.
  • InferenceSet: 요청 부하 기반 자동 스케일링을 가능하게 하기 위해 모델의 복제본을 관리하며, KEDA와 통합하여 메트릭 기반 스케일링을 지원합니다.
  • InferencePool: Gateway API Inference Extension과 통합되어 KVCache 인식 라우팅을 가능하게 하여 효율적인 요청 처리를 제공합니다.
  • RAGEngine: 별도의 Operator로, 검색 증강 생성(RAG) 서비스의 배포를 간소화하며, LLM 엔드포인트, 임베딩 서비스, 벡터 데이터베이스(FAISS, Qdrant, Milvus 등)를 조율합니다.

대상 사용자

GPU 인프라 및 스케일링 로직을 수동으로 관리하지 않고도 Kubernetes에서 LLM 및 RAG 파이프라인을 배포해야 하는 플랫폼 엔지니어 및 DevOps 팀.

주요 기능

  • GPU 프로비저닝 자동화: 정확한 메모리 추정 기반으로 최적의 GPU 노드 수를 선택하는 노드 자동 프로비저너를 사용합니다.
  • vLLM 지원: vLLM과 호환되는 모든 HuggingFace 모델을 지원합니다.
  • 로컬 NVMe 스토리지: GPU 노드의 내장 로컬 NVMe를 활용하여 모델 저장소를 구현해 추가 스토리지 오버헤드를 방지합니다.
  • 통합 RAG 스택: LlamaIndex를 사용한 완전한 RAG 오케스트레이션을 제공하며, Reciprocal Rank Fusion(RRF)을 통해 하이브리드 검색(BM25 및 벡터 밀도 검색)을 지원합니다.
  • 간편한 API: 병렬성(PP, DP, TP)을 위한 최적화된 프리셋 구성으로 복잡한 배포 파라미터를 대체합니다.

관련

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