Development & Optimization

추론형 AI 모델을 위한 저지연 분산 추론 프레임워크, NVIDIA Dynamo 출시

Reading Time: 9 minutes

NVIDIA는 GTC 2025에서 고처리량, 저지연 오픈소스 추론 프레임워크인 NVIDIA Dynamo의 출시를 발표했습니다. NVIDIA Dynamo는 대규모 분산 환경에서 생성형 AI 및 추론 모델을 효율적으로 배포할 수 있도록 설계되었으며, NVIDIA Blackwell 플랫폼에서 오픈소스 DeepSeek-R1 모델을 실행할 경우 최대 30배에 달하는 요청 처리 성능 향상을 제공합니다. 이 프레임워크는 PyTorch, SGLang, NVIDIA TensorRT-LLM, vLLM 등 다양한 오픈소스 추론 도구와의 호환성을 바탕으로, 개발자 및 연구자가 최신 AI 워크로드를 더욱 빠르고 안정적으로 구현할 수 있도록 지원합니다.

NVIDIA Dynamo는 다음과 같은 핵심 기능을 제공합니다:

  • 추론 과정에서 prefill 단계와 decode 단계를 분리하여 GPU당 처리량을 극대화합니다
  • 실시간 수요 변화에 따라 GPU 리소스를 유동적으로 할당함으로써 전체 시스템의 성능을 최적화합니다
  • LLM의 구조를 고려한 요청 라우팅 방식을 도입해 KV 캐시 재계산에 따른 오버헤드를 줄입니다
  • GPU 간 비동기 데이터 전송 속도를 향상시켜 전체 추론 응답 시간을 단축합니다
  • 다양한 메모리 계층을 활용한 KV 캐시 오프로딩을 통해 시스템 전반의 처리량을 높입니다

오늘부터 NVIDIA Dynamo는 GitHub의 ai-dynamo/dynamo 리포지토리를 통해 개발자에게 공개됩니다. 한편, 더 빠른 서비스 전환과 엔터프라이즈급 보안, 안정성, 기술 지원이 필요한 기업 고객을 위해 NVIDIA Dynamo는 NVIDIA AI Enterprise의 일환인 NVIDIA NIM 마이크로서비스에 포함될 예정입니다.

이번 글에서는 NVIDIA Dynamo의 아키텍처와 주요 구성 요소를 소개하고, 이들이 어떻게 단일 GPU부터 수천 개의 GPU까지 생성형 AI 모델을 효율적으로 확장하고, 비용 효율적인 분산 추론 환경을 가능하게 하는지 설명합니다.

비디오 1. NVIDIA Dynamo가 전체 AI 모델 효율을 최대 30배까지 향상시키는 방법 알아보기

멀티노드 배포에서 AI 추론 가속화하기

AI 추론은 개발자가 추론 모델을 워크플로우에 통합해, 사용자와 더 직관적으로 상호작용할 수 있는 혁신적인 애플리케이션을 만드는 데 핵심적인 역할을 합니다. 그러나 동시에, AI 수요가 빠르게 증가함에 따라 모델을 비용 효율적으로 확장하려는 기업에 반복적인 비용 부담이라는 큰 과제를 안겨주고 있습니다.

NVIDIA가 2018년에 NVIDIA Triton 추론 서버를 처음 도입했을 때, 그 목표는 AI 혁신을 가속화하고 추론 비용을 절감하는 것이었습니다. Triton은 최초의 오픈 소스 AI 추론 서버로, TensorFlow, PyTorch, ONNX, OpenVINO 등 맞춤형 프레임워크별 추론 서비스를 단일 통합 플랫폼으로 통합하여 추론 비용을 대폭 절감하고 새로운 AI 모델의 출시 시간(TTM)을 앞당겼습니다.

현재 Triton은 NVIDIA NGC에서 100만 건 이상 다운로드됐으며, AmazonMicrosoftOracle CloudDocuSign, Perplexity, Snap 등 세계 유수 기업들이 실제 서비스 환경에서 AI 모델을 배포할 때 널리 사용하고 있습니다.

