NVIDIA H100 및 RTX 6000에 TensorRT-LLM 배포하기 — 단계별 튜토리얼
요약
NVIDIA H100 및 RTX 6000 GPU 환경에서 TensorRT-LLM을 사용하여 Llama 3 모델을 최적화하여 배포하는 방법을 다루는 튜토리얼입니다. FP8 정밀도와 In-flight Batching 기술을 통해 추론 성능을 극대화하고 비용을 절감하는 과정을 설명합니다.
핵심 포인트
- FP8 양자화를 통한 메모리 사용량 절감 및 모델 밀도 향상
- In-flight Batching을 활용한 GPU 유휴 시간 최소화 및 처리량 극대화
- H100 및 RTX 6000 하드웨어에 최적화된 TensorRT-LLM 배포 단계 안내
- 토큰당 생성 비용 절감을 위한 엔터프라이즈급 추론 최적화 전략
빠르고 저렴한 대규모 언어 모델 (LLM) 추론 수요가 사상 최고치에 달하고 있습니다. 지연 시간(latency)의 추가적인 밀리초와 백만 토큰당 추가 비용은 제품 경제성에 직접적인 영향을 미칩니다. 처리량(throughput)을 극대화하고 비용을 낮추기 위해, 엔터프라이즈 인프라 팀들은 시장에서 가장 검증되고 확장 가능하며 즉시 사용 가능한 두 가지 GPU 아키텍처인 **NVIDIA H100 (Hopper)**과 **RTX Pro 6000 (Ada Lovelace)**에 표준화하고 있습니다.
하지만 적절한 원시 실리콘을 갖는 것은 절반의 과제일 뿐입니다. 이 GPU들로부터 최대 ROI(투자 수익률)를 추출하려면 고도로 최적화된 소프트웨어 스택이 필요합니다. 그 엔진이 바로 TensorRT-LLM이며, 이는 NVIDIA가 대규모 언어 모델을 프로덕션 규모로 컴파일하고 서비스하기 위한 오픈 소스 라이브러리입니다.
본 튜토리얼은 Llama 3를 작업 예시로 사용하여, H100 및 RTX Pro 6000 하드웨어에 TensorRT-LLM으로 대규모 모델을 배포하는 데 필요한 정확한 단계를 다룹니다. 올바른 컨테이너를 가져오는 것부터 API를 통해 실시간 추론 요청을 서비스하는 과정까지 포함합니다.
H100 및 RTX 6000 + TensorRT-LLM이 게임 체인저인 이유
1. FP8 정밀도 (네이티브 하드웨어 가속)
H100과 RTX Pro 6000 모두 네 번째 세대 Tensor Core를 통해 FP8(8비트 부동 소수점) 양자화에 대한 네이티브 지원 기능을 갖추고 있습니다. 가중치 정밀도를 FP16에서 FP8로 낮추면 모델 가중치의 메모리 사용량이 약 절반으로 줄어듭니다. 이는 두 가지 거대한 복합적인 효과를 가져옵니다:
- 높은 모델 밀도: 더 많은 모델이 GPU 메모리에 들어갑니다. 양자화된 Llama 3 70B는 적은 수의 GPU에 편안하게 들어갈 수 있어 하드웨어 요구 사항을 대폭 줄입니다.
- 확장된 Paged KV Cache: KV 캐시를 위해 더 많은 VRAM 여유 공간이 남게 되어, 단일 서버가 훨씬 더 큰 배치 크기를 유지하고 동시에 훨씬 더 긴 컨텍스트 창을 처리할 수 있게 합니다.
2. In-Flight Batching
실제 LLM 트래픽은 깔끔하고 균일한 배치 (batch) 형태로 들어오지 않습니다. TensorRT-LLM은 인플라이트 배칭 (In-flight batching, 또는 continuous batching이라고도 함) 기능을 제공합니다. 이 기능은 매 생성 단계 (generation step)마다 요청 큐 (request queue)를 평가합니다. 한 사용자의 요청이 완료되는 즉시 새로운 요청이 배치에 즉시 삽입됩니다. 즉, GPU 연산 자원이 더 느린 요청을 기다리며 유휴 상태 (idle)로 남겨지는 일이 없음을 의미합니다.
3. 토큰당 비용 절감 (Lower Cost Per Token)
GPU 소유 또는 대여 비용은 시간당 고정되어 있기 때문에, 시간당 더 많은 토큰을 생성할수록 백만 토큰당 실질 비용이 직접적으로 낮아집니다. FP8 속도와 인플라이트 배칭 (in-flight batching)의 결합은 아주 적은 비용으로 엔터프라이즈급 생성 속도를 제공합니다.
하드웨어 및 소프트웨어 요구 사항 (Hardware & Software Prerequisites)
배포를 시작하기 전에 다음 사항을 확인하십시오:
GPU 하드웨어 (GPUYard에서 이용 가능)
FP8 텐서 코어 (Tensor Cores)의 이점을 최대한 활용하려면 NVIDIA Hopper 또는 Ada 세대 GPU가 필요합니다.
- NVIDIA H100 서버: 궁극의 데이터 센터 파워하우스로, 거대한 MoE 모델 (DeepSeek, Mixtral) 및 고동시성 (high-concurrency) 프로덕션 엔드포인트에 이상적입니다.
- NVIDIA RTX Pro 6000 서버: 매우 비용 효율적인 48GB VRAM 파워하우스로, 단일 GPU 추론 (Llama 3 8B), AI 에이전트 워크플로 및 개발/테스트 환경에 완벽합니다.
운영 체제 및 드라이버 (Operating System & Drivers)
- Ubuntu 22.04 LTS 또는 24.04 LTS.
- 대상 CUDA 툴킷 (toolkit) 버전을 지원하는 최신 NVIDIA 드라이버 (예: v535 이상).
GPU와 드라이버가 인식되는지 확인하십시오:
nvidia-smi
Docker 및 NVIDIA Container Toolkit
TensorRT-LLM은 사전 빌드된 NGC 컨테이너 형태로 제공됩니다. 컨테이너가 GPU에 직접 액세스할 수 있도록 Docker와 NVIDIA Container Toolkit을 반드시 설치해야 합니다:
# NVIDIA Container Toolkit 설치 (Ubuntu)
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
...
단계별 배포 가이드 (Step-by-Step Deployment Guide)
단계 A: 공식 TensorRT-LLM 컨테이너 풀 (Pull)
NVIDIA는 NGC에 버전별 TensorRT-LLM 릴리스 컨테이너 (release containers)를 게시합니다. x.xx.x를 현재 릴리스 태그(예: 0.10.0 또는 최신 버전)로 교체하세요:
docker pull nvcr.io/nvidia/tensorrt-llm/release:x.xx.x
docker run --rm -it --ipc=host \
...
단계 B: 모델 가중치 (Model Weights) 다운로드
실습 예제로 Llama 3를 사용하겠습니다. Hugging Face에서 라이선스 약관에 동의했는지 확인하세요.
pip install -U "huggingface_hub[cli]"
huggingface-cli login # Hugging Face 액세스 토큰을 입력하세요
...
단계 C: TensorRT 엔진 빌드 (FP8 정밀도)
엔진을 빌드하는 과정은 두 부분으로 나뉩니다. 표준 Hugging Face 가중치를 TensorRT-LLM의 최적화된 형식으로 변환한 다음, 사용자의 정확한 GPU를 대상으로 엔진을 컴파일합니다.
# 1. 체크포인트를 변환하고 FP8로 양자화 (quantize) 합니다
python3 examples/llama/convert_checkpoint.py \
--model_dir /workspace/models/llama3-8b \
...
전문가 팁 (Pro-Tip): --calib_size 1024 플래그는 FP8 변환 중에 보정 (calibration)을 실행하여 정확도 손실을 방지합니다. 서버의 전체 VRAM을 기반으로 --max_batch_size를 적절하게 설정하면 TensorRT-LLM이 인플라이트 배칭 (in-flight batching)을 최대한 활용할 수 있습니다.
단계 D: Triton Inference Server를 사용하여 모델 서빙
컴파일된 TensorRT-LLM 엔진은 HTTP/gRPC 요청을 안전하고 효율적으로 처리하는 NVIDIA의 Triton Inference Server를 통해 서빙하는 것이 가장 좋습니다.
docker run --rm -it --gpus all \
--shm-size=2g \
-p 8000:8000 -p 8001:8001 -p 8002:8002 \
...
Triton이 모델 로드가 완료되었다고 보고하면, OpenAI 호환 엔드포인트(endpoint)와 마찬가지로 8000번 포트로 API 호출을 보낼 수 있습니다.
H100 vs. RTX Pro 6000: 어떤 GPU가 귀하에게 적합할까요?
두 GPU 모두 이 워크플로우를 완벽하게 지원하지만, 서로 다른 비즈니스 요구 사항을 충족합니다:
| 기능 | NVIDIA H100 (SXM / PCIe) | NVIDIA RTX Pro 6000 (Ada) |
|---|---|---|
| 최적 사용처 | 대규모 모델(70B 이상), 수천 명의 동시 사용자, MoE | 소규모 모델(8B-35B), RAG 파이프라인, 개발/테스트 |
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기