NVIDIA TensorRT-LLM은 개발자가 거대 언어 모델(LLM)을 위한 고성능 추론 엔진을 구축하도록 지원합니다. 하지만 새로운 아키텍처를 실제 환경에 배포하려면 이전에는 적지 않은 수작업이 동반되어야 했습니다. 이러한 번거로움을 해결하고자, TensorRT-LLM의 새로운 베타 기능인 AutoDeploy가 발표되었습니다.
AutoDeploy는 별도의 가공 없이 기존 PyTorch 모델을 추론에 최적화된 그래프로 직접 컴파일합니다. 이 기술의 핵심은 모델 코드에 추론 전용 최적화 로직을 일일이 심을 필요가 없다는 점입니다. 덕분에 LLM 배포 시간을 획기적으로 단축할 수 있습니다. 즉, 모델을 수동으로 재구현하고 최적화하던 기존 방식에서 벗어나, 모델 개발과 추론 최적화를 완전히 분리하고 컴파일러가 이를 주도하는 효율적인 워크플로우로의 전환이 가능해졌습니다.
이번 포스팅에서는 AutoDeploy의 아키텍처와 주요 기능을 소개합니다. 특히 최신 NVIDIA Nemotron 모델이 출시와 동시에 AutoDeploy를 통해 어떻게 별도의 최적화 과정 없이 즉각 배포될 수 있었는지, 자세히 살펴볼 예정입니다.
AutoDeploy란 무엇인가요?
트랜스포머부터 하이브리드 비전 언어 모델(VLM), 상태 공간 모델(SSM)에 이르기까지, 새로운 LLM 아키텍처가 등장할 때마다 추론 과정에서는 늘 새로운 난관이 뒤따릅니다. 레퍼런스 구현체를 고성능 추론 엔진으로 변환하려면 일반적으로 KV 캐시 관리, GPU 간 가중치 샤딩, 연산 융합, 하드웨어 맞춤형 실행 그래프 튜닝 등 복잡한 수작업이 필요합니다.
AutoDeploy는 이러한 워크플로우를 컴파일러 주도 방식으로 전환합니다. 개발자가 추론 로직을 일일이 재구현할 필요 없이, AutoDeploy가 기존 PyTorch 모델에서 계산 그래프를 자동으로 추출한 뒤 일련의 최적화 과정을 거쳐 TensorRT-LLM 전용 그래프를 생성합니다. 다시말해 PyTorch로 모델을 한 번만 정의하면 캐싱, 샤딩, 커널 선택, 런타임 통합과 같은 추론 전용 고민은 컴파일러와 런타임이 대신 처리하는 것입니다.
이러한 접근 방식은 수작업 리소스를 투입하기 어려운 최신 연구 모델이나 내부 변형 모델, 빠르게 변화하는 오픈 소스 모델 등 롱테일 모델 배포에 특히 효과적입니다. AutoDeploy를 활용하면 모델 출시와 동시에 안정적인 성능으로 배포를 완료할 수 있습니다. 또한, 모델의 성숙도에 맞춰 성능을 단계적으로 고도화할 수 있는 최적화 로드맵을 제공합니다.
AutoDeploy가 제공하는 핵심 가치
- 원활한 모델 변환: 수동 재작성 없이 Hugging Face 모델을 TensorRT-LLM 그래프로 자동 변환합니다.
- 단일 소스 관리(Single Source of Truth): 기존 PyTorch 모델을 최종 정의본으로 유지하면서 추론 환경을 구축합니다.
- 강력한 추론 최적화: 샤딩, 양자화, KV 캐시 삽입, 어텐션 융합, CUDA 그래프 최적화 등을 자동으로 적용합니다.
- 출시 즉시 배포 가능: 새로운 모델이 공개되는 즉시 배포할 수 있으며, 시간이 지남에 따라 지속적인 성능 개선을 지원합니다.
- 간편한 설정: TensorRT-LLM의 일부로 제공되며, 풍부한 예제와 문서를 통해 즉시 시작할 수 있습니다.
주요 활용 사례
- 신규 및 실험적 아키텍처: 연구용 모델, 하이브리드 설계, 새로운 토큰 믹싱(어텐션) 메커니즘을 신속하게 배포합니다.
- 롱테일 모델 지원: 별도의 추론 구현 없이도 내부용 파인튜닝 모델이나 비주류 모델을 원활하게 서비스합니다.
- 빠른 성능 확보: 경쟁력 있는 베이스라인 성능을 조기에 확보한 뒤, 필요에 따라 단계적으로 최적화합니다.
- 통합 워크플로우: 모델 정의는 PyTorch로 유지하고, 실행은 TensorRT-LLM에 맡겨 학습부터 추론까지의 과정을 일원화합니다.
현재 AutoDeploy는 100개 이상의 텍스트 투 텍스트 LLM을 지원하며, VLM 및 SSM에 대한 초기 지원을 제공합니다. 또한 Llama 모델군과 NVIDIA Nemotron-3 Nano처럼 성능이 최적화된 모델에서도 뛰어난 역량을 발휘합니다.
AutoDeploy의 기술적 배경
AutoDeploy는 원본 Hugging Face 모델과 TensorRT-LLM 런타임 사이에서 핵심적인 가교 역할을 수행합니다. TensorRT-LLM API는 모델명이나 체크포인트 디렉토리를 입력받아 고수준의 LLM 객체를 반환하며, 이 객체는 내부적으로 AutoDeploy 또는 수동 백엔드 중 하나를 선택해 동작합니다.
그림 1에서 볼 수 있듯이, AutoDeploy 경로는 모델의 계산 그래프를 자동으로 추출하고 최적화 기법을 적용하여 추론에 최적화된 최종 그래프를 생성합니다. 반면 수동 경로는 엔지니어가 직접 모델 코드를 재작성해야 하는 번거로움이 있습니다. 구체적으로는 KV 캐시 로직 설계, 어텐션 커널 통합, 데이터 샤딩, 커널 융합 등을 일일이 구현한 뒤에야 동일한 런타임에서 모델을 실행할 수 있습니다.

