2026년 8월 30일 일요일

LLM 서빙 캐싱 ⑦ — KV 압축·오프로딩·클러스터 공유: HBM 밖으로

②편에서 70B 모델의 128K 요청 하나가 KV 40GB, ③편에서 GPU 캐시 용량이 히트율을 막는 순간을 봤다. HBM은 비싸고 2026년에 더 비싸진다 — TrendForce는 3분기 서버 DRAM 계약가 +13~18%, HBM은 2027년 "수 배"를 예고했다. 그래서 KV 캐시를 (a) 작게 만들거나 (b) 싼 메모리로 옮기거나 (c) 클러스터 전체에서 공유하는 세 갈래가 서빙 비용의 다음 전선이다. 각각 언제 이득이고 언제 손해인지를 숫자로 본다.

작게 만들기: FP8은 공짜, 4비트는 계산서가 온다

  • FP8 KV: vLLM 2026-04 재측정에서 --kv-cache-dtype fp8은 처리량 손실 0에 KV 2배, Qwen3.5-27B AIME25 99%·Llama-3.3-70B 128K MRCR 97~98% 회복. 단 손익분기는 H100 ~7K 토큰(B200 ~4K) 이상이고, Hopper FP8 누적 오차로 128K needle이 91%→13%로 무너진 버그가 있었다(two-level accumulation으로 89% 복구). 교훈: 장문 회귀 테스트 없이 켜지 말 것.
  • 3~4비트: TurboQuant 비교에서 4비트는 추론 98% 회복이지만 처리량 BF16의 75~80%, 3비트는 AIME/GPQA −20점에 처리량 66~73%. 디퀀트 오버헤드가 메모리 절감을 되갚는다. 결론 "FP8 기본, 4비트는 극한 상황만". KIVI(2비트, 배치 4배)·KVQuant는 학계 상한선.
  • 토큰 축출: H2O는 heavy hitter 20%만 남겨 처리량 최대 29배, StreamingLLM은 sink 토큰 + 슬라이딩 윈도우로 400만 토큰 스트리밍. 그런데 2025-12 비교 연구는 낮은 예산 축출이 추론 모델의 트레이스를 길게 만들어 절약분을 되갚는다고 보고했다. 출력 토큰이 늘면 청구서는 오른다.

싸게 옮기기: CPU DRAM → NVMe → 원격 스토어

  • vLLM KV Offloading Connector(0.12): --kv_offloading_backend native --kv_offloading_size <GB>. H100/Llama-8B 단일 요청 TTFT 2~22배, 동시 요청 처리량 최대 9배(히트율 비례). "지연보다 처리량 이득이 훨씬 크다."
  • SGLang HiCache: GPU(L1)→CPU(L2)→외부(L3: Mooncake·3FS·NIXL·파일). 최대 6배 처리량, TTFT −80%. Novita AI(Qwen3-Coder-480B, 8턴·25K+)에서 히트율 40%→80%, TTFT −56%; Ant Group(R1-671B)에서 TTFT −84%.
  • LMCache/MI300X: DRAM 64GB만 붙여 TTFT 3.0배, 완료 요청 2.3배. 함정: PYTHONHASHSEED=0 없으면 히트율 0.
  • 하드웨어 의존: TRT-LLM 호스트 오프로드 재사용 TTFT 14배(H100 x86) vs 28배(GH200). CPU-GPU 대역폭이 ROI를 좌우한다.
  • 국내 벤치: 래블업×VAST(Mistral Medium 3.5 128B, 8×H100, 140K 토큰, vLLM+LMCache, GDS 100Gbps)는 첫 턴 +4초(22.3→26.3s), 이후 턴 22.0→6.6초(3.3배), 전체 1.96배. Backend.AI 한국어 해설의 조건표: 70B 이상·10K 토큰 이상·공유 프리픽스가 많으면 이득, 단일 턴 챗봇·TCP NFS면 손해.

클러스터에서 공유하기: Mooncake와 DeepSeek의 숫자

  • Mooncake(Kimi): prefill/decode 분리 + 유휴 CPU·DRAM·SSD를 분산 KV 풀로. 실서비스에서 75% 더 많은 요청(FAST'25 버전 A800 115%), 수천 노드, 일 1,000억+ 토큰. vLLM×Mooncake 에이전트 벤치(SWE-bench 트레이스 610개, 중앙값 33턴, 재사용 프리픽스 94.2%)에서 로컬 캐시 히트율은 1.7%였는데 Mooncake Store로 92.2% — 처리량 3.8배, P50 TTFT 46배, 12→60 GPU 선형. 에이전트 워크로드는 로컬 프리픽스 캐시를 무력화한다(재사용은 94%인데 히트는 1.7%).
  • DeepSeek 공개 손익: 평균 226.75 H800 노드, 일 비용 $87,072 vs 이론 매출 $562,027(마진 545%). 입력 608B 토큰 중 56.3%가 디스크 KV 히트. V4 캐시 히트는 미스의 3.3% — 히트율이 곧 단가다.
  • 라우팅 먼저: ③편의 llm-d 라우팅만으로 P90 TTFT 57배. 오프로드 전에 "요청을 캐시가 있는 파드로". PD 분리는 이제 표준이고 DistServe 기준 KV 전송비는 지연의 0.1% 미만, NIXL이 RDMA부터 S3까지 백엔드화했다. ByteDance AIBrix는 L1 DRAM + L2 원격(RDMA)으로 P99 TTFT 384.6초→0.22초.

CTO 체크리스트: 우리 워크로드에 맞는 계층은

순서는 측정(프롬프트 길이·턴 수·프리픽스 공유율, ⑧편) → FP8 KV(7K 토큰 이상이면) → 프롬프트 정렬과 라우팅(③편) → CPU DRAM 오프로드(멀티턴·긴 문서·70B 이상) → 멀티노드면 공유 스토어. 운영 함정은 PYTHONHASHSEED, 프롬프트 앞의 타임스탬프, 멀티테넌트 cache_salt, 장문 회귀 테스트. 여기까지가 "캐시를 어떻게 쓰나"였다면, 다음 세 편은 "우리 트래픽에서 얼마나 남는지 도입 전에 어떻게 아나"다.

— LLM 서빙 캐싱 시리즈 ⑦ / 다음 글: 도입 전에 재기 — 로그 리플레이로 히트율 상한 추정

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

대학원생의 투고 지도 ④ (완결) — 논문의 수준이란 무엇인가: 사다리와 사분위, 첫 논문 전략

완결편이다. "논문 수준"이라는 말을 해부하고, 에듀테크 석사생의 첫 논문 전략으로 마친다. 학위논문과 학술지 논문은 다른 장르다 먼저 가장 흔한 혼동부터. 학위논문(thesis)은 "내가 연구를 수행할 줄 안다...