대규모 언어모델(LLM)이 수만에서 수십만 토큰에 이르는 긴 컨텍스트(Context)를 처리할 때, 효율적인 추론(inference)을 위해 KV 캐시(Key-Value Cache) 압축 기술이 필수적입니다. 하지만 최근 연구에 따르면, 기존의 모든 KV 캐시 압축 방식은 중요한 한 가지를 놓치고 있었습니다. 바로 캐시가 지원하는 두 가지 접근 방식 중 '순차적 탐색(sequential traversal)' 기능을 간과했다는 점입니다.
기존 압축 방식들은 주로 콘텐츠 관련성(content relevance)을 기반으로 캐시에 무엇을 유지하거나 불러올지 결정했습니다. 이는 캐시의 '연관 검색(associative lookup)' 기능만을 활용한 것으로, 모델이 컨텍스트 내의 정보를 그대로 복사해야 하는 상황, 예를 들어 검색 증강 생성(RAG), 코드 자동 완성, 구조화된 데이터 추출 등에서 문제가 발생했습니다. 연구진은 이러한 상황에서 콘텐츠 기반의 압축 방식이 시퀀스의 시작 부분은 유지하지만, 이어지는 부분을 버려 모델이 텍스트를 그대로 복사하는 능력을 상실하는 '순차적 망각(sequential forgetting)' 현상을 발견했습니다. 이는 압축 시 발생하는 품질 저하의 주된 원인이었습니다.
이러한 문제를 해결하기 위해 제안된 것이 'KVFetch'입니다. KVFetch는 기존의 점수 기반 압축기에 추가할 수 있는(drop-in) 훈련 없는(training-free) 프레임워크로, 캐시에 '시간적 호출 채널(temporal recall channel)'을 추가합니다. 이는 제거된 후보들을 양자화된 콜드 티어(cold tier)로 옮기고, 단조로운 읽기 포인터(monotone read pointer)를 통해 활성 복사 작업을 감지하며, 고정된 크기의 핫 티어(hot-tier) 슬롯으로 위치상 후속 토큰들을 미리 가져옵니다. 이 과정에서 어텐션(attention) 비용은 증가하지 않습니다. RULER-16K 벤치마크에서 KVFetch는 그대로 복사하는 성능을 0.8에서 78.4로 대폭 회복시켰으며, 13개 태스크 평균 점수를 8.4점 향상했습니다. 특히 순차적 접근이 필요한 태스크에서 큰 효과를 보였고, 순차적 접근이 필요 없는 LongBench에서는 추가 비용 없이 비활성 상태를 유지했습니다.
KVFetch의 등장은 LLM의 장문 컨텍스트 처리 효율과 정확성을 한 단계 끌어올릴 중요한 발전으로 평가됩니다. 기존 압축 기술의 근본적인 한계를 보완함으로써, RAG나 코드 생성과 같이 컨텍스트 내 정보를 정확히 재현해야 하는 애플리케이션의 신뢰도를 크게 높일 수 있습니다. 이는 LLM 기반 서비스의 사용자 경험을 개선하고, 더 복잡하고 정교한 작업을 수행할 수 있는 기반을 마련할 것입니다.