개요
Triton Inference Server (현재 명칭: NVIDIA Dynamo-Triton)는 NVIDIA가 개발한 오픈소스 추론 서빙 플랫폼입니다. 추론 엔진 자체가 아니라 모델 서빙 오케스트레이터 로, 다양한 프레임워크의 모델을 통합 관리하고 서빙합니다. 25,000+ 기업이 프로덕션에서 사용 중입니다.
핵심 특징
멀티 프레임워크 지원
프레임워크 용도 TensorRT-LLM LLM 추론 최적화 TensorRT 일반 DL 추론 최적화 PyTorch 범용 딥러닝 ONNX Runtime 크로스 플랫폼 추론 OpenVINO Intel 최적화 Python 커스텀 로직 RAPIDS FIL 트리 기반 ML 모델
크로스 플랫폼
NVIDIA GPU (Turing, Ampere, Hopper, Ada, Blackwell)
비NVIDIA 가속기
x86 CPU, ARM CPU
요청 처리
클라이언트 요청
↓
HTTP/REST | gRPC | C API
↓
모델별 스케줄러
↓
배칭 → 백엔드 → 추론 실행
주요 기능
Dynamic Batching
클라이언트 요청을 서버 측에서 자동으로 큰 배치로 병합
처리량 최대화, 지연 시간 최소화 균형
모델 앙상블 (Ensemble)
여러 모델을 DAG(Directed Acyclic Graph) 파이프라인으로 구성
모델 간 입출력 텐서 자동 연결
전처리 → 추론 → 후처리 파이프라인 구축
병렬 실행 (Instance Groups)
모델별 병렬 실행 인스턴스 수 설정 가능
기본: 사용 가능한 GPU당 1개 인스턴스
instance_group 설정으로 인스턴스 수 조절
Stateless vs Stateful 모델
유형 스케줄러 예시 Stateless Default / Dynamic Batcher 이미지 분류, 객체 탐지 Stateful Sequence Batcher 시계열, 대화형 모델
Stateful 모델: 요청 시퀀스를 동일 인스턴스로 라우팅, 시작/종료 시그널 제어
Decoupled Backend
요청당 여러 응답 전송 가능 (스트리밍)
또는 응답 없이 처리 가능
모델 리포지토리
디렉토리 기반 모델 관리
모델 버전 관리
동적 모델 로딩/언로딩
아키텍처
┌─────────────────────────────────────────┐
│ 클라이언트 요청 │
│ (HTTP/REST, gRPC, C API) │
├─────────────────────────────────────────┤
│ 모델 스케줄러/배처 │
│ ┌──────────┐ ┌──────────┐ ┌────────┐│
│ │ Dynamic │ │ Sequence │ │Default ││
│ │ Batcher │ │ Batcher │ │Sched. ││
│ └──────────┘ └──────────┘ └────────┘│
├─────────────────────────────────────────┤
│ 백엔드 (Backends) │
│ TensorRT │ PyTorch │ ONNX │ Python │
├─────────────────────────────────────────┤
│ 하드웨어 (GPU / CPU) │
└─────────────────────────────────────────┘
DevOps / MLOps 통합
Kubernetes : 스케일링, 오토스케일러 연동
Prometheus : 메트릭 모니터링 (요청 수, 지연 시간, GPU 활용률)
OpenTelemetry : 분산 트레이싱
Docker / NGC : 컨테이너 이미지 배포
NVIDIA AI Enterprise : 엔터프라이즈 지원, 안정 API
설치 및 사용법
# Docker (권장)
docker pull nvcr.io/nvidia/tritonserver:26.01-py3
# 서버 실행
docker run --gpus all -p 8000:8000 -p 8001:8001 -p 8002:8002 \
-v /path/to/models:/models \
nvcr.io/nvidia/tritonserver:26.01-py3 \
tritonserver --model-repository=/models
# 클라이언트 요청 (HTTP)
curl -X POST localhost:8000/v2/models/ < mode l > /infer \
-d '{"inputs": [...]}'
포트
포트 프로토콜 용도 8000 HTTP/REST 추론 요청 8001 gRPC 고성능 추론 요청 8002 HTTP 메트릭 (Prometheus)
모델 리포지토리 구조
models/
├── model_a/
│ ├── config.pbtxt # 모델 설정
│ ├── 1/ # 버전 1
│ │ └── model.plan # TensorRT 엔진
│ └── 2/ # 버전 2
│ └── model.plan
└── model_b/
├── config.pbtxt
└── 1/
└── model.pt # PyTorch 모델
TensorRT-LLM 연동
TensorRT-LLM (추론 엔진)
↓
Triton Inference Server (서빙)
↓
클라이언트 (HTTP/gRPC)
TensorRT-LLM을 Triton의 백엔드로 사용
In-Flight Batching, Paged KV Cache 활용
멀티 모델 동시 서빙 가능
사용 기업
Microsoft, Samsung, Siemens Energy, Snapchat 외 25,000+ 기업
클라우드 지원
Google Cloud : Vertex AI에서 Triton 네이티브 지원
AWS : SageMaker 통합
Azure : AKS에서 배포 가능
비교
특성 Triton vLLM SGLang 역할 서빙 오케스트레이터 추론 엔진 추론 엔진 멀티 프레임워크 O (7+) X (LLM 전용) X (LLM 전용) 멀티 모델 동시 서빙 O 제한적 제한적 LLM 전용 최적화 TensorRT-LLM 위임 PagedAttention RadixAttention 설정 난이도 중간 낮음 낮음 최적 시나리오 엔터프라이즈 멀티 모델 LLM 서빙 LLM 에이전트/RAG
관련 항목