KV 캐시 축출을 배포 위험 계약으로 재정의한 위험 제어 프레임워크
Risk-Controlled KV-Cache Eviction: From Memory Budgets to Risk Targets
무엇인가
이 논문은 KV 캐시 축출을 평균적인 품질-메모리 타협 문제가 아니라 배포 시점의 위험 제어 문제로 다시 정식화한다. 기존 평가는 평균 품질 저하가 작으면 안전하다고 보지만, 작은 평균 손실은 특정 요청에서 유틸리티가 크게 무너지는 사건을 숨길 수 있다. 논문은 같은 요청에 대한 전체 KV 추론 대비 축출 후 유틸리티 저하가 배포 허용치 τ를 넘는 경우를 물질적 저하 사건으로 정의하고, 배포 위험을 그런 사건이 모집단에서 발생하는 빈도 Rτ(π)=P(Δπ(X)>τ)로 둔다. 신뢰성 계약은 Rτ(π)≤ε와 보정 표본에 대한 신뢰 수준 δ로 표현되며, 주 설정은 (τ, ε, δ)=(0.10, 0.05, 0.05)이다. 즉 유틸리티가 0.10 넘게 떨어지는 요청이 전체의 5% 이하가 되도록 하고, 보정 표본 추출에 대해 95% 신뢰로 그 정책을 반환하는 것이 목표다.
어떻게 동작하나
방법의 핵심은 압축기 자체를 수정하지 않는 사후 인증 래퍼다. 고정 예산 방식에서는 보존율 후보를 (0.80, 0.75, ..., 0.20)처럼 보수적에서 공격적으로 미리 정해 두고, 요청 적응형 ReFreeKV에는 (.0005, .001, .002, .003, .005, .0075, .01, .015, .02, .03) 같은 임계값 순서를 미리 고정한다. 보정 데이터는 태스크별 균등 혼합 모집단을 목표로 하며 각 태스크에서 n/H개를 뽑는다. 각 후보 π_j에 대해 위반 지표 Vτ의 합 K_j를 세고, H_j: Rτ(π_j)≥ε 대 H_j^A: Rτ(π_j)<ε를 검정한다. p값은 K_j≤floor(nε)-1일 때 Pr{Bin(n, ε)≤K_j}, 그렇지 않으면 1로 두며, p_j^env≤δ이면 인증한다. 고정 순서 검정은 보수적 후보부터 공격적 후보로 진행하다가 처음 인증 실패가 나오면 멈추고, 마지막으로 인증된 후보를 반환한다. 첫 후보부터 실패하면 전체 KV로 폴백한다. n=1200, ε=0.05, δ=0.05에서는 최대 인증 가능 위반 수가 47건, 경험적 위험 3.92%로 명목 목표 5%보다 엄격해진다. RULER의 n=1300에서는 최대 51건, 역시 3.92%다.
무엇과 다른가
실험은 Llama-3.1-8B-Instruct와 Mistral-7B-Instruct-v0.3에서 수행됐다. LongBench는 200개 이상 문맥이 있는 12개 태스크를 쓰고 태스크당 200개 요청을 100개 보정과 100개 테스트로 나눠 n=1200을 만든다. RULER는 32K 문맥의 13개 태스크에서 태스크당 100개씩 보정과 테스트를 둬 n=1300이다. 고정 예산 방식으로 SnapKV, AdaKV, DefensiveKV, Layer-DefensiveKV를, 요청 적응형으로 ReFreeKV를 별도 8K 프로토콜에서 평가한다. 정책 선택은 보정 데이터에서만 하고, 테스트 결과는 서술적 평가에만 쓰며 인증 결정을 바꾸지 않는다.
어떻게 쓰나
LongBench 결과에서 같은 신뢰성 계약 아래 선택되는 보존율은 방법마다 크게 달랐다. DefensiveKV 계열은 SnapKV와 AdaKV보다 더 낮은 보존율을 인증받았다. Llama에서는 Layer-DefensiveKV가 0.35, DefensiveKV가 0.40이었고, Mistral에서는 순서가 뒤집혀 Layer-DefensiveKV 0.45, DefensiveKV 0.40이었다. 테스트에서 선택된 8개 모델-압축기 조합 중 7개가 경험적 물질적 저하 위험 5% 미만이었고, Mistral DefensiveKV만 61/1200, 5.08%로 한 건 초과했다. 중요한 결과는 인증 실패 지점이다. SnapKV 70% 보존은 위반 50건 4.17%, AdaKV 60%는 49건 4.08%, DefensiveKV 35%는 58건 4.83%, Layer-DefensiveKV 30%는 48건 4.00%로 모두 명목 5% 아래지만 유한표본 인증을 통과하지 못했다. 그래서 인증은 경험적 임계값 선택보다 Llama LongBench에서 5~10%포인트 더 많은 보존을 고른다. 예를 들어 Layer-DefensiveKV는 플러그인 규칙이 0.30을 고르지만 인증은 0.35를 고르며, 테스트 위반은 각각 64/1200, 5.33%와 48/1200, 4.00%였다.
전제와 한계
RULER-32K에서는 Layer-DefensiveKV가 0.35 보존으로 보정 3.92%, 테스트 3.54%를 보였고, DefensiveKV는 0.45 보존에 테스트 3.00%, AdaKV는 0.70 보존에 테스트 2.77%였다. SnapKV는 첫 후보 0.80 보존이 보정에서 135/1300, 10.38% 위반으로 인증 실패해 전체 KV 폴백이 반환됐다. 다만 0.80과 1.00 사이의 보존율은 시험하지 않았으므로 모든 압축 SnapKV 정책이 불가능하다는 뜻은 아니다. 태스크별 이질성도 크다. RULER의 common-word extraction 테스트 위험은 AdaKV 9%, DefensiveKV 15%, Layer-DefensiveKV 29%까지 올라간다. ReFreeKV에서는 T=.0005가 39/1200, 3.25%로 인증됐고 다음 T=.001은 보정 경험 위험 4.42%에도 인증되지 않았다. 선택 정책은 보정에서 평균 87.48%, 테스트에서 87.36%를 보존했고 테스트 위반은 42/1200, 3.50%였다.
추가 분석은 계약 민감도와 태스크별 위험을 보여준다. ε=.05에서 τ를 .10에서 .05로 좁히면 Layer-DefensiveKV 보존율은 .35에서 .65로 올라가고 SnapKV는 .75에서 전체 KV로 이동한다. ε=.20에서는 8개 항목 중 6개가 평가된 최저 비율 .20에 도달한다. 고정 예산 방식의 집계 위험은 2.50~4.08%였지만 DefensiveKV는 2WikiMQA에서 10%, Layer-DefensiveKV는 SAMSum에서 10%를 기록했다. ReFreeKV는 집계 3.50%지만 TriviaQA에서 20%였고 평균 보존율은 TriviaQA 75.7%에서 MultiNews 97.7%까지 변했다. Bonferroni 보정 Clopper-Pearson 구간에서도 RULER common-word extraction의 Layer-DefensiveKV 29/100은 [14.6%, 47.1%], DefensiveKV 15/100은 [5.1%, 31.1%], LongBench TriviaQA의 ReFreeKV 20/100은 [8.2%, 37.1%]로 하한이 .05를 넘었다. 따라서 개발자는 집계 인증이 태스크별 5% 보장이 아니라는 점을 확인해야 하고, τ와 ε, δ를 보정 전에 정하며, 인증 실패 시 전체 KV 폴백을 받아들일 준비를 해야 한다. 또한 낮은 인증 위험이 높은 절대 유틸리티를 보장하지 않으므로 전체 KV 기준 성능도 함께 봐야 한다.
저자들이 밝힌 한계는 분명하다. 인증서는 선언된 벤치마크 모집단에 한정되고, 각 태스크에서 보정 요청이 독립적으로 뽑였다고 가정하며, 태스크별 보장이나 분포 이동에 대한 강건성을 주지 않는다. 평가는 7~8B 모델 두 계열과 제한된 축출 방법, 이산 후보 격자에 머물러 더 큰 모델이나 다른 아키텍처, 서빙 스택으로 전이된다고 보장할 수 없다. 더 세밀한 격자는 해상도를 높일 수 있지만 전체 KV와 후보를 모두 평가하는 오프라인 비용을 키운다. 계약과 후보, 순서는 보정 결과를 보기 전에 고정해야 하며, 사후 선택에는 다중성 제어나 새 보정 데이터가 필요하다. τ와 ε는 응용 의존적이고, 저하는 전체 KV 대비로 정의되므로 낮은 인증 위험이 높은 절대 품질을 뜻하지 않는다. 또한 시스템 수준 지연이나 처리량을 직접 평가하지 않고 보존 KV 비율과 유틸리티 위험만 다루므로 종단 간 서빙 효율을 보장하는 것은 아니다.
관련 논문
- 레이어별 활성값 기하를 보존하는 무학습 트랜스포머 압축, GeoPairGeoPair는 재학습 없이 트랜스포머 가중치를 압축하는 기법으로, 레이어마다 다른 활성값 화이트닝 공간을 그대로 두고 두 레이어가 사전을 공유하도록 최적 짝짓기와 닫힌 형태 해를 쓴다. Llama-3부터 영상 생성 모델까지 기준 정확도의 90% 이상을 유지한다고 주장한다.
- ValueDiff는 값벡터 기하로 약한 어텐션 싱크 LLM의 KV캐시를 축출한다.QK 정규화·게이트 어텐션·학습된 어텐션 싱크·로짓 소프트캡을 쓰는 LLM은 어텐션 싱크가 약해 기존 KV 캐시 축출이 잘 듣지 않는다. ValueDiff는 값 벡터의 분산에 주목해 토큰을 순위화하는 축출 기법이다.
- CompKV는 보상 잔차를 기준으로 KV 블록을 고르는 스파스 어텐션이다.장문맥 LLM 추론의 병목인 KV 캐시 메모리 트래픽을 줄이기 위해, 누락 토큰의 보상 기여를 미리 고려해 토큰을 고르는 스파스 어텐션 기법 CompKV를 제안한다. 기존 방식이 어텐션 질량만으로 토큰을 뽑고 나서 보상을 적용하던 것과 달리, 선택 단계에서 보상을 함께 설계한다.
- KV 캐시를 토큰당 890바이트로 압축한 552B 멀티모달 MoE, DeepSeek-V4.1-FlashDeepSeek이 KV 캐시 압축의 한계를 겨냥한 DeepSeek-V4.1-Flash를 공개했다. 롱호라이즌 에이전트의 입력 폭증 속에서 프리필 연산과 HBM·SSD 용량, 데이터 전송 대역폭 부담을 함께 줄이는 것이 목표다.
- 질의마다 키 채널의 읽는 비트 수를 정해 오프로드 KV 캐시의 희소 디코딩 병목을 줄이는 Fathom에이전트 세션이 백만 토큰까지 길어지고 여러 세션이 동시에 상주하면, 호스트 메모리의 KV 캐시를 훑는 top-k 스캔이 디코딩 병목이 된다. Fathom은 4비트 K 캐시를 비트 플레인으로 저장하고 쿼리마다 읽을 비트 깊이를 정해 스캔 트래픽을 줄인다.