LLM WikiAccess-protected knowledge portal
← 스터디 홈
113편 · 약 11분

IntentKV: 에이전트 LLM의 멀티턴 KV 캐시 병목을 교차 턴 의도로 정밀하게 줄이는 방법

요약

멀티턴 에이전트는 짧은 사용자 질문을 도구 호출, 검색 결과, 중간 추론의 긴 궤적으로 확장한다. 이 과정에서 파라미터 연산이 아니라 KV 캐시가 장기 에이전트 서빙의 지배적 병목이 된다. 컨텍스트가 여러 턴에 걸쳐 누적될수록 KV 메모리 사용량과 KV 읽기 대역폭이 함께 급증한다.

IntentKV는 이 문제를 교차 턴 의도(cross-turn intent) 인식으로 해결한다. 기반 LLM을 동결(frozen)한 채 경량 QueryMemory 모듈만 훈련해, 과거 컨텍스트에서 현재 쿼리와 관련 있는 토큰만 선별하고 나머지를 제거한다. 8k KV 예산 기준으로 Qwen3-8B에서 평균 최대 요청 토큰 23.9%, Qwen2.5-14B에서 30.7% 감소를 달성하며 정확도 손실이 거의 없다. 2026년 6월 상하이 자오퉁 대학교(Junjie Li, Jiong Lou, Jie Li)에서 발표됐다.


문제: 멀티턴 에이전트에서 KV 캐시가 병목인 이유

단일 요청 LLM 서빙에서는 KV 캐시 관리가 비교적 단순하다. 요청이 완료되면 KV를 해제하면 된다.

에이전트 워크로드는 구조적으로 다르다. 에이전트는 하나의 목표를 위해 수십 번의 도구 호출, 검색 결과 파싱, 중간 계획을 반복한다. 각 턴마다 이전 턴의 모든 컨텍스트—시스템 프롬프트, 계획, 사용자 메시지, 도구 입력/출력, 검색 결과, 스크래치패드—가 KV 캐시에 누적된다.

워크로드KV 성장 패턴실질 병목
단일 요청 생성요청 내 고정 길이파라미터 연산
멀티턴 에이전트턴이 쌓일수록 선형 증가KV 메모리 + 읽기 대역폭

기존 KV 제거 정책은 이 구조적 차이를 인식하지 못한다. 어텐션 기반 또는 최근성(recency) 기반 규칙을 모든 토큰에 동일하게 적용하면, 시스템 프롬프트나 핵심 계획처럼 중요하지만 오래된 토큰이 잘못 제거된다.


IntentKV 아키텍처

IntentKV는 네 가지 구성 요소로 이루어진다.

1. QueryMemory

QueryMemory는 에이전트 세션 전체에 걸친 교차 턴 의도를 담는 벡터 표현이다. 각 턴이 시작될 때, 이전 턴의 KV 상태와 현재 쿼리 정보를 결합해 업데이트된다. 단일 턴 어텐션 패턴이 아닌 세션 수준의 "이 에이전트가 궁극적으로 무엇을 하려는가"를 인코딩한다.

2. 메모리-어텐션 점수 계산

QueryMemory를 컨텍스트 키(K-vector) 집합에 어텐션 연산으로 적용해, 현재 의도와 관련 있는 토큰에 높은 점수를 부여한다. 관련성이 낮은 토큰은 낮은 점수를 받아 제거 후보가 된다.

3. 잔차 교차 어텐션 헤드

기반 LLM 파라미터를 동결한 상태에서 영초기화(zero-initialized)된 잔차 교차 어텐션 헤드를 추가한다. 이 헤드는 현재 쿼리 K-벡터 위에서 동작하며, 기반 LLM의 출력에 직접 더해진다. 기반 모델은 변경되지 않으므로 기존 서빙 스택과의 호환성이 유지된다.

4. 슬롯맵 제거(Slot-Map Eviction)

제거된 토큰의 위치는 센티넬(sentinel) 데드 슬롯으로 재지정된다. 제거 후에도 생존한 K/V 행, RoPE 위상, 슬롯 아이디는 원래 위치를 유지한다. 이 방식은 프리픽스 캐시(prefix cache)와 완전히 호환된다—제거 메커니즘이 서빙 레이어의 KV 레이아웃을 변경하지 않기 때문이다.


아키텍처 다이어그램

