본문으로 건너뛰기
r/LLMDevs조회 3

A100‑80GB 한 대로 128K 컨텍스트 동시 처리 실험과 KV 캐시 압축 성능

구조적 KV 압축을 통해 동일한 A100‑80GB에서 128K 컨텍스트의 동시 사용자 수와 집계 토큰 처리량이 증가했다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

긴 컨텍스트 서빙에서 KV 캐시를 구조적으로 압축해 저장하고 어텐션 백엔드가 압축된 페이지를 직접 읽도록 구현하면 동일한 A100‑80GB에서 더 많은 128K 컨텍스트 유저를 프리엠션 없이 수용할 수 있고 집계 처리량이 증가한다. 실험 환경은 Qwen3‑4B‑Instruct‑2507을 vLLM 0.20.2로 구동한 단일 A100 80GB로 각 사용자당 128K 컨텍스트와 1024 토큰 디코드를 사용했으며 fp16 KV는 66.6 tok/s@2 유저, fp8 KV는 105.0 tok/s@5 유저, 구조적 압축 KV는 140.9 tok/s@6 유저를 기록했다. 핵심 작동 원리는 논리적 컨텍스트를 보존한 채 압축된 KV 페이지를 저장하고 어텐션이 이를 직접 읽게 함으로써 재물질화 비용을 줄이는 것이며 이 읽기 경로의 효율성이 실서비스 이득을 결정했다. 다만 압축이 디코드 속도를 저해하면 메모리 이득이 처리량 이득으로 전환되지 않으므로 읽기 경로 최적화와 정합성 검증이 필요하다.

실용적 조언

  • 압축을 설계할 때는 압축률뿐 아니라 압축된 상태로의 직접 읽기 경로가 병목이 되지 않도록 어텐션 백엔드와의 연동을 우선적으로 검증할 것.
  • 메모리 사용량 감소를 측정할 때는 디코드 지연과 집계 처리량의 변화를 동시에 계측해 실제 용량 이득이 서비스 처리량으로 연결되는지 확인할 것.
  • 재현 카드를 기반으로 fp16, fp8, 구조적 압축 각 모드에서 동일한 작업부하로 벤치마크를 수행해 동시 사용자 한계와 정합성(예: 검색 정확도)을 비교할 것.

섹션별 상세

01
실험 목적은 KV 캐시 압축이 긴 컨텍스트 서빙에서 실제로 프리엠션 없는 동시 사용자 수 증가와 집계 처리량 향상으로 이어지는지를 검증하는 것이었다. 실험 환경은 Qwen3‑4B‑Instruct‑2507 모델을 vLLM 0.20.2에서 하나의 A100 80GB GPU로 구동했고 각 사용자당 약 128K 토큰 컨텍스트와 1024 토큰 디코드를 고정해 측정했다. 측정 지표는 프리엠션이 없는 동시 사용자 수와 각 설정에서의 집계 디코드 토큰/초였다.
02
기술적 핵심은 강제 축출(eviction) 대신 구조적 KV 압축을 사용해 논리적 컨텍스트를 온전히 유지하면서 물리적 저장 용량을 줄이는 방식이었다. 런타임은 압축된 KV 페이지를 저장하고 어텐션 백엔드는 이 압축된 페이지를 직접 읽어 어텐션 연산에 투입하므로 중간에 fp16으로 전부 복원하지 않는다. 이 구현은 압축으로 인한 메모리 이득이 실제 추론 처리량으로 연결되려면 읽기 경로의 효율성이 확보돼야 한다는 점을 보여준다.
03
실험 결과는 동일 GPU에서 세 가지 모드를 비교해 제시됐다: fp16 KV는 프리엠션 없는 최대 2 유저에서 66.6 tok/s, fp8 KV는 5 유저에서 105.0 tok/s, 구조적 압축된 KV는 6 유저에서 140.9 tok/s를 기록했다. 집계 처리량과 동시 사용자 수가 압축 쪽에서 가장 높았고 원문은 이것이 '동일 GPU에서 더 많은 128K 유저와 더 높은 집계 처리량'로 귀결된다고 표기했다. 또한 검증 게이트로서 'needle in a haystack' 검색 정합성이 유지됐다.
04
성능과 구현상의 트레이드오프로는 압축이 메모리를 절감하더라도 디코드 속도를 저하시켜 전체 용량 이득이 무용해질 위험이 있다는 점이 제기됐다. 원문은 압축을 적용할 때 압축된 상태로 직접 읽는 경로가 핵심이며, 단순히 저장만 줄이는 접근은 실서비스에서 이득을 주지 못한다고 결론지었다. 재현을 위한 상세 정보와 재현 카드가 Hugging Face에 공개돼 있어 추가 검증이 가능하다는 점도 명시됐다.

