서빙에서의 TP·DP 구성 실전
서빙에서의 TP·DP 구성 실전
vLLM은 고성능·메모리 효율 추론 엔진이에요. 서빙 환경에서 텐서 병렬(TP)과 데이터 병렬(DP)을 언제 어떻게 쓰는지가 성능의 핵심이에요.
TP와 DP의 차이
- Tensor Parallel (TP): 모델을 여러 GPU에 쪼개 메모리를 확보. 한 복제본이 여러 GPU 사용.
- Data Parallel (DP): 같은 모델 복제본을 여러 개 띄워 처리 용량(동시 요청) 확장.
기본 원칙
- 모델이 GPU 1장에 안 들어가면: 적어도 그만큼의 GPU 수로 TP 설정. 예: Llama 3 70B(약 140GB)는 2×80GB GPU 필요 →
tensor_parallel_size=2. - TP를 최소값으로 맞춘 뒤: 남는 GPU로 DP를 늘려 용량 확장.
- 예: 8×H100에서 Llama 3 70B → TP 2, DP = 8÷2 = 4.
실제 선택
인스턴스 GPU 수에 따라 TP와 DP를 나누는 계산이 곧 실전 설정이에요. 이렇게 TP로 메모리를, DP로 처리량을 각각 확보하면 서빙 성능을 균형 있게 높일 수 있어요.