에이전트 멀티턴 컨텍스트 (누적)
시스템 프롬프트
계획 (Turn 1)
도구 결과 (Turn 1)
검색 결과 (Turn 2)
현재 쿼리 (Turn N)
QueryMemory
교차 턴 의도 벡터
세션 전체 컨텍스트 인코딩
↓ 메모리-어텐션
토큰별 관련성 점수
높음
낮음
낮음
높음
슬롯맵 제거
낮은 점수 → 센티넬 데드 슬롯
높은 점수 → 원위치 유지
prefix cache 호환 구조
압축된 KV 캐시
8k 예산: 23.9~30.7% 토큰 절감
최악 케이스: 77.8% 절감
↓ 잔차 교차 어텐션 헤드 (기반 LLM 동결)
생성 출력 — 정확도 손실 거의 없음
IntentKV 멀티턴 에이전트 KV 관리 흐름

성능 결과

8k KV 예산에서의 평균 절감

모델평균 최대 요청 토큰 감소
Qwen3-8B23.9%
Qwen2.5-14B30.7%

두 모델 모두 전체 캐시 기준선(no-pruning)과 정확도 차이가 거의 없다.

BCP 데이터셋 상위 100개 쿼리 (최장 에이전트 궤적)

지표IntentKV-8k기준선(전체 캐시)
최악 케이스 최대 요청 토큰20.5k92.3k
최대 요청 토큰 감소율77.8%
최악 케이스 raw KV 읽기31M411M
KV 읽기 감소율92.6%

긴 에이전트 궤적에서 효과가 특히 두드러진다. 평균보다 최악의 케이스에서 절감 효과가 훨씬 크다는 점이 실용적으로 중요하다—메모리 OOM이나 대역폭 병목은 평균 케이스가 아니라 최악의 케이스에서 발생하기 때문이다.


설계 선택의 의미

기반 LLM을 동결하는 이유

기반 모델을 미세 조정하면 새 모델 버전이 출시될 때마다 재훈련이 필요하다. 동결된 기반 LLM에 경량 모듈만 추가하면 모델 업데이트 주기와 독립적으로 IntentKV를 유지할 수 있다. 훈련 대상이 QueryMemory와 잔차 헤드에 국한되므로 훈련 비용도 낮다.

슬롯맵 제거가 프리픽스 캐시와 호환되는 이유

vLLM, SGLang 같은 프로덕션 서빙 시스템은 RadixAttention 또는 유사한 프리픽스 캐시를 사용한다. 제거가 KV 행의 물리적 위치를 바꾸면 프리픽스 해시가 깨진다. 슬롯맵 방식은 제거된 위치를 센티넬로 리디렉션만 하고 나머지 레이아웃을 보존하므로, 기존 서빙 레이어를 재작성하지 않고도 적용 가능하다.


기존 KV 제거 방식과의 비교

방식훈련 필요교차 턴 인식프리픽스 캐시 호환
SnapKV, H2O (어텐션 기반)불필요X부분적
MemDecay (지역 기반, arXiv:2607.10582)불필요X미확인
IntentKV필요 (경량)OO

IntentKV의 차별점은 "현재 쿼리가 과거의 어떤 컨텍스트를 실제로 필요로 하는가"를 학습한다는 것이다. 기존 방식은 어텐션 패턴이나 최근성에 의존하지만, IntentKV는 세션 전체의 의도 표현을 유지한다.


운영 관점

IntentKV가 효과적인 시나리오:

  • 에이전트 루프가 10턴 이상 지속되는 작업 (코드 에이전트, 연구 에이전트)
  • KV 캐시 메모리 압박이 서빙 처리량을 제한하는 상황
  • GPU HBM 대역폭이 TTFT의 병목인 경우

현재 한계:

  • 추가적인 경량 모듈 훈련이 필요하다 (단순 plug-and-play가 아님)
  • 기반 모델을 동결하지만, 모델 버전별 QueryMemory 재훈련은 여전히 필요하다
  • 짧은 단일 턴 요청에서는 이점이 미미하다

정리

IntentKV는 멀티턴 에이전트 서빙에서 KV 캐시가 얼마나 다른 방식으로 다뤄져야 하는지를 보여준다. 단일 요청 최적화 기법을 에이전트 루프에 그대로 적용하면 중요한 컨텍스트가 잘못 제거된다. 교차 턴 의도를 학습한 QueryMemory는 현재 쿼리 관점에서 과거 컨텍스트의 관련성을 평가하는 구조적 해결책이다. 슬롯맵 제거를 통한 프리픽스 캐시 호환성은 실제 서빙 시스템에 통합하기 위한 핵심 설계 결정이다.


References

  • Junjie Li, Jiong Lou, Jie Li. "IntentKV: Cross-Turn Intent-Aware KV Cache Pruning for Agent Inference." arXiv:2606.09916, June 2026. https://arxiv.org/abs/2606.09916
  • MemDecay (비교 참조): Venkatesha Matam, Keon Kim. "MemDecay: Region-Aware KV Cache Eviction for Efficient LLM Agent Inference." arXiv:2607.10582, July 2026. https://arxiv.org/abs/2607.10582