수직 확장 vs 수평 확장
서비스 트래픽이 늘어날 때 “서버를 더 크게 만들 것인가, 서버를 더 많이 만들 것인가”는 기본적인 인프라 의사결정이다. 웹 서비스라면 수평 확장이 거의 항상 정답이지만, GPU 기반 ML 추론 서비스는 그 공식이 조금 다르다.
수직 확장 (Scale Up)
섹션 제목: “수직 확장 (Scale Up)”단일 서버의 자원을 늘린다. CPU 코어, RAM, GPU를 더 강력한 것으로 교체하거나 추가한다.
Before: After (Scale Up):┌────────────┐ ┌────────────────────┐│ 4 vCPU │ → │ 16 vCPU ││ 16 GB RAM │ │ 64 GB RAM ││ 1x A100 │ │ 4x A100 (NVLink) │└────────────┘ └────────────────────┘장점:
- 코드 변경 없음. 단일 프로세스가 더 많은 자원을 쓰면 됨
- 낮은 지연(네트워크 없이 GPU 간 NVLink로 통신)
- 상태 공유 단순(동일 프로세스 내 메모리)
단점:
- 하드웨어 한계가 명확함(단일 서버에 GPU를 무한정 추가 불가)
- 비용이 비선형으로 증가(4xA100이 1xA100의 4배 비용이 아님, 더 비쌈)
- 단일 장애점(SPOF)
수평 확장 (Scale Out)
섹션 제목: “수평 확장 (Scale Out)”동일한 사양의 서버를 여러 대로 늘린다. 로드밸런서가 트래픽을 분산한다.
Before: After (Scale Out): ┌────────────┐ │ 1x A100 │ 인스턴스 A┌────────────┐ ├────────────┤│ 1x A100 │ → │ 1x A100 │ 인스턴스 B└────────────┘ ├────────────┤ │ 1x A100 │ 인스턴스 C └────────────┘ ↑ 로드밸런서장점:
- 이론상 무한 확장 가능
- 인스턴스 장애 시 다른 인스턴스가 처리 지속
- 클라우드에서 자동 스케일링(Auto Scaling) 적용 가능
단점:
- 애플리케이션이 Stateless해야 함 (04-03에서 상세 설명)
- 네트워크 오버헤드 추가
- 모델 가중치를 각 인스턴스에 로드해야 함 (콜드 스타트 문제)
ML 추론에서 수직 확장을 먼저 고려하는 이유
섹션 제목: “ML 추론에서 수직 확장을 먼저 고려하는 이유”일반 웹 서비스와 달리 ML 추론은 수직 확장을 먼저 검토해야 하는 특수한 상황이 있다.
GPU 메모리 제약
섹션 제목: “GPU 메모리 제약”대형 LLM은 단일 GPU에 올라가지 않을 수 있다.
모델 크기별 최소 GPU 요구사항 (FP16 기준, 개략적):
모델 파라미터 VRAM 필요량 최소 GPU 구성─────────────────────────────────────────────────────Llama 3.2 3B 3B ~6 GB 1x RTX 3080Llama 3.1 8B 8B ~16 GB 1x A100 40GBLlama 3.1 70B 70B ~140 GB 4x A100 80GBLlama 3.1 405B 405B ~810 GB 8x H100 80GB70B 모델을 서빙하려면 수평 확장 전에 멀티 GPU(수직 확장)가 필수다.
배치 처리 효율
섹션 제목: “배치 처리 효율”GPU는 병렬 연산에 특화되어 있다. 단일 GPU에 요청을 모아서 처리(배칭)하면 처리량이 크게 늘어난다.
배치 크기별 A100 GPU 처리량 (개략적):
배치 크기 1: ~50 tokens/sec배치 크기 8: ~300 tokens/sec (6배)배치 크기 32: ~800 tokens/sec (16배)
→ 단일 GPU를 충분히 활용한 뒤 수평 확장현실적인 ML 추론 스케일링 전략
섹션 제목: “현실적인 ML 추론 스케일링 전략”Phase 1: 수직 확장 (초기) 단일 GPU → 멀티 GPU (텐서 병렬/파이프라인 병렬) 배치 크기 최적화 (vLLM continuous batching) 양자화로 메모리 효율 개선 (FP16 → INT8 → INT4)
Phase 2: 수평 확장 (트래픽 성장) GPU 노드 복제 + 로드밸런서 Auto Scaling (GPU 사용률 기준) Spot/Preemptible 인스턴스 혼합
Phase 3: 하이브리드 작은 모델: CPU 인스턴스 수평 확장 (저비용) 큰 모델: GPU 클러스터 수직+수평 혼합 캐싱 레이어: KV Cache 공유로 중복 연산 제거비용 관점 비교
섹션 제목: “비용 관점 비교”시나리오: 초당 100개 요청 처리
수직 확장: 8x H100 서버 1대: ~$30/hr 장점: 관리 단순, NVLink 고속 통신 단점: 장애 시 전체 중단
수평 확장: A100 서버 4대: ~$12/hr × 4 = $48/hr 장점: 고가용성, 점진적 확장 단점: 관리 복잡, 콜드 스타트
→ ML 추론은 초기엔 단일 대형 GPU 서버가 비용 효율적일 수 있음→ 트래픽이 예측 불가능하면 수평 확장으로 Auto Scaling 활용핵심 정리
섹션 제목: “핵심 정리”- 수직 확장은 단일 서버 자원 증가, 수평 확장은 서버 대수 증가다
- 일반 웹 서비스는 Stateless 설계로 수평 확장이 기본 전략이다
- ML 추론은 모델 크기(VRAM 제약)와 배치 효율 때문에 수직 확장을 먼저 고려한다
- vLLM의 continuous batching으로 단일 GPU 활용률을 최대화한 뒤 수평 확장한다
- 실제 운영에서는 수직 확장(멀티 GPU)과 수평 확장(인스턴스 복제)을 단계적으로 조합한다