ResKV: 고정된 예산의 KV 캐시 압축을 위한 누락된 어텐션 기여도 재구성
요약
ResKV는 KV 캐시 압축 시 발생하는 정보 손실을 최소화하기 위해 제안된 새로운 연구입니다. 메인 캐시와 누락된 기여도를 재구성하는 잔차 캐시를 분리하여, 고정된 예산 내에서 긴 문맥 추론의 정확도와 효율성을 동시에 개선합니다.
핵심 포인트
- KV 캐시 제거로 인한 어텐션 기여도 손실을 잔차 통계량으로 공식화
- 메인 캐시와 잔차 캐시를 활용한 소프트맥스 정규화 복원 방식 제안
- 검증 프록시와 동적 게이트를 통한 레이어 및 쿼리별 최적화
- LongBench 및 RULER 평가를 통해 메모리 효율 및 성능 개선 입증
KV 캐시 압축(KV cache compression)은 효율적인 긴 문맥 추론(long-context inference)을 위해 필수적입니다. 기존의 제거(eviction) 방식은 선택되지 않은 토큰들을 영구적으로 폐기하며, 결과적으로 어텐션(attention)에 대한 이들의 총체적인 기여도를 제거합니다. 병합 기반(Merging-based)의 대안들은 더 많은 정보를 보존하지만, 정확하게 유지되어야 할 키(key)와 값(value)들을 왜곡할 수 있습니다. 우리는 캐시 제거로 인해 누락된 정보가 소프트맥스 어텐션(softmax attention)의 분자와 분모 모두에서 잔차 통계량(residual statistics)으로 공식화될 수 있음을 관찰했습니다. 이러한 관찰을 바탕으로, 우리는 고정된 KV 예산을 정확한 메인 캐시(main cache)와 누락된 토큰의 기여도를 재구성하는 컴팩트한 잔차 캐시(residual cache)로 나누는 ResKV를 제안합니다. ResKV는 메인 캐시 토큰과 잔차 항목이 동일한 소프트맥스 정규화(softmax normalization)에 참여하도록 하여, 잔차 항목이 사후 교정(post-hoc correction) 역할을 하는 대신 어텐션의 분자와 분모 질량(mass)을 모두 복원하도록 합니다. 구축 시점의 검증 프록시(validation proxy)가 각 레이어와 KV 헤드에 대한 잔차 할당을 결정하며, 디코딩 시점의 동적 게이트(dynamic gate)가 개별 쿼리(query)에 대한 잔차 기여도를 조정합니다. 쿼리 인식(query-aware) 및 쿼리 비인식(query-agnostic) 설정, 다양한 백본(backbones), 캐시 예산, 그리고 대표적인 압축 베이스라인을 포함하여 LongBench와 RULER에서 수행된 종합적인 평가는, 피크 메모리 사용량(peak memory usage) 및 긴 문맥 디코딩 처리량(long-context decode throughput)을 포함한 압축된 디코딩의 실질적인 효율성을 유지하면서 동일한 유지 KV 예산 하에서 광범위한 개선을 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.CL (NLP)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기