모니터링, 비용 최적화, 장애 대응, OpenAI 마이그레이션
vllm:time_to_first_token_seconds
vllm:time_per_output_token_seconds
vllm:request_queue_time_seconds
vllm:num_preemptions_total
| 비교 항목 | OpenAI GPT-4o | Claude 3.5 Sonnet | vLLM Llama-3 70B | vLLM Llama-3 8B |
|---|---|---|---|---|
| 입력 토큰 (1M) | $5.00 | $3.00 | ~$0.35 | ~$0.07 |
| 출력 토큰 (1M) | $15.00 | $15.00 | ~$0.35 | ~$0.07 |
| 일 1억 토큰 | ~$500/day | ~$400/day | ~$84/day | ~$17/day |
| 월 비용 | ~$15,000 | ~$12,000 | ~$2,520 | ~$510 |
| 월 절감액 (vs GPT-4o) | — | $3,000 | ~$12,480 | ~$14,490 |
| 증상 | 원인 | 진단 | 해결 |
|---|---|---|---|
| Pod OOMKilled | GPU VRAM 초과 | kubectl describe pod | GPU_MEM_UTIL 0.9→0.85 MAX_LEN 축소 |
| TTFT > 10초 | 요청 큐 과부하 | vllm:request_queue_time | max_replicas 증가 target_requests 낮춤 |
| Preemptions 급증 | MAX_MODEL_LEN 실제 사용 초과 | vllm:num_preemptions | MAX_LEN 실측에 맞춤 MAX_NUM_SEQ 줄임 |
| GPU 노드 미생성 | EC2 가용성 부족 | kubectl get nodeclaim | NodePool에 인스턴스 타입 추가 Multi-AZ 확장 |
| ImagePullBackOff | ECR 권한 없음 | kubectl describe pod | IRSA 역할 권한 확인 ECR 이미지 존재 확인 |
| 모델 로딩 실패 | HF Token 없음 | kubectl logs <pod> | K8s Secret 확인 모델 ID 오타 확인 |
| RayService Unhealthy | Worker CrashLoop | kubectl get rayservice | ray status 확인 Head Pod logs 분석 |
github.com/awslabs/ai-on-eks
genai.eksworkshop.com
github.com/awslabs/ai-on-eks-charts
vllm-dashboard.json (ai-on-eks 레포 포함)
github.com/awslabs/ai-ml-observability-reference-architecture
감사합니다
github.com/awslabs/ai-on-eks | genai.eksworkshop.com