Triton 출시 이후 오픈 소스 모델 규모는 약 2,000배 가까이 급격히 증가했으며, 이제 여러 다른 모델과의 상호 작용이 필요한 에이전틱 AI 워크플로우에 점점 더 많이 통합되고 있습니다. 이러한 모델과 워크플로우를 프로덕션 환경에 배포하려면 여러 노드에 분산해야 하므로 대규모 GPU에 걸쳐 신중한 오케스트레이션과 조정이 필요합니다. 단일 사용자 요청에 대한 응답을 여러 GPU에 분산하는 분산 서빙과 같은 새로운 분산 추론 최적화 방법의 도입으로 복잡성은 더욱 심화됩니다. 이로 인해 GPU 간 협업과 데이터 전송 효율성 확보가 더욱 어려워졌습니다.

이처럼 복잡한 분산 생성형 AI 추론 환경의 과제를 해결하기 위해 NVIDIA는 NVIDIA Dynamo를 새롭게 출시합니다. Dynamo는 Triton의 성과를 기반으로 다노드 분산 환경에서도 생성형 AI 모델을 안정적으로 서빙할 수 있도록 설계된 모듈형 아키텍처를 채택했습니다.

NVIDIA Dynamo는 GPU 노드 전반에 걸쳐 추론 작업을 원활하게 확장할 수 있으며, 사용자 수요 변화에 따라 GPU 워커를 유동적으로 할당해 멀티모델 AI 파이프라인에서 발생할 수 있는 병목 현상에도 유연하게 대응합니다. 또한 NVIDIA TensorRT-LLM, vLLM, SGLang을 포함한 주요 LLM 프레임워크를 모두 지원하며, 추론의 각 단계를 개별 GPU에 분산해 처리 성능을 높이는 분리형 서빙 등 최신 LLM 추론 최적화 기법을 적용하고 있습니다.

NVIDIA GB200 NVL72에서 추론 성능 30배 향상

전통적인 LLM 배포 방식에서는 prefill과 decode 두 추론 단계를 동일한 GPU 또는 노드에 함께 배치해왔습니다. 하지만 이 두 단계는 요구하는 리소스 특성이 다르기 때문에, 이러한 방식은 성능 최적화를 어렵게 만들고 GPU 자원을 충분히 활용하지 못하게 했습니다.

prefill 단계는 사용자 입력을 처리해 첫 번째 출력 토큰을 생성하는 작업으로, 주로 연산 자원이 집중적으로 필요합니다. 반면, decode 단계는 이후 토큰들을 생성하는 과정으로 메모리 의존도가 높습니다. 이처럼 성격이 다른 두 단계를 동일한 GPU에 배치하면, 특히 입력 시퀀스가 길어질수록 자원이 비효율적으로 사용되고 성능이 저하될 수 있습니다. 또 각 단계의 하드웨어 요구 조건이 다르기 때문에, 모델 병렬화 전략을 유연하게 적용하기도 어렵고 그만큼 최적화 기회도 줄어듭니다.

이 문제를 해결하기 위해 등장한 방식이 바로 분리형 서빙(disaggregated serving)입니다. 이 방식은 prefill과 decode 단계를 서로 다른 GPU나 노드에 분산해 배치함으로써, 각 단계에 적합한 병렬화 전략을 개별적으로 설계하고, 하드웨어 자원을 더 유연하게 할당할 수 있게 합니다. 아래 그림 1은 이 과정을 시각적으로 보여줍니다.

그림 1. 분리형 서빙 구조를 통한 prefill 및 decode 단계 분리 개념도

예를 들어, prefill 단계에는 통신 오버헤드를 줄이기 위해 텐서 병렬화 수준을 낮게 설정할 수 있고, decode 단계에는 메모리 작업 효율을 높이기 위해 높은 수준의 텐서 병렬화를 적용할 수 있습니다. 이런 방식은 리소스를 보다 효율적으로 할당할 수 있게 해주며, 추론 비용을 절감하고 TTFT(Time To First Token)나 ITL(Inter-Token Latency) 같은 SLO(Service-Level Objective)를 더 정밀하게 제어할 수 있도록 합니다.

