LLM 추론 속도 10배 향상

by DD
4개월 전
조회수 18

NVIDIA Dynamo는 고성능 LLM 추론 서빙을 위한 분산 프레임워크임

GPU 활용률 극대화응답 지연 시간 단축을 목표로 함

vLLM, SGLang, TensorRT-LLM 등 다양한 추론 엔진 지원이 특징임

대규모 언어 모델(LLM) 서빙 환경에서 성능과 확장성 문제를 해결함

분산 LLM 추론의 핵심 과제 해결

대규모 언어 모델(LLM)은 단일 GPU 용량을 초과하는 경우가 많아, 텐서 병렬화(Tensor Parallelism)를 통해 레이어를 여러 GPU에 분산시킨다. 이 과정에서 발생하는 GPU 간 조정 복잡성(Coordination Complexity)을 Dynamo가 해결한다. 특히, Disaggregated Prefill & Decode 아키텍처는 GPU 처리량 극대화를 위해 지연 시간과 처리량 간의 트레이드오프(Trade-off)를 최적화한다.

추론 엔진 및 GPU 스케줄링 유연성

Dynamo는 추론 엔진에 대한 높은 유연성(Engine Agnosticism)을 제공한다. vLLM, SGLang, TensorRT-LLM 등 주요 엔진을 지원하며, 이는 사용자가 특정 엔진에 종속되지 않고 최적의 성능을 선택할 수 있게 한다. 또한, 동적 GPU 스케줄링(Dynamic GPU Scheduling) 기능을 통해 변화하는 수요에 맞춰 성능을 최적화하여 GPU 자원을 효율적으로 사용한다.

KV 캐시 최적화 및 데이터 전송 가속

LLM 추론 성능의 병목 중 하나인 KV 캐시 재계산 문제를 해결하기 위해, Dynamo는 LLM 인지 요청 라우팅(LLM-Aware Request Routing)을 구현했다. 이는 불필요한 KV 캐시 연산을 제거하여 효율성을 높인다. 또한, NIXL 기술을 활용한 가속 데이터 전송(Accelerated Data Transfer)은 추론 응답 시간을 단축시키고, KV 캐시 오프로딩(KV Cache Offloading)은 여러 메모리 계층을 활용하여 처리량을 증대시킨다.

Rust 기반 성능과 Python 확장성

Dynamo는 핵심 성능을 위해 Rust 언어를 채택하여 높은 처리량과 낮은 지연 시간을 달성했다. 동시에 Python을 통한 확장성을 제공하여 개발자가 쉽게 통합하고 커스터마이징할 수 있도록 설계되었다. 이러한 언어 선택의 이점(Language Choice Advantage)은 고성능 시스템 구축과 유연한 개발 환경 제공이라는 두 가지 목표를 동시에 달성하게 한다.

ai-dynamo / dynamo