제01권 · 제10호 CS · AI · Infra 2026년 5월 13일

AI 용어집

용어 사전레퍼런스학습
인프라 · 하드웨어

KV OffloadingKV 오프로딩

난이도

쉽게 이해하기

LLM 추론에서 attention의 Key/Value(KV) 캐시는 프롬프트를 읽는 동안 생성되는 중간 텐서다. 긴 컨텍스트나 동시 요청이 많을 때 이 KV가 GPU 메모리를 빠르게 채워 재계산·축출이 늘고 지연과 처리량이 악화된다. KV 오프로딩은 자주 쓰지 않는 KV를 GPU 밖(주로 CPU DRAM)으로 옮겨두었다가 필요할 때만 다시 불러오는 방식으로 이 문제를 완화한다. 이렇게 하면 GPU는 활성 토큰 처리에 집중하고, 재사용 가능한 KV는 외부 계층에서 보관·재적재되어 불필요한 재계산을 줄일 수 있다. 대표 구현인 vLLM은 커넥터(Connector) 인터페이스를 통해 요청 흐름 전·후에 KV를 외부 계층으로 비동기 저장/적재하도록 구성할 수 있다.

비유와 예시

  • IDE 코드 도우미가 공통 헤더가 긴 파일을 반복 분석할 때, 해당 접두사의 KV를 CPU에 보관했다가 다시 열면 재계산을 피한다.
  • 문서 QA에서 여러 사용자가 같은 문서 묶음을 질의할 때, 서문/목차 구간의 KV를 CPU 계층에 유지해 여러 세션에서 재사용한다.
  • 분석 대시보드가 유사한 템플릿 프롬프트를 반복 실행할 때, 첫 실행에서 만든 KV를 저장해 다음 변형 실행에서 불러온다.

한눈에 비교

GPU 전용 KV 캐시CPU 오프로딩매번 재계산
유효 용량GPU 메모리에 제한DRAM로 확장 가능캐시 없음
재적재 지연매우 낮음낮음(호스트-디바이스 전송)높음(처음부터 계산)
적합 사례짧은 컨텍스트, 낮은 동시성긴 컨텍스트, 높은 동시성/재사용재사용 거의 없음
프리엠션 대응축출 시 재계산CPU에서 재적재재계산
운영 복잡도낮음중간(전송·정책 필요)낮음

오프로딩은 작은 전송 비용을 감수하고 더 큰 캐시 용량과 재사용 범위를 얻어, 동일한 GPU로 더 긴 입력과 더 많은 세션을 감당하도록 돕는다.

어디서 왜 중요한가

  • vLLM 커넥터로 KV를 CPU DRAM 같은 외부 계층에 비동기로 저장/적재해, 프리엠션 후 재계산을 줄이고 TTFT 안정화와 처리량 개선을 노린다.
  • LMCache, NVIDIA Dynamo 문서에 소개된 백엔드 등을 통해 워크로드에 맞는 저장 매체(로컬 DRAM, 디스크, 원격 계층)를 선택할 수 있다.
  • 운영 관점에서 GPU 메모리만 확장하는 대신, CPU 버퍼 크기·정책·히트율을 튜닝하는 것이 주요 지렛대가 된다.

자주 하는 오해

  • 오해: 오프로딩은 항상 지연을 늘린다 → 실제: 비동기 전송을 쓰면 사용자 응답과 병렬로 복사되어 체감 지연 영향이 작다.
  • 오해: 접두사가 같을 때만 효과가 있다 → 실제: 높은 동시성과 프리엠션 환경에서도 재계산 회피로 이득이 있다.
  • 오해: GPU 메모리를 늘리면 대체된다 → 실제: 긴 컨텍스트·다중 사용자에서는 계층형 캐시가 비용과 확장성 측면에서 유효하다.

대화에서는 이렇게

  • "CPU 오프로딩 버퍼를 늘리고 히트율과 큐 대기시간을 같이 보죠."
  • "프리엠션이 잦으니 비동기 로드/스토어가 제대로 중첩되는지 스케줄러 스톨을 확인해 주세요."
  • "접두사 재사용이 많아 TTFT 변동이 크네요. 커넥터 히트 경로 최적화를 우선합니다."
  • "원격 계층은 콜드 KV에만 쓰고, 액티브 재사용은 DRAM에 유지합시다."

함께 읽으면 좋은 용어

참고 자료

도움이 되었나요?