AI & GPU

NVIDIA Triton Server

Tech Crunchy 2025. 4. 11. 14:05
728x90

개요

NVIDIA Triton Server는 NVIDIA가 제공하는 오픈 소스 AI 추론 서버로, 딥러닝 모델의 효율적인 배포와 실행을 지원합니다. 다양한 AI 모델을 손쉽게 관리하고 추론 속도를 개선하며 GPU 및 CPU 자원을 최적화하는 데 도움을 줍니다.

 

NVIDIA Triton Inference Server (출처: NVIDIA)

 

특징

NVIDIA Triton Server는 다양한 이점을 제공합니다.

  • 프레임워크: Triton은 TensorFlow, PyTorch, ONNX, TensorRT, Python 등 다양한 프레임워크를 지원
  • 고성능 추론: C++ 기반으로 설계되어 Python보다 빠른 추론이 가능하며, GPU와 CPU 자원을 효율적으로 활용
  • 모델 앙상블: 여러 모델을 조합하여 하나의 파이프라인으로 실행할 수 있는 모델 앙상블 기능을 제공
  • 버전 관리: 실시간으로 모델 업데이트 및 버전 관리를 지원하여 프로덕션 환경에서 유연한 운영 가능
  • 확장 및 모니터링: K8s와 통합되어 오케스트레이션과 메트릭 및 오토 스케일링을 지원
  • 워크플로우: Kubeflow 및 KServe와 통합되어 총체적인 AI 워크플로우를 지원

 

설치

NVIDIA Triton은 Docker 이미지를 통해 Triton Server를 간편하게 설치할 수 있도록 지원합니다. Docker 이미지는 NVIDIA NGC 또는 GitHub에서 다운로드 가능합니다. ( https://github.com/triton-inference-server/server )

 

 

H100 베어메탈 서버에서 아래와 같이 설치를 진행할 수 있습니다.

 

1. Docker 설치 및 NVIDIA 컨테이너 툴킷 준비

sudo apt-get update
sudo apt-get install -y docker.io
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

 

2. Triton Docker 이미지 다운로드

docker pull nvcr.io/nvidia/tritonserver:24.04-py3

 

3. 모델 리포지토리 생성

mkdir model_repository
# 모델 파일을 model_repository 폴더에 저장

 

4. Triton Server 실행

docker run --gpus=all -it --shm-size=256m --rm \
-p8000:8000 -p8001:8001 -p8002:8002 \
-v $(pwd)/model_repository:/models \
nvcr.io/nvidia/tritonserver:24.04-py3 tritonserver --model-repository=/models

 

5. 서버 상태 확인

curl -v localhost:8000/v2/health/ready

 

6. 추가 의존성 설치 (선택 사항)

docker run -it --rm nvcr.io/nvidia/tritonserver:24.04-py3 bash
pip install tritonclient[http] sentencepiece protobuf

 

구성 예시

GCP Vertex AI는 NVIDIA Triton Server를 커스텀 컨테이너로 실행하여 모델을 배포하고 추론 작업을 수행할 수 있도록 지원합니다.

 

이 경우 진행은 Docker 이미지 준비, 모델 레지스트리 등록, 엔드포인트 생성 및 배포 순으로 합니다.

  • Docker 이미지 준비: NVIDIA NGC에서 적합한 Triton Docker 이미지를 다운로드 후, Vertex AI의 Artifact Registry에 업로드
  • 모델 레지스트리 등록: ML 모델을 Vertex AI Model Registry에 등록 후 모델 아티팩트를 Google Cloud Storage에 저장
  • 엔드포인트 생성 및 배포: 모델을 Vertex AI Prediction 엔드포인트에 배포하여 추론 요청을 처리

Vertex AI Prediction에 대한 Triton의 고수준 아키텍처 (출처: GCP)

 

참고사항

C API는 Triton Inference Server의 기능을 C/C++ 애플리케이션에 직접 통합할 수 있도록 제공되는 API입니다. 별도 HTTP/REST 또는 gRPC 프로토콜을 사용하지 않고, 애플리케이션 내부에서 Triton의 코어 로직과 직접 상호작용할 수 있습니다.

728x90

'AI & GPU' 카테고리의 다른 글

MCP  (0) 2025.04.20
AI 학습에서의 분산 학습  (0) 2025.04.13
자연어처리 - 인코딩  (0) 2025.04.04
FLOPS  (0) 2025.04.04
NCCL  (0) 2025.04.02