이미지 분석

동일 A100‑80GB에서 fp16, fp8, 구조적 압축(KV) 모드별로 동시 사용자 수에 따른 집계 디코드 토큰/초를 비교한 라인 차트이다.
Chart

차트는 fp16이 낮은 동시 사용자 지점에서만 용량을 제공하고 fp8이 중간 지점에서 유의미한 개선을 보이며 구조적 압축이 최대 6유저에서 140.9 tok/s로 최고 집계 처리량을 달성했음을 수치로 보여준다. 해당 시각화는 각 모드에서 '클린 용량(max clean capacity)' 지점을 표시하고 있으며 압축된 KV에서 더 많은 프리엠션 프리 유저를 수용한 결과가 시각적으로 명확하다.

동일 A100‑80GB에서 fp16, fp8, 구조적 압축(KV) 모드별로 동시 사용자 수에 따른 집계 디코드 토큰/초를 비교한 라인 차트이다.

용어 해설

KV 캐시(KV cache)
Transformer 기반 추론에서 어텐션 키와 값 행렬을 대화 문맥마다 저장해 재사용하는 메커니즘으로, 긴 컨텍스트를 처리할 때 메모리 사용량이 급증하는 주된 요인이다. KV 캐시는 토큰 생성 시 매 스텝마다 이전 토큰에 대한 어텐션 연산을 가능하게 하며, 캐시에 저장된 키·값을 조회해 어텐션 점수를 계산한다. 이 글에서는 KV 캐시를 압축해 메모리 점유를 줄이고 동시 사용자 수를 늘리는 실험 결과가 핵심이다.
KV 압축(KV compression)
KV 페이지를 구조적으로 압축해 GPU 메모리 점유를 낮추는 기법으로, 원문 맥락은 논리적으로 유지하면서 물리적 저장 용량을 줄이는 방식이다. 런타임은 압축된 KV 페이지를 저장하고 어텐션 백엔드는 필요 시 압축된 상태에서 직접 읽어 연산에 사용하므로 압축 해제와 재물질화 비용을 최소화하는 것이 관건이다. 본 실험에서는 압축된 KV를 직접 읽는 경로가 처리량 확보에 큰 영향을 미친다고 보고되었다.
FP8 양자화(FP8)
모델 파라미터와 중간 표현을 8비트 부동소수점 형식으로 표현해 메모리 사용과 대역폭을 줄이는 양자화 방식으로, 정밀도와 성능 사이 트레이드오프가 존재한다. FP8으로 KV를 저장하면 단일 GPU에서 처리할 수 있는 동시 사용자 수가 늘어날 수 있으나 양자화·역양자화 비용과 정합성 검증이 필요하다. 원문은 fp8 KV와 비교해 구조적 압축의 처리량 효과를 실험으로 제시하고 있다.
프리엠션(Preemption)
GPU 추론 환경에서 스케줄러가 실행 중인 작업을 강제로 중단하고 다른 작업을 실행하도록 전환하는 동작으로, 사용자당 '프리엠션 프리' 상태는 추론이 중단되지 않고 지속되는 것을 의미한다. 프리엠션이 잦으면 긴 컨텍스트 세션의 지연과 처리량이 저하되므로 동시 사용자 수 산정에서 중요한 고려사항이 된다. 본 실험은 'preemption free concurrent users'를 측정 지표로 사용해 압축의 실용성을 판단했다.
어텐션 백엔드(Attention backend)
어텐션 연산을 실제로 수행하는 런타임 구성요소로, KV를 어떻게 읽고 연산에 투입하느냐에 따라 전체 지연과 처리량이 달라진다. 압축된 KV를 백엔드가 직접 읽으면 재물질화 오버헤드를 피할 수 있고, 반대로 압축 해제 후 fp16으로 복원하면 성능 이득이 사라질 수 있다. 원문은 이 읽기 경로의 구현이 압축의 실효성을 결정짓는 핵심 요인이라고 보고했다.

언급된 도구

vLLM중립

긴 컨텍스트 추론을 위한 인퍼런스 엔진으로 실험에서 서빙 런타임으로 사용됐다

A100‑80GB중립

실험에 사용된 GPU 하드웨어로 메모리 한계와 동시성 실험의 기준이 됐다

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 07. 08.수집 2026. 07. 08.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.