C²KV: 문서를 독립적으로 압축하고 조합 가능한 KV 캐시로 만드는 방법 (KDD 2026)
요약
인-컨텍스트 러닝(In-Context Learning, ICL)은 여러 문서나 예시를 프롬프트에 넣어 LLM이 즉석에서 태스크를 수행하도록 하는 방식이다. 실제 서빙에서는 이 문서들의 KV 캐시를 어떻게 재사용하느냐가 추론 비용을 결정한다.
기존 방법은 두 갈래로 나뉜다.
- 프리픽스 기반 재사용: 완전히 동일한 프리픽스가 반복될 때만 작동한다. ICL 문서 순서가 바뀌거나 조합이 달라지면 캐시 미스가 발생한다.
- 학습 없는 비-프리픽스 방법: 독립 계산한 KV 캐시를 연결(concatenate)하지만, 포지션 정보 충돌로 품질이 크게 떨어진다.
C²KV(arXiv:2607.17715)는 이 둘의 약점을 동시에 해결한다. 각 문서를 독립적으로 인코딩해 포지션에 무관한(position-agnostic) 압축 KV 캐시로 변환하고, 이를 임의 순서로 조합 가능하게 만든다.
2026년 8월 제주에서 열린 KDD '26에 발표됐으며, 긴 컨텍스트 환경에서 최대 17배 추론 속도 향상을 보고한다.
문제: ICL KV 캐시를 왜 재사용하기 어려운가
포지션 의존성이 핵심 장벽
트랜스포머의 KV 캐시는 포지션 임베딩(RoPE 등)을 반영한다. 문서 A를 독립 처리하면 그 KV 캐시에는 "문서 A가 0번 토큰부터 시작한다"는 포지션 정보가 내재된다.
실제 ICL에서는 문서 A 앞에 시스템 프롬프트, 다른 ICL 예시, 또는 지시문이 붙는다. 이 상황에서 사전 계산해 둔 KV 캐시를 그대로 쓰면 포지션이 맞지 않는다.
프리픽스 캐싱의 한계
vLLM의 Automatic Prefix Caching, SGLang의 RadixAttention은 동일한 프리픽스 시퀀스가 반복될 때 효과적이다. ICL에서 N개 문서 중 하나라도 순서가 바뀌면 캐시 미스가 발생한다. 문서 조합의 경우의 수가 많아질수록 히트율이 급락한다.
비-프리픽스 방법의 품질 문제
각 문서를 독립적으로 처리한 뒤 KV 캐시를 단순 연결하면 포지션 정보가 충돌한다. 문서 A의 KV 캐시(포지션 0~100)와 문서 B의 KV 캐시(포지션 0~80)를 이어 붙이면, 모델이 포지션 100 바로 다음이 포지션 0이라고 인식한다. 이런 의미적 혼선(semantic cross-talk)이 심각한 품질 저하를 일으킨다.
C²KV 아키텍처
C2Extractor의 세 가지 핵심 설계
1. 기반 LLM 동결
C2Extractor는 기반 모델의 파라미터를 변경하지 않는다. 경량 사이드카 모듈로 추가되어 독립적으로 학습된다. 기존 서빙 인프라(vLLM, SGLang 등)와 호환 가능하다는 의미다.
2. C2Tokens: 학습 가능한 압축 메모리 슬롯
각 문서 인코딩 시 C2Extractor가 C2Tokens를 주입한다. C2Tokens은 문서의 의미를 압축해 담는 컨테이너 역할을 한다. 토큰 수가 압축률과 메모리 비용을 결정한다.
원본 문서가 1,000 토큰이라면 C2Tokens은 이보다 훨씬 적은 수로 의미를 압축해 담는다. C2KV는 이 압축된 표현에서 나온 KV 캐시다.
3. Structured Attention Flow: 포지션 독립성 확보
C2Extractor의 핵심 메커니즘이다. 두 가지를 동시에 달성한다.
고충실도 의미 집계: C2Tokens이 어텐션 기반으로 문서 내 중요 정보를 선택적으로 흡수한다. 단순 평균 풀링이 아니라 내용에 따라 주의를 기울이는 집계다.
의미 독립성: C2Tokens 간의 상호작용이 포지션 정보를 배제하도록 설계돼 있다. 결과 C2KV는 어느 위치에 삽입해도 의미 충돌이 없다. 이것이 조합 가능성(composability)의 근거다.
언제 C2KV가 유효한가
효과적인 시나리오
- ICL 예시 문서(데모 셋)가 고정되거나 제한적으로 변화하는 경우
- 동일 문서 집합에 대해 다수의 쿼리가 반복되는 경우
- 문서 하나가 수천 토큰 이상으로 긴 컨텍스트 ICL
이득이 적은 시나리오
- 매 요청마다 완전히 새로운 문서 집합이 필요한 경우
- 문서가 매우 짧아 KV 캐시 크기 자체가 부담이 아닌 경우
기존 캐싱 기법과 비교
| 기법 | 적용 조건 | ICL 범용성 | 품질 손실 |
|---|---|---|---|
| Prefix caching | 동일 프리픽스 반복 | 낮음 | 없음 |
| 학습 없는 비-프리픽스 연결 | 항상 적용 | 높음 | 큼 |
| C²KV | 문서 집합 반복 | 높음 | 작음 |
배포 고려사항
| 항목 | 내용 |
|---|---|
| C2Extractor 학습 | 기반 LLM과 별도 파인튜닝 필요 |
| 캐시 무효화 | 문서 내용 변경 시 해당 C²KV 슬롯 재계산 |
| C2Tokens 수 | 압축률과 메모리 비용을 결정하는 핵심 하이퍼파라미터 |
| 기반 모델 호환 | 기반 LLM 파라미터 동결 — 기존 추론 인프라 호환 |
Open question: 구체적인 C2Tokens 개수 대 원본 토큰 수에 따른 품질-속도 트레이드오프 곡선은 논문 본문을 직접 확인해야 한다.
KV 캐시 압축 연구 흐름에서의 위치
C²KV가 등장하는 2026년 중반은 KV 캐시 압축 연구가 급성장하던 시기다.
KV 캐시 효율화 연구
├── 정밀도 감소 (양자화): FP16 → INT8 → INT4
│ └── vLLM W8A8, SGLang FP8 KV
├── 토큰 수 감소 (선택·병합)
│ ├── SnapKV, StreamingLLM
│ ├── KARA (슬라이딩 윈도, 2607.01237)
│ └── CentroidKV (클러스터링, 2506.11418)
└── 재사용성 향상
├── 프리픽스 캐싱: RadixAttention, vLLM APC
└── 비-프리픽스 재사용
├── KVzip (Query-Agnostic, 2505.23416)
└── C²KV ← 압축 + 조합 가능성 동시 달성 (KDD 2026)C²KV의 차별점은 "압축"과 "조합 가능성"을 하나의 학습 프레임워크에서 함께 달성한다는 데 있다.
요점 정리
ICL 서빙의 KV 캐시 재사용 문제는 단순하지 않다. 프리픽스 캐싱은 문서 조합이 달라지면 쓸 수 없고, 단순 연결은 포지션 충돌로 품질이 무너진다.
C²KV는 각 문서를 독립 인코딩해 포지션에 무관한 압축 표현(C2KV)으로 변환한다. C2Tokens과 Structured Attention Flow가 이 포지션 독립성을 학습을 통해 보장한다. 한 번 계산한 C²KV는 임의 순서로 조합해도 의미 충돌이 없다.
긴 컨텍스트 ICL 환경에서 17배에 달하는 속도 향상은, 동일 문서 집합이 반복 쿼리되는 실제 서빙 시나리오에서 이 접근법의 실용적 가치를 보여준다.
References
- C²KV: Compressed and Composable KV Cache Reuse for Efficient LLM Inference (arXiv:2607.17715) — KDD '26, Jeju 2026
- KV Cache Compression for Inference Efficiency in LLMs: A Review (arXiv:2508.06297)
- CentroidKV: Efficient Long-Context LLM Inference via KV Cache Clustering (arXiv:2506.11418)
- KVzip: Query-Agnostic KV Cache Compression with Context Reconstruction (arXiv:2505.23416)
- KARA: Efficient Reasoning LLM Serving via Sliding-Window KV Cache Compression (arXiv:2607.01237)