실제로 오픈소스 DeepSeek-R1 모델을 NVIDIA GB200 NVL72에서 분리형 서빙 방식으로 구동했을 때, NVIDIA Dynamo는 처리 가능한 요청 수를 최대 30배까지 늘릴 수 있었습니다. 또한 Llama 70B 모델을 NVIDIA Hopper에서 서빙할 경우, Dynamo는 처리량 성능을 2배 이상 끌어올렸습니다.

그림 2. NVIDIA Dynamo는 NVIDIA GB200 NVL72에서 DeepSeek-R1 671B 모델을 실행할 때 탁월한 처리량 성능을 제공하여 성능을 30배 향상시킵니다. NVIDIA Hopper GPU에서 실행되는 Llama 70B 모델에서는 성능을 두 배 이상 향상시킵니다.

왼쪽: TensorRT-LLM, FP4, ISL/OSL: 32K/8K. Dynamo 미적용 시: Inflight Batching, TEP16PP4DP4. Dynamo 적용 시: Disaggregated Serving, 컨텍스트: EP4DP16, 생성: EP64DP3. 표기된 성능은 예고 없이 변경될 수 있음. 오른쪽: vLLM, FP8, ISL/OSL: 3K/50. Dynamo 미적용 시: Inflight Batching, TP8DP2. Dynamo 적용 시: Disaggregated Serving, 컨텍스트: TP2DP4, 생성: TP8.

대규모 분산 및 분리형 추론 서빙을 가능하게 하기 위해, NVIDIA Dynamo는 다음 네 가지 핵심 혁신 기술을 포함합니다:

  • NVIDIA Dynamo Planner
  • NVIDIA Dynamo Smart Router
  • NVIDIA Dynamo Distributed KV Cache Manager
  • NVIDIA Inference Transfer Library (NIXL)
그림 3: NVIDIA Dynamo 아키텍쳐

NVIDIA Dynamo Planner: 분산 추론을 위한 GPU 리소스 최적화

대규모 분산 및 분리형 서빙 기반의 추론 시스템에서는 GPU 자원을 효율적으로 관리하는 것이 처리량을 극대화하고 지연 시간을 최소화하는 데 핵심적입니다. 분리형 서빙은 추론 처리량과 효율을 크게 향상시킬 수 있지만, 모든 요청에 항상 가장 효과적인 방식은 아닐 수 있습니다.

예를 들어, 입력 시퀀스 길이(ISL)가 길고 출력 시퀀스 길이(OSL)는 짧은 요약 요청이 몰리는 상황을 가정해보겠습니다. 이 경우 prefill GPU는 과부하 상태가 되고, decode GPU는 활용되지 않은 채 남게 됩니다. 이럴 때는 decode GPU가 prefill과 decode를 모두 처리하도록 하거나, decode GPU를 prefill 작업에 전환하는 방식이 오히려 더 효율적일 수 있습니다. 이러한 접근은 부하를 분산시키고 prefill GPU의 부담을 줄이며, 전체 처리량을 높이는 데 도움이 됩니다.

분리형 서빙과 통합형 서빙(aggregated serving) 중 어느 방식을 선택할지, 각 단계에 GPU를 몇 대씩 배정할지는 여러 요소를 신중하게 고려해야 합니다. 여기에는 prefill과 decode GPU 간 KV 캐시 전송에 걸리는 시간, GPU의 요청 대기 시간, 분리형과 집약형 구성에서의 예상 처리 시간 등이 포함됩니다. 수백 개의 GPU를 운영하는 대규모 환경에서는 이러한 판단이 매우 복잡해질 수 있습니다.

