본문으로 건너뛰기

Inference Optimization on EKS

개요

프로덕션 LLM 서비스에서 Inference 비용은 전체 AI 운영 비용의 80-90% 를 차지합니다 (a16z "The Economics of AI", NVIDIA GTC 2024, SemiAnalysis). 학습은 1회성이지만 추론은 서비스가 살아있는 한 24/7 지속되기 때문입니다. GPU 시간이 곧 비용이며, p5.48xlarge(H100×8) 한 대의 On-Demand 가격은 시간당 $98입니다. 월 2대 운영 시 약 $141,580에 달합니다.

이 문서는 통신사 Agentic AI 플랫폼 구축 과정에서 축적된 교훈과 GLM-5(744B), Kimi K2.5(1T) 등 대형 MoE 모델 배포 사례를 기반으로, EKS 위에서 LLM Inference 성능을 극대화하는 아키텍처 패턴을 정리합니다.

다루는 내용

본 카테고리는 세 개의 심화 문서로 구성됩니다.

문서별 핵심 주제

  1. EKS GPU 인프라 전략 — Auto Mode vs Karpenter vs MNG 선택 기준 (본 문서)
  2. 모델 서빙 엔진 — vLLM 핵심 기술과 GPU 메모리 설계 (KV Cache 최적화)
  3. KV Cache-Aware Routing — llm-d와 NVIDIA Dynamo 비교 (KV Cache 최적화)
  4. Disaggregated Serving — Prefill/Decode 분리 아키텍처 (Disaggregated Serving)
  5. LWS 멀티노드 서빙 — LeaderWorkerSet 기반 700B+ 모델 배포 (Disaggregated Serving)
  6. GPU 리소스 관리 — 2-Tier 오토스케일링과 DRA (비용·관측성·Hybrid)
  7. Observability & Fallback — GPU 모니터링, Bifrost→Bedrock 폴백 (비용·관측성·Hybrid)
  8. Hybrid Node — 온프레미스 GPU 팜과 EKS 통합 (비용·관측성·Hybrid)
  9. 실전 교훈 — 이미지 다운로드 실패 대응, 대형 MoE 배포 함정 (비용·관측성·Hybrid)

핵심 성능 지표

지표설명최적화 목표
TTFT (Time to First Token)첫 토큰 생성까지의 시간< 2초 (대화형), < 5초 (배치)
TPS (Tokens per Second)초당 토큰 생성 속도모델별 상이
GPU UtilizationGPU 연산 활용률> 70%
KV Cache Hit RateKV 캐시 재사용 비율> 60% (공유 프롬프트)
P99 Latency99 퍼센타일 응답 시간SLO 기준 준수

EKS GPU 인프라 전략

3가지 배포 모델 비교

EKS에서 GPU 워크로드를 운영할 때, 노드 관리 방식에 따라 기능과 운영 복잡도가 크게 달라집니다.

기준EKS Auto ModeKarpenter + GPU OperatorMNG + Cluster Autoscaler
GPU 드라이버 관리AWS 자동 관리AMI 사전 설치AMI 사전 설치
MIG / Time-Slicing불가가능가능
DRA 호환미지원미지원유일한 선택지
DCGM 모니터링GPU Operator 설치 시 가능완전 지원완전 지원
운영 복잡도낮음중간중간
적합 모델 크기70B+ (GPU 전체 활용)7B~700B+ (MIG 분할 가능)DRA 필요 워크로드
선택 가이드
  • 빠른 시작 / PoC: Auto Mode — GPU 드라이버, Device Plugin 자동 관리
  • 프로덕션 (GPU 세밀 제어): Karpenter + GPU Operator — MIG, Custom AMI 지원
  • DRA 필요 시: MNG + Cluster Autoscaler — Karpenter/Auto Mode에서 DRA Pod를 skip하는 아키텍처적 한계

GPU 인스턴스 선택 매트릭스

인스턴스GPUGPU 메모리 (총합)적합 모델 크기시간당 비용 (On-Demand)
g5.xlarge~48xlargeA10G24~192GB7B 이하$1.01~$16.29
g6e.xlarge~48xlargeL40S48~384GB13B~70B비용 효율적
p4d.24xlargeA100 40GB × 8320GB13B~70B$32.77
p5.48xlargeH100 80GB × 8640GB70B~700B+$98.32
p5e.48xlargeH200 141GB × 81,128GB100B+최대 메모리

Auto Mode GPU Operator 하이브리드 구성

Auto Mode에서도 GPU Operator를 설치할 수 있습니다. Device Plugin만 노드 레이블로 비활성화하고, DCGM Exporter, NFD, GFD는 정상 동작합니다.

# GPU Operator 설치 (Auto Mode 호환)
helm install gpu-operator nvidia/gpu-operator \
--namespace gpu-operator --create-namespace \
--set driver.enabled=false \
--set toolkit.enabled=false

# NodePool에 Device Plugin 비활성화 레이블 추가
# nvidia.com/gpu.deploy.device-plugin: "false"

이를 통해 Auto Mode의 편의성을 유지하면서 DCGM 세밀 메트릭(SM 활용률, NVLink 대역폭)을 수집할 수 있습니다. KAI Scheduler 등 ClusterPolicy 의존 프로젝트도 사용 가능합니다.

GPU Operator + Auto Mode 주의사항

devicePlugin.enabled=true로 설치하면 Auto Mode 내장 Device Plugin과 충돌하여 allocatable=0이 됩니다. 반드시 devicePlugin.enabled=false 또는 노드 레이블로 비활성화해야 합니다.

모델 규모별 권장 아키텍처

의사결정 플로우

3-Tier 권장 구성

Tier모델 규모인프라서빙 엔진라우팅예시
Tier 1≤32BAuto Mode, g6e/p5vLLM (단일 GPU)Round-RobinQwen3-32B FP8
Tier 270B~200BKarpenter + GPU OperatorvLLM TP=4~8llm-d KV Cache-awareLlama-3.3-70B
Tier 3700B+ MoEMNG 또는 Karpenter + LWSvLLM/SGLang PP+TPDisaggregated + NIXLGLM-5, Kimi K2.5

모든 Tier 공통: Bifrost Cascade Routing으로 Bedrock 폴백 구성 권장 (GPU 장애/Spot 중단 시 무중단 서비스)

하이브리드 아키텍처: 전체 그림

마이그레이션 경로

단계별 전환으로 운영 리스크를 최소화하면서 점진적으로 성능을 향상시킬 수 있습니다.

Phase 1: Auto Mode + vLLM + Bifrost→Bedrock 폴백 → PoC, 개발 환경

Phase 1.5: Auto Mode + GPU Operator + llm-d → 모니터링 강화, KV Cache 라우팅

Phase 2: Karpenter + llm-d Disaggregated + LWS 멀티노드 → MIG, Prefill/Decode 분리

Phase 3: Karpenter + Dynamo + Hybrid Node → 온프레미스 통합, 3-Tier Cascade

Phase 4: 전체 통합 → On-Prem→Cloud→Bedrock Cascade, SLO 기반 오토스케일링

참고 자료

공식 문서

논문·기술 블로그

관련 문서