아티클 목록으로
추론·배포

vLLM, GLM 5.3에 Hybrid HiSparse 오프로딩 적용

약 4분 소요

들어가며

긴 컨텍스트 모델의 추론에서 진짜 어려운 문제는 단일 요청을 처리하는 일이 아니다. 여러 에이전트 세션이 동시에 길어질 때 KV 캐시가 계속 증가하고, GPU의 고정된 블록 풀은 새로운 토큰을 저장할 공간을 빠르게 잃는다. 도구 호출과 다중 턴 대화가 많은 서비스에서는 이 문제가 특히 두드러진다.

기존 방식에는 각각 한계가 있다. 프리엠션은 요청의 KV 캐시를 버리고 나중에 다시 프리필하므로, 요청이 제거될 때마다 전체 TTFT 비용을 다시 부담한다. 일반적인 오프로딩은 KV를 호스트 메모리에 보존하지만, 밀집 Attention에서는 전체 이력을 GPU에 다시 올려야 디코딩할 수 있다. 따라서 GPU 메모리가 허용하는 범위를 넘어 동시성을 높이기 어렵다.

vLLM은 GLM 5.3 최적화의 일환으로 Hybrid HiSparse를 도입했다. 이 설계는 Sparse MLA가 매 단계 전체 이력이 아니라 일부 토큰만 참조한다는 점을 메모리 관리에 활용한다.

핵심 내용

  • 압박이 있을 때만 오프로딩한다. GPU 블록 풀에 여유가 있을 때는 KV를 그대로 유지하고, 공간이 부족해질 때만 오래된 페이지를 점진적으로 해제한다. 필요하지 않은 상황에서 CPU-GPU 전송이 발생하는 것을 줄이는 방식이다.
  • Top-K 토큰을 우선한다. Sparse MLA의 인덱서는 긴 이력에서 소수의 토큰을 선택한다. HiSparse는 선택되지 않은 대부분의 KV를 CPU에 두고, 인덱서가 요구하는 행만 GPU 핫 버퍼로 가져온다. 인덱서 KV는 HiSparse가 직접 관리하지 않으며 기존 오프로딩 경로를 사용할 수 있다.
  • 같은 메모리 풀을 공유한다. 핫 페이지는 별도의 특수 할당이 아니라 vLLM Hybrid Memory Allocator가 일반 KV 블록과 같은 풀에서 빌려온다. 따라서 하나의 요청은 GPU 상주 페이지, CPU 전용 페이지, 핫 버퍼 페이지를 함께 가질 수 있다.
  • 전체 재계산을 피한다. GPU에 남은 행은 즉시 읽고, 핫 버퍼에 있는 데이터는 재사용한다. 캐시 미스가 발생한 경우에만 고정된 호스트 메모리에서 한 행을 복사한다. 전체 KV가 다시 GPU에 들어올 때까지 기다리거나 매번 재프리필할 필요가 없다.
  • 기존 vLLM 기능과 조합된다. 프리픽스 캐싱, 다른 캐시 그룹, P/D 디스어그리게이션에서의 가져오기, 추측 디코딩, 일반 KV 오프로딩은 각자의 기존 경로를 계속 사용할 수 있다.

동작 방식

Hybrid HiSparse는 요청의 KV 상주 상태를 세 단계로 나눈다. 완전 상주 상태에서는 Sparse MLA KV 전체를 GPU에 보관하면서, 완료된 프리픽스 페이지를 미리 호스트 메모리로 복사한다. 혼합 상주 상태에서는 요청의 꼬리 부분을 GPU에 남기고 오래된 페이지를 CPU에만 보관한다. 인덱서가 해당 페이지에서 선택한 토큰의 행은 핫 버퍼에 배치된다. CPU에만 남은 프리픽스를 재사용하는 새 요청은 플레이스홀더와 핫 페이지로 시작하며, 모델이 실제로 참조하는 행만 순차적으로 불러온다.

핫 버퍼는 일반 KV 페이지와 같은 KV 캐시 텐서에 속하며 동일한 블록 풀에서 할당된다. 이 구조 덕분에 상주 데이터와 핫 데이터를 하나의 행 ID 체계로 처리할 수 있고, 한 요청이 반납한 블록을 다른 요청의 핫 버퍼 공간으로 재사용할 수 있다.

구현 측면에서는 Sparse MLA 각 계층의 복사를 포워드 패스 이후 한 번의 실행으로 묶고, 모델의 GPU 스트림에서 순서를 보장한다. 디코딩 경로가 CPU의 별도 상주 판단을 기다리지 않으므로 CUDA Graph 캡처 가능성도 유지된다. MLA KV가 텐서 병렬 랭크 사이에서 동일하다는 점을 이용해, 고정된 호스트 풀을 데이터 병렬 복제본 단위로 공유하는 구조도 사용한다.

평가와 영향

공개된 테스트는 8개의 H200, GLM 5.3, MTP3, FP8 KV 캐시, OpenHands 다중 턴 에이전트 워크로드를 기반으로 했다. 긴 첫 번째 턴과 짧은 후속 턴이 포함됐으며, 동일한 호스트 메모리 예산을 사용하는 일반 KV 오프로딩과 비교해 상호작용성, 처리량, 실행 중 요청 수를 살폈다.

핵심은 KV의 일부만 GPU에 남아 있어도 요청이 계속 디코딩할 수 있다는 점이다. 소재에 따르면 테스트 환경에서 Hybrid HiSparse는 더 높은 동시성과 긴 컨텍스트 지원을 가능하게 했다. 다만 실제 효과는 Sparse MLA의 접근 패턴, 핫 버퍼 적중률, CPU-GPU 대역폭, 요청 증가 방식에 따라 달라진다. 따라서 모든 모델에 적용되는 범용 대체재라기보다, 모델이 실제로 읽을 가능성이 높은 토큰을 기준으로 메모리 상주 우선순위를 정하는 추론 최적화로 보는 편이 타당하다. vLLM은 향후 릴리스에서 이 기능의 사용 범위를 넓힐 계획이다.

출처: vLLM Blog

댓글

로그인 상태 확인 중…

댓글 불러오는 중…

관련 게시물

CCTest · Blog
FreeToken, 소비자용 GPU에서 대규모 MoE 추론을 다시 설계하다
추론·배포
cctest.ai
추론·배포

FreeToken, 소비자용 GPU에서 대규모 MoE 추론을 다시 설계하다

버클리와 MIT 연구진이 시스템 메모리와 GPU 사이의 희소 MoE 가중치 이동을 최적화하는 오픈소스 추론 엔진 FreeToken을 공개했다. 논문 자료에 따르면 RTX 4060 노트북에서 Qwen3.6-35B를 초당 약 39토큰으로 실행했다.

더 보기