바로 이 부분에서 NVIDIA Dynamo Planner가 활약합니다. 분산 추론 환경에서 주요 GPU 용량 메트릭을 지속적으로 모니터링하고 이를 TTFT 및 ITL과 같은 애플리케이션 SLO와 결합하여 들어오는 요청을 분리 없이 제공할지 또는 어느 단계에 GPU를 추가해야 하는지 여부에 대한 정보에 입각한 결정을 내립니다. NVIDIA Dynamo Planner는 프리필 및 디코드 전반에 걸쳐 GPU 리소스를 효율적으로 할당하여 변동하는 워크로드에 적응하는 동시에 최고의 시스템 성능을 유지하도록 보장합니다.

그림 4. GPU Planner는 GPU 용량 메트릭을 분석하여 들어오는 요청을 처리하거나 GPU 워커를 할당하는 방법에 대한 최적의 결정을 내립니다.

NVIDIA Dynamo Smart Router: 비용이 많이 드는 KV 캐시 재계산 감소

LLM이 사용자 프롬프트에 응답하기 전에, 입력 요청에 대한 문맥을 이해하는 과정인 KV 캐시 생성을 먼저 수행해야 합니다. 이 과정은 연산 집약적이며, 입력 길이에 따라 계산량이 기하급수적으로 증가합니다. KV 캐시를 재사용하면 이를 재계산하지 않아도 되어 추론 지연과 연산 부담을 효과적으로 줄일 수 있습니다. 특히 동일한 요청이 반복되는 시스템 프롬프트, 단일 사용자의 멀티턴 챗봇 대화, 에이전트 기반 워크플로 같은 활용 사례에서 매우 유리합니다. 이를 위해서는 KV 캐시를 언제, 어디서 재사용할 수 있는지를 판단할 수 있는 효율적인 데이터 관리 메커니즘이 필요합니다.

NVIDIA Dynamo Smart Router는 다노드 분산 환경과 분리형 서빙 구조에서 수많은 GPU에 걸쳐 KV 캐시를 추적하며, 이를 기반으로 요청을 효율적으로 라우팅해 불필요한 재계산을 최소화합니다. 이 라우터는 들어오는 요청을 해시 처리해 Radix Tree에 저장하고, 이를 통해 대규모 분산 추론 환경에서도 KV 위치를 추적할 수 있습니다. 또한, 전용 알고리즘을 활용해 KV 캐시의 삽입과 제거를 효율적으로 처리하며, 가장 관련성 높은 블록들이 유지되도록 관리합니다.

그림 5. 모델 응답 시간을 가속화하고 사용자 경험을 향상시키는 KV 캐시 재연산을 방지하는 NVIDIA Dynamo Smart Router

2x HGX-H100 노드. 8x DeepSeek-R1- Distill-Llama-70B. vLLM, FP8, 텐서 병렬: 2
데이터 소스: 100K 실제 R1 요청, 평균 ISL/OSL: 4K/800

새로운 추론 요청이 도착하면, NVIDIA Dynamo Smart Router는 클러스터 내 모든 GPU 메모리에 활성화된 KV 캐시 블록과의 중복 점수(overlap score)를 계산합니다. 이 점수와 전체 GPU 리소스의 워크로드 분포를 함께 고려해, 요청을 가장 적합한 워커로 지능적으로 라우팅합니다. 이를 통해 KV 캐시 재계산을 최소화하면서도 클러스터 전반에 걸쳐 부하를 균형 있게 분산시킬 수 있습니다.

이 방식은 단순한 라운드로빈이나 부하 기반 라우팅보다 한층 진화된 방식으로, 캐시 적중률, 워크로드 균형, GPU 리소스까지 종합적으로 고려해 전체 시스템 성능을 최적화합니다. 이로써 불필요한 KV 캐시 재계산을 줄이고 GPU 자원을 절약할 수 있으며, AI 서비스 제공자는 더 많은 사용자 요청에 대응할 수 있게 됩니다. 결과적으로 고성능 컴퓨팅 인프라에 대한 투자 수익을 극대화할 수 있습니다.

