
vLLM과 Triton을 결합하여 무중단 배포와 고성능 제약 디코딩까지 정복한 넷플릭스의 풀스택 추론 플랫폼 아키텍처
넷플릭스는 대규모 서비스 환경에 맞춰 서드파티 호스팅 API를 걷어내고 직접 vLLM과 Triton Inference Server를 통합한 인하우스 서빙 인프라를 구축했습니다. 아키텍처 설계부터 프로덕션 단계에서 겪은 예상치 못한 병목과 그 해결책을 고스란히 담아 실무적인 엔지니어링 통찰을 제공합니다.
LLM 인하우스 배포 및 미세조정 서비스를 설계하고 있거나 대규모 트래픽에서 구조화된 데이터 출력을 보장하는 실시간 추론 최적화가 필요하다면 본문의 Triton-vLLM 하이브리드 구축 패턴과 배출량 병목 제어 설계를 필독하기 권장합니다.
넷플릭스는 비용 및 데이터 개인정보 보호 등의 이유로 호스트형 API 대신 자체 프로덕션 환경 내에 전체 LLM 서빙 스택을 구축하고자 했습니다. 이 과정에서 모델 컴파일 속도 단축, 동적 I/O 스펙 지원, 무중단 배포 관리, 배치의 규모가 커짐에 따른 실시간 출력 제약 디코딩 시의 CPU 병목 현상 해결이라는 기술적 과제에 직면했습니다.
넷플릭스는 기존 모델 스코어링 서비스(MSS) 환경에 vLLM을 NVIDIA Triton의 백엔드로 통합하고 자바 기반의 컨트롤 플레인과 OpenAI 호환 프론트엔드를 추가했습니다. 제약 디코딩 병목을 해결하기 위해 vLLM V1으로 마이그레이션하여 상태 관리를 효율화하고, C++ 기반 멀티스레드 배치 수준의 logits 프로세서를 재구현했습니다.
OpenAI 표준 인터페이스를 활용하여 연구에서 프로덕션 단계까지 원활한 이식이 가능해졌으며, Red-Black 및 버전별 배포 전략으로 고도화된 롤아웃 안정성을 확보했습니다. 특히 vLLM V1 및 C++ 커스텀 logits 프로세서 도입을 통해 배치 크기 증가에도 추론 레이턴시를 평탄하게 유지하는 성능 향상을 달성했습니다.
Trade-off
Triton vLLM 백엔드 사용 시 Triton과 vLLM 라이브러리 간의 버전 동기화 문제가 발생하여 플랫폼 레벨의 버전 고정이 강제되며, 커스텀 실행 로직이 필요한 모델은 유지보수가 번거로운 Python 백엔드 방식을 혼용해야 합니다. 또한 배포 안정성을 위해 버전별 배포 전략을 취할 때 임시로 추가 GPU 인프라 비용이 소모됩니다.
PagedAttention 등의 효율적인 메모리 관리 기법을 활용하여 대규모 언어 모델의 추론 속도와 처리량을 극대화하는 오픈소스 LLM 서빙 엔진입니다.
NVIDIA가 개발한 추론 서버 프레임워크로, GPU/CPU 하드웨어를 최대로 활용하여 다중 머신러닝 프레임워크 모델을 통합 구동할 수 있도록 지원합니다.
생성되는 토큰의 확률(logits)에 실시간으로 규칙 마스크를 적용해 JSON 포맷 등 규정된 스키마에 부합하는 토큰만 생성되도록 보장하는 기법입니다.




