피드로 돌아가기
Stop paying for idle GPUs in your CI: batching LLM eval jobs
Dev.toDev.to
Infrastructure

GPU Warm Pool 및 Batching 도입으로 Eval 비용 60% 절감

Stop paying for idle GPUs in your CI: batching LLM eval jobs

claire nguyen2026년 5월 22일5intermediate

Context

PR마다 GPU 인스턴스를 개별 생성하는 Stateless 구조로 인한 심각한 리소스 낭비 발생. Model Loading 및 Cold Start에 전체 실행 시간의 약 70%를 소모하며 GPU 유휴 시간이 급증하는 비효율적 비용 구조 확인.

Technical Solution

  • GPU를 개별 Job 단위가 아닌 Long-lived Service로 취급하는 Warm Pool 구조로 전환
  • SQS Queue를 통한 요청 수집 및 max_wait_ms(2s) 기반의 Dynamic Batching 적용으로 Inference Throughput 극대화
  • Smoke, Standard, Full Regression으로 Evaluation 범위를 계층화하여 PR당 불필요한 연산량 제거
  • Gateway 레이어 도입을 통한 Multi-provider API Key 관리 단일화 및 Routing 효율성 제고
  • Queue Depth 기반의 Auto-scaling 설정을 통한 트래픽 변동 대응 및 가용성 확보

Impact

  • 월간 GPU 비용: ~$8,200에서 ~$3,100으로 약 62% 감소
  • 일평균 GPU 사용 시간: 38시간에서 14시간으로 단축
  • PR 피드백 속도: 4분 20초에서 1분 50초로 약 56% 개선
  • Queue p99 대기 시간: 8초 수준의 안정적 지연 시간 유지

Key Takeaway

무거운 모델 로딩 시간이 포함된 워크로드의 경우 Stateless한 컴퓨팅 모델보다 State를 유지하는 Warm Pool과 Batching 전략이 비용 및 성능 면에서 압도적으로 유리함.


- GPU 워크로드의 Cold Start vs Actual Inference 시간 비율 측정 - `max_wait_ms` 설정을 통한 Latency와 Throughput의 Trade-off 최적화 - 테스트 목적에 따른 Evaluation Tier(Smoke/Full) 분리 및 실행 주기 차등화 - Queue 폭주 방지를 위한 Circuit Breaker 및 팀별 Quota 설정 검토

원문 읽기