NVIDIA Dynamo 분산 KV 캐시 관리자: KV 캐시를 비용 효율적인 스토리지로 오프로드하기

사용자 요청에 필요한 KV 캐시 계산은 연산 자원을 많이 소모하기 때문에 비용 부담도 큽니다. 따라서 KV 캐시를 재사용해 불필요한 재계산을 줄이는 것은 일반적인 최적화 방법입니다. 하지만 AI 수요가 증가함에 따라, 재사용을 위해 GPU 메모리에 저장해야 하는 KV 캐시의 양도 급증하고 있으며, 이는 곧 막대한 비용 부담으로 이어집니다. 이로 인해 AI 추론 팀은 성능을 유지하면서도 예산을 초과하지 않고 KV 캐시를 효율적으로 관리해야 하는 과제에 직면하게 됩니다.

이를 해결하고자 NVIDIA Dynamo의 KV Cache Manager는 오래되었거나 사용 빈도가 낮은 KV 캐시 블록을 GPU 메모리 대신 비용 효율적인 저장소—예를 들어 CPU 호스트 메모리, 로컬 저장소, 또는 네트워크 오브젝트 스토리지—로 오프로딩할 수 있도록 지원합니다. 조직은 GPU 메모리에 저장할 때보다 훨씬 적은 비용으로, 최대 페타바이트 규모의 KV 캐시를 보관할 수 있습니다. 개발자는 이렇게 계층화된 메모리 구조를 활용해 GPU 자원을 확보하면서도, 기존에 생성한 KV 캐시를 유지 및 재사용함으로써 추론 연산 비용을 줄일 수 있습니다.

그림 6. 액세스 빈도가 낮은 KV 캐시를 보다 경제적인 메모리 계층 구조로 오프로드하는 NVIDIA Dynamo 분산 KV 캐시 관리자

NVIDIA Dynamo KV Cache Manager는 고급 캐싱 정책을 적용해 자주 접근되는 데이터를 우선적으로 GPU 메모리에 유지하고, 접근 빈도가 낮은 데이터는 공유 CPU 호스트 메모리, SSD, 또는 네트워크 오브젝트 스토리지로 이동시킵니다. 이 기능은 과도한 캐싱으로 인한 조회 지연과, 캐시 누락으로 인한 KV 캐시 재계산 사이의 균형을 고려한 지능형 제거(eviction) 정책을 포함하고 있습니다.

또한 이 기능은 여러 GPU 노드에 걸쳐 KV 캐시를 통합적으로 관리하며, 분산 및 분리형 추론 서빙 환경 모두를 지원합니다. GPU부터 노드, 클러스터까지 계층적으로 캐싱 전략을 적용할 수 있어 다양한 수준의 오프로딩 전략을 유연하게 구성할 수 있습니다.

NVIDIA Dynamo KV Cache Manager는 PyTorch, SGLang, TensorRT-LLM, vLLM 등 다양한 백엔드를 지원하는 프레임워크 독립적인 구조로 설계되었으며, NVIDIA NVLinkNVIDIA Quantum 스위치, NVIDIA Spectrum 스위치를 기반으로 하는 대규모 분산 클러스터에서도 KV 캐시 스토리지를 안정적으로 확장할 수 있도록 지원합니다.

NVIDIA 추론 전송 라이브러리(NIXL): 지연 시간이 짧고 하드웨어에 구애받지 않는 통신

대규모 분산 추론은 텐서 병렬화, 파이프라인 병렬화, 전문가 병렬화(expert parallelism)와 같은 모델 병렬화 기법을 활용하며, 이러한 방식은 노드 간 및 노드 내 저지연·고처리량 통신을 위해 GPUDirect RDMA 같은 기술에 의존합니다. 또한 분리형 서빙 환경에서는 prefill과 decode GPU 워커 간 KV 캐시를 빠르게 전달하는 능력도 필수적입니다.