그래프 캡처 및 패턴 매칭
AutoDeploy는 torch.export API를 사용하여 모델을 핵심 ATen 연산과 커스텀 연산(사용자 정의 또는 AutoDeploy 제공)으로 구성된 표준 Torch 그래프로 캡처합니다. 이렇게 추출된 그래프는 공통 빌딩 블록의 표현을 정준화하고 패턴 매칭을 수행하는 일련의 자동화된 변환 과정을 거칩니다.
이 초기 단계에서 AutoDeploy는 MoE, 어텐션, RoPE, 상태 공간 계층과 같은 주요 구성 요소를 단일 노드 및 커스텀 연산자로 표현된 레퍼런스 구현체로 대체하여 그래프의 구조를 단순화합니다.
그림 2는 다양한 모델에 분산된 어텐션 구조가 PyTorch 내에서 직관적이고 통일된 단일 커스텀 연산자로 어떻게 변환되는지를 보여주는 대표적인 예시입니다.

이러한 방식은 모델 지원을 위한 온보딩 프로세스를 성능 최적화나 런타임 통합 작업으로부터 분리하여, 전체 과정을 매우 매끄럽게 처리하도록 돕습니다.
나아가 모델 온보딩은 패턴 매칭을 활용한 완전 자동화 방식부터, 모델의 완벽한 실행을 보장하기 위한 수동 재작성 방식까지 필요에 따라 유연하게 선택할 수 있습니다. 모델 개발자는 관련 연산을 PyTorch 커스텀 연산자로 지정하여 모델 그래프에 직접 커스텀 커널을 주입할 수 있으며, 이 경우 AutoDeploy 컴파일러는 해당 연산자를 수정하지 않고 원형 그대로 유지합니다(그림 3).

