TL;DR
임상 음성 ASR은 요청 하나가 GPU 연산 자원의 15~20%만 사용해도 기본 CUDA time-slicing 때문에 프로세스가 순차 실행되며, Heidi Health는 1초 미만 지연시간을 맞추기 위해 GPU 16개를 운영했습니다. NVIDIA MPS로 GPU를 SM 25%씩 사용하는 4개 인스턴스로 분할하고 Triton의 Dynamic Batching, 직접적인 model.forward() 호출, CUDA Graphs 안전장치를 결합하면 g7e.4xlarge에서 GPU당 92.1 RPS와 평균 352ms를 달성하면서 GPU 수를 4개로 줄일 수 있습니다. TensorRT와 ONNX를 추가하면 111.6 RPS까지 높아지지만 Fine-tuning마다 ONNX 재생성이 필요합니다. Streaming Sortformer diarization은 8개 MPS 인스턴스와 TensorRT warmup으로 청크당 평균 238ms를 기록해 전사와 별도 자원에서 처리됩니다.
섹션별 상세



용어 해설
- CUDA Multi-Process Service
- — CUDA Multi-Process Service는 여러 프로세스가 하나의 NVIDIA GPU를 동시에 사용하도록 SM 자원을 분할하는 기능입니다. 각 인스턴스에 일정 비율의 SM을 배정해 기본 time-slicing의 순차 실행과 context-switch overhead를 줄이고, 낮은 요청별 GPU 사용률을 높은 동시 처리량으로 연결합니다.
- 동적 배칭(Dynamic Batching)
- — 동적 배칭은 추론 서버가 짧은 시간 동안 도착한 여러 요청을 하나의 batch로 묶어 모델에 전달하는 방식입니다. 이 글의 Triton 설정은 최대 batch size 16, 선호 batch 크기 4·8·16, 최대 대기 시간 50ms를 사용해 지연시간과 처리량 사이의 균형을 맞춥니다.
- CUDA Graphs
- — CUDA Graphs는 반복되는 GPU 연산의 실행 그래프를 미리 캡처한 뒤 이후 요청에서 재생해 kernel launch overhead를 줄이는 기능입니다. 글의 구현은 5·15·30·45·60초 오디오와 특정 batch shape를 사전 워밍업하며, 범위를 벗어난 입력은 해당 호출에서 eager execution으로 처리합니다.
- TensorRT
- — TensorRT는 NVIDIA GPU에서 신경망 추론을 최적화하고 실행하는 도구입니다. 이 글에서는 ONNX와 결합해 Streaming Sortformer diarization 엔진을 구성하고, 컨테이너 시작 시 warmup을 수행해 평균 지연시간을 309.04ms에서 238.73ms로 낮추고 변동성도 줄였습니다.
- 시퀀스 배칭(Sequence Batching)
- — 시퀀스 배칭은 하나의 스트리밍 세션에 속한 요청 조각을 동일한 모델 인스턴스로 라우팅해 순서와 상태를 유지하는 Triton 기능입니다. 글의 diarization 구성은 recording별 correlation ID를 사용해 청크를 라우팅하고, 600초가 지나면 세션을 자동 만료시킵니다.
코드 예제
Triton config
├── server.py # FastAPI gateway (OpenAI-compatible API)
└── triton_model_repo/
└── parakeet_asr/
├── config.pbtxt # Dynamic batching configuration
└── 1/model.py # Python backend - direct forward passFastAPI 게이트웨이와 Triton 모델 저장소의 기본 파일 구조를 나타냅니다.
# Build the all-in-one image
docker build -f Dockerfile.single \
--build-arg LOCAL_NEMO_FILENAME=your_model.nemo \
-t parakeet-mps:latest .
# Run with 4 MPS instances (25% SM each) on a single GPU
docker run --gpus all --shm-size=2g \
-e MPS_INSTANCE_COUNT=4 \
-p 8002:8002 \
parakeet-mps:latestFine-tuned NeMo checkpoint를 포함한 컨테이너 이미지를 만들고 GPU 하나에서 MPS 인스턴스 4개를 실행합니다.
기술
- NVIDIA MPS
- NVIDIA Triton Inference Server
- Amazon EC2
- NVIDIA L40S
- g7e.4xlarge
- g6e.4xlarge
- NVIDIA Parakeet TDT 0.6B V2
- NVIDIA Streaming Sortformer 4-speaker v2
- TensorRT
- ONNX
- FastAPI
- torchcodec
- Prometheus
- Docker
- Amazon ECR
- Amazon CloudWatch
- Amazon EBS
- Amazon S3
활용 사례
- 임상 상담 음성의 자동 전사
- 다중 화자 임상 녹음의 diarization
- 낮은 요청별 GPU 사용률과 엄격한 지연시간 SLA를 가진 ASR 서비스
- NVIDIA GPU에서 Triton 기반 encoder-decoder 모델 서빙
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.