이러한 시스템은 GPU와 다양한 메모리 계층—예를 들어 CPU 메모리, 블록 스토리지, 파일 스토리지, 오브젝트 스토리지—사이에서 데이터를 효율적으로 이동시킬 수 있어야 하며, 하드웨어와 네트워크 구조에 독립적인 고속 통신 라이브러리를 지원해야 합니다. 또한 다양한 네트워킹 프로토콜과의 호환성도 갖춰야 합니다.

그림 7. 이기종 메모리 및 스토리지 장치 간 데이터 이동의 복잡성을 추상화하는 NVIDIA 추론 전송 라이브러리(NIXL)

NVIDIA Inference Transfer Library (NIXL)은 고처리량·저지연의 포인트 투 포인트 통신 라이브러리로, 다양한 메모리 및 스토리지 계층 간 데이터를 빠르고 비동기적으로 이동시키기 위한 일관된 데이터 이동 API를 제공합니다. 동일한 방식으로 작동하는 이 API는 추론 데이터 전송에 최적화되어 있으며, 블로킹 없는(nonblocking), 비연속적인(noncontiguous) 데이터 전송을 다양한 메모리 및 스토리지 간에 지원합니다.

NIXL은 이기종 데이터 경로를 지원하며, GPU 메모리뿐 아니라 로컬 SSD, 그리고 NVIDIA의 주요 스토리지 파트너들이 제공하는 네트워크 스토리지와도 호환됩니다.

NIXL은 NVIDIA Dynamo가 GPUDirect Storage, UCX, S3와 같은 다양한 통신 라이브러리와 공통 API를 통해 연동되도록 하며, 데이터 전송이 NVLink(C2C 또는 NVSwitch), InfiniBand, RoCE, Ethernet 중 어떤 방식이든 관계없이 일관된 방식으로 처리됩니다. 또한 NIXL은 NVIDIA Dynamo의 정책 엔진과 함께 작동하여 가장 최적의 백엔드 연결을 자동으로 선택하며, 여러 종류의 메모리와 스토리지 간 차이를 추상화합니다. 이는 HBM, DRAM, 로컬 SSD, 네트워크 스토리지(블록, 오브젝트, 파일 등)를 아우르는 ‘메모리 섹션’ 개념을 기반으로 구현됩니다.

NVIDIA Dynamo 시작하기

현대의 LLM은 파라미터 규모가 비약적으로 커졌을 뿐 아니라, 추론 능력을 갖추고 에이전트 기반 AI 워크플로에 점점 더 많이 통합되고 있습니다. 그 결과, 추론 시 생성되는 토큰 수가 크게 늘어나고, 대규모 분산 환경에서의 배포가 필수화되면서 비용 부담도 함께 증가하고 있습니다. 이에 따라, 추론 서빙 전략을 최적화해 비용을 절감하고, 분산 환경에서 무리 없이 확장 가능하도록 만드는 것이 매우 중요해졌습니다.

NVIDIA Dynamo는 NVIDIA Triton의 성공을 바탕으로, 새로운 모듈형 아키텍처와 분산 추론 기능, 분리형 서빙 지원을 통해 대규모 다노드 환경에서도 탁월한 확장 성능을 발휘할 수 있도록 설계되었습니다.

AI 추론 개발자 및 연구자들은 GitHub의 ai-dynamo/dynamo 저장소에서 NVIDIA Dynamo 프로젝트에 기여할 수 있으며, NVIDIA가 공식 운영하는 NVIDIA Dynamo Discord 서버에 참여해 정보를 교류할 수 있습니다. NVIDIA Dynamo는 NVIDIA AI Enterprise 제품군에 포함될 예정이며, 빠르고 간편한 배포를 위해 NVIDIA NIM 마이크로서비스와 함께 간편하게 배포 가능하도록 지원됩니다. 한편, 기존 NVIDIA AI Enterprise 고객은 Triton 기반 배포 환경에 대해 계속해서 프로덕션 브랜치 지원을 받을 수 있습니다.

관련 리소스

Discuss (0)

Tags