vLLM이 에이전트 워크로드를 위해 추론 스택을 최적화하는 방법
서론: 추론 서비스의 최적화 대상이 달라진다
기존의 추론 시스템은 단일 요청, 제한된 컨텍스트, 비교적 긴 생성 구간을 중심으로 설계되는 경우가 많았다. 에이전트 애플리케이션은 다른 흐름을 갖는다. 모델은 도구를 호출하고 결과를 확인하며, 필요할 때 서브에이전트에 작업을 나눠 준 뒤 같은 세션으로 돌아온다. 매 턴마다 새로운 도구 결과가 기존 컨텍스트에 추가되므로 입력은 계속 길어지고, 새로 생성되는 출력은 상대적으로 짧다.
이런 워크로드에서는 토큰을 빠르게 생성하는 것만으로 충분하지 않다. 이미 계산한 긴 프리픽스를 재사용하고, 그 KV 상태를 GPU와 여러 워커, 저장장치 계층 사이에서 효율적으로 유지하고 이동해야 한다. vLLM은 SemiAnalysis의 공개 에이전트 코딩 벤치마크인 AgentX를 바탕으로, 이러한 요구에 대응하는 전체 스택 최적화 방향을 설명했다.
AgentX가 보여주는 핵심 특성
- 긴 다중 턴 세션. 세션당 턴 수의 중앙값은 43회, 입력 토큰의 중앙값은 약 142K, 출력 토큰은 444개다. 매번 누적 컨텍스트가 다시 전송되지만, 그중 상당 부분은 이미 처리된 내용이다.
- 높은 프리픽스 재사용률. 프리픽스 캐시 적중률이 96%를 넘는다. 재계산은 줄일 수 있지만, KV 상태를 충분히 오래 보존하고 필요한 계산 위치로 전달하는 것이 중요해진다.
- 서브에이전트 분기. 세션의 44%에는 적어도 하나의 서브에이전트가 포함되며, 해당 세션에서는 서브에이전트 롤아웃 수의 중앙값이 4회다. 부모 세션에서 분기하고 결과를 다시 합치는 과정은 캐시 친화성과 라우팅을 복잡하게 만든다.
- 비용과 상호작용성의 동시 최적화. 비용 효율은 일정한 하드웨어에서 실행할 수 있는 에이전트 수를 결정하고, 지연시간은 다음 추론이나 도구 호출까지 걸리는 시간을 결정한다. 전체 처리량 하나만으로는 사용자가 체감하는 진행 속도를 설명하기 어렵다.
vLLM의 세 가지 최적화 계층
데이터 계층에서 vLLM은 PagedAttention을 기반으로 하이브리드 KV 캐시 관리를 발전시키고 있다. 최신 모델은 전체 어텐션과 슬라이딩 윈도우, 선형 어텐션을 함께 사용할 수 있으며, 각 방식의 캐시 크기와 수명이 다르다. vLLM은 통일된 메모리 페이지를 할당 단위로 사용하고 하나의 공유 블록 풀을 운영해, 어텐션 유형별로 메모리를 고정 분할하는 방식을 피한다. 동시성, 컨텍스트 길이, 재사용 패턴에 따라 용량을 재배치할 수 있는 구조다.
DeepSeek V4에 대해서는 여러 텐서와 크기 버킷으로 나뉘어 있던 캐시 레이아웃을 블록별 연속 메모리 영역에 패킹하는 방식도 소개됐다. 이 변경은 패딩 낭비와 디스크립터 오버헤드, Prefill과 Decode 사이의 전송 부담을 줄이는 데 목적이 있다. FP4 인덱서가 활성화되면 KV 캐시 메모리를 약 10% 절약할 수 있다고 설명한다.
GPU 메모리를 넘어서는 용량을 확보하기 위해 vLLM은 Mooncake Store를 분산 공유 KV 캐시 풀로 통합했다. CPU 메모리와 디스크를 포함하는 계층형 구성이 가능하며, 독립 스토어 모드에서는 외부 클라이언트가 해당 계층을 관리하고 vLLM 워커는 요청자 역할을 한다. Dynamo와 llm-d 같은 라우터와의 통합은 요청을 특정 인스턴스에 강하게 고정하지 않아도 캐시를 찾을 수 있도록 하는 방향이다.
실행 계층에서는 모델에 맞는 병렬화, 커널, 비동기 스케줄링, 추측 디코딩을 함께 조정한다. 하이브리드 모델은 어텐션 유형별로 캐시를 조회해야 해 CPU 오버헤드가 커질 수 있다. vLLM은 데이터 구조 개선, 비동기 조회, 스케줄러의 핵심 경로 밖으로 작업 이동, 송수신 병렬화를 통해 이 비용을 낮추고 있다고 설명한다.
제어 계층의 중심은 Prefill/Decode 분리다. 세션별 컨텍스트 길이, 캐시 적중률, 서브에이전트 동작, 동시 요청 수가 크게 달라질 수 있으므로 모든 상황에 맞는 고정 비율은 없다. 라우팅은 캐시 지역성과 부하 분산을 함께 고려해야 하며, 트래픽 변화에 따라 최적 비율도 달라질 수 있다.
성능 결과와 의미
vLLM은 특정 AgentX 구성에서 DeepSeek V4 Pro로 GPU 초당 최대 13만 총 토큰, MiniMax M3로 초당 최대 376 토큰의 상호작용성을 기록했다고 밝혔다. DeepSeek V4 Pro, MiniMax M3, Kimi K3를 대상으로는 Opus 5 API 가격과 비교해 14.6배에서 106배의 서비스 비용 우위를 보고했다. 다만 이는 특정 모델과 하드웨어, 병렬도, 동시성 및 서비스 설정에 따른 벤치마크 결과이며 모든 환경에 대한 보편적 보장은 아니다.
더 큰 의미는 에이전트 추론이 단순한 디코딩 엔진이 아니라 컨텍스트 인프라의 문제로 이동하고 있다는 점이다. 캐시가 계산과 얼마나 가까운지, 노드 간 전송이 얼마나 발생하는지, 서브에이전트가 상태를 어떻게 공유하는지, Prefill과 Decode 자원을 어떻게 배분하는지가 세션 전체의 시간과 비용을 결정한다. 따라서 운영자는 초당 토큰 수뿐 아니라 장기 세션 지연시간, 캐시 재사용률, 전송 비용, 동시성 변화, 총소유비용을 함께 평가해야 한다.
출처: vLLM Blog
댓글
로그인 상태 확인 중…
댓글 불러오는 중…