샤딩, 융합 및 성능 최적화
다음 단계에서 AutoDeploy는 컴파일러와 유사한 패스 과정을 거쳐 성능 최적화를 자동으로 적용합니다. 이 과정에는 연산 융합, 성능 튜닝 레시피 적용, 그리고 그래프 내 최적화 커널 삽입 등이 포함됩니다. 또한, 사용 가능한 휴리스틱이나 Hugging Face의 샤딩 힌트를 재사용하여 멀티 GPU 추론을 위한 모델 샤딩을 자동으로 수행합니다.
유연한 어텐션 및 캐싱 지원
그래프 캡처 및 패턴 매칭 단계에서, AutoDeploy는 어텐션과 같은 토큰 믹싱 연산자를 정준화된 레퍼런스 연산자로 변환하여 프리필 전용의 단순한 구조로 표현합니다. 그림 3의 소프트맥스 어텐션 예시처럼, 시스템은 이후 이 연산자들을 성능 최적화된 어텐션 커널로 자동 교체합니다.
동시에 토큰 믹싱 연산자의 캐싱 메커니즘을 TensorRT-LLM의 최적화된 캐시 관리 시스템에 자동으로 통합합니다. 현재 AutoDeploy는 소프트맥스 어텐션, 상태 공간 계층(Mamba2), 선형 어텐션(DeltaNet), 인과 컨볼루션(Causal convolution) 등이 복합적으로 구성된 모델들을 폭넓게 지원합니다.
캐싱 기능이 필요한 새로운 연산자를 추가할 때도 엄격한 인터페이스 가이드를 제공하므로 확장이 매우 용이합니다.
컴파일 툴링
AutoDeploy는 모델을 더욱 정교하게 컴파일하고 하드웨어 수준으로 내리기 위해 다양한 표준 도구들과 통합됩니다. 여기에는 torch.compile 연동, 고정 배치 사이즈의 디코드 전용 배치를 위한 CUDA 그래프 통합, 멀티스트림 최적화 등이 포함됩니다.
런타임 통합
AutoDeploy는 오버랩 스케줄러, 청크 프리필, 추측적 디코딩, 캐시 및 상태 관리 등 TensorRT-LLM 최적화 런타임 통합의 모든 측면을 직접 처리합니다. 덕분에 모델 개발자는 모델과 런타임 간의 복잡하게 얽힌 의존성을 고민할 필요 없이 개발에만 집중할 수 있습니다.
AutoDeploy 성능 사례: Nemotron-3 Nano
AutoDeploy의 실질적인 역량을 측정하기 위해, NVIDIA 팀은 하이브리드 MoE(Mixture of Experts) 모델인 NVIDIA Nemotron-3 Nano를 온보딩했습니다. 일반적으로 이러한 복잡한 모델을 추론용으로 수동 튜닝하려면 수주가 소요되지만, AutoDeploy를 통해 단 며칠 만에 온보딩을 완료했습니다. 이후 단계적인 최적화를 거쳐 수동으로 튜닝된 베이스라인과 대등한 성능을 구현해냈습니다.
단일 NVIDIA Blackwell DGX B200 GPU 환경에서 테스트한 결과, AutoDeploy는 TensorRT-LLM의 수동 최적화 베이스라인과 어깨를 나란히 하는 성능을 보여주었습니다 (그림 4). 구체적으로는 사용자당 초당 최대 350개의 토큰 처리량을 기록했으며, 고처리량 애플리케이션에서는 초당 최대 13,000개의 출력 토큰을 생성하는 성능을 달성했습니다.

