읽는 데에 드는 시간 : 4분
이 글은 AI에서 모델 서빙 속도를 개선하는 NVIDIA Triton Inference Server에 대해 설명합니다. AI 모델 배포의 도전과제, Triton의 다양한 기능, 성능 평가, 장단점을 다룹니다.
제가 재직하고 있는 디플리에서는 소리 인공지능 기술을 개발하고 이를 활용한 실시간 위험 탐지 솔루션을 제공하고 있습니다. 실시간에 가까운 낮은 지연시간으로 AI 서비스를 제공하는 것은 더 나은 사용자 경험을 넘어 높은 치안 수준과 안전한 사회로 나아가기 위한 필수적인 도전 과제입니다.
이 글은 AI 모델 추론에 대한 어려움을 먼저 소개하고, NVIDIA가 개발한 Triton Inference Server를 솔루션으로 제안합니다.
AI는 크게 학습(Training)과 추론(Inference)의 두 부분으로 구성됩니다. 추론은 프로덕션 단계에 해당하며 모델과 pre-processing & post-processing 코드와 함께 데이터 센터나 클라우드 혹은 엣지에 배포됩니다.
AI는 추천, 예측, 품질검사, 분류 등 다양한 산업에서 빠르게 발전하고 있습니다. 기업들은 각 모델과 프레임워크, 애플리케이션별 추론을 위한 솔루션을 고민합니다. AI 모델 배포를 위해 추론 서버를 구성할 때 다양한 문제가 발생할 수 있습니다.
NVIDIA Triton Inference Server는 프로덕션 환경에서 AI 모델 간소화하고 최적화하도록 설계된 소프트웨어 도구입니다. 주요 기능은 다음과 같습니다.
실제로 얼마나 성능이 개선 되었는지 측정하기 위해 같은 조건에서 부하를 걸어보았습니다. GPU를 사용할 수 있는 환경이 없어서 오직 CPU만 사용해서 진행했습니다.
측정 결과를 모두 글에 담지는 못했지만, 다양한 컴퓨터에서도 실행해보았습니다.
- AWS EC2 p3.2xlarge
- AWS EC2 t2.micro (실행 불가)
- AWS EC2 t2.medium
- AWS EC2 t2.large
- Jetson Orin Modules and Developer Kits
- NVIDIA Jetson Nano
- Orange Pi 5
- Raspberry Pi 4
- Apple MacBook Pro (M1, 2020)
실험 조건
| Method | Name | # Requests | # Fails | Average (ms) | Min (ms) | Max (ms) | Average size (bytes) | RPS | Failures/s |
|---|---|---|---|---|---|---|---|---|---|
| POST | /torch | 3154 | 0 | 766 | 141 | 2906 | 310 | 12.8 | 0.0 |
| Aggregated | 3154 | 0 | 766 | 141 | 2906 | 310 | 12.8 | 0.0 |


| Method | Name | # Requests | # Fails | Average (ms) | Min (ms) | Max (ms) | Average size (bytes) | RPS | Failures/s |
|---|---|---|---|---|---|---|---|---|---|
| POST | /triton | 3144 | 0 | 607 | 55 | 1009 | 308 | 16.0 | 0.0 |
| Aggregated | 3144 | 0 | 607 | 55 | 1009 | 308 | 16.0 | 0.0 |


RPS가 12.8 → 16.0 으로 25% 향상.
장점
단점