데이터는 ISL/OSL 1k/1k, TP=1 조건에서 NVIDIA DGX B200 장비를 사용해 수집했습니다. 사용한 소프트웨어는 TensorRT LLM v1.3.0rc1, trtllm-serve, AIPerf 벤치마킹 도구입니다.
성능 재현을 직접 확인하고 싶다면 NVIDIA Nemotron-3 Nano Checkpoint에 명시된 단계를 따라가 보시기 바랍니다.
모델 온보딩 사례: Nemotron-Flash
Nemotron-Flash는 순수 수동 추론 워크플로우로는 지원하기 까다로운 대표적인 아키텍처 사례입니다. 이 하이브리드 연구 모델은 상태 공간 계층, 소프트맥스 어텐션, 선형 어텐션 등 여러 토큰 믹서를 결합하고 있어, 수작업으로 재구현하고 최적화 및 유지보수하려면 상당한 엔지니어링 리소스가 필요합니다.
하지만 AutoDeploy를 활용하면 Nemotron-Flash 계층을 위한 기존 최적화 패스들을 모델별 추가 엔지니어링 없이 즉시 재사용할 수 있습니다. 예를 들어 DeltaNet 업데이트 규칙과 같은 새로운 계층 유형은 전체를 새로 짜는 대신 점진적인 확장 방식으로 통합되었으며, 이는 향후 다른 모델의 온보딩 작업에도 다시 활용될 예정입니다.
그 결과, Nemotron-Flash는 단 며칠 만에 온보딩과 성능 최적화를 마쳤으며 이제는 기본적으로 지원되는 모델이 되었습니다. 이는 AutoDeploy의 핵심 강점을 잘 보여줍니다. 즉, 최적화가 재사용 가능한 컴파일러 패스로 구현되면, 새롭고 독특한 아키텍처라도 즉시 전체 최적화 스택의 혜택을 입어 높은 추론 성능을 유지하면서 배포 시간을 획기적으로 단축할 수 있습니다.
NVIDIA 팀은 TensorRT-LLM AutoDeploy를 사용하여 Nemotron-Flash 3B Instruct와 Qwen2.5 3B Instruct의 성능을 비교 분석했습니다. Qwen2.5 3B는 비슷한 크기의 모델 중 수동 튜닝이 매우 고도화되어 널리 쓰이는 모델입니다. [그림 1]의 벤치마크 시나리오(ISL/OSL=8k/16k)에서 Nemotron-Flash는 Qwen2.5를 능가하는 성능을 보여주었으며, 이는 새로운 아키텍처라도 AutoDeploy를 통하면 얼마나 빠르게 생산 환경 수준의 성능을 확보할 수 있는지를 여실히 증명합니다.

데이터는 ISL/OSL 8k/16k, TP=1 조건에서 NVIDIA DGX H100 장비를 사용해 수집했습니다. 사용한 소프트웨어는 TensorRT LLM v1.3.0rc1, trtllm-serve, AIPerf 벤치마킹 도구입니다.
TensorRT-LLM AutoDeploy 시작하기
TensorRT-LLM AutoDeploy의 등장은 추론 최적화의 주체가 모델 개발자에서 컴파일러와 런타임으로 전환되는 중요한 분기점입니다. 이러한 접근 방식은 더 빠른 실험과 폭넓은 모델 지원을 가능하게 하며, 모델 설계와 배포를 깔끔하게 분리하여 개발 효율성을 극대화합니다.
이제 각 모델을 일일이 수동으로 튜닝하는 대신, 아키텍처를 한 번만 정의하면 시스템이 자동으로 그래프 변환과 최적화 커널을 적용합니다. Nemotron-3 Nano와 Nemotron-Flash에서 거둔 초기 성과는 다양한 모델 아키텍처에서도 출시와 동시에 최고 수준의 성능으로 배포가 가능하다는 것을 여실히 증명했습니다.
TensorRT-LLM AutoDeploy는 지금 이 순간에도 빠르게 진화하고 있습니다. 이 혁신적인 기능을 직접 실험해 보거나 개발에 기여하고 싶다면, AutoDeploy 문서와 예제 스크립트를 확인해 보세요.
감사의 글
AutoDeploy의 탄생과 발전에 기여해주신 모든 분께 깊은 감사를 드립니다. (기여 참여자: Ajinkya Rasane, Bala Marimuthu, Chenghao Zhang, Chenjie Luo, Eran Geva, Frida Hou, Gal Hubara Agam, Govind Ramnarayan, Grzegorz Kwasniewski, Hao Guo, Jingyu Xin, Joyjit Daw, Karthik Vetrivel, Lucas Liebenwein, Neta Zmora, Suguna Varshini Velury, Suyog Gupta, Tal Cherckez, Taylor Lee, Wanli Jiang, Wei-Ming Chen, William Zhang, Yoco Xiao)