Konrad Staniszewski & Adrian Łańcucki (NVIDIA, University of Warsaw) · ICLR 2026

KV Cache Transform Coding
for Compact Storage in LLM Inference

이 논문은 LLM의 KV 캐시를 이미지 압축(JPEG) 기술의 관점으로 바라본다 — 어텐션 헤드들이 공유하는 잠재 공간을 PCA로 표현하고, 비트를 동적으로 배분하며, 엔트로피 코딩으로 마무리하는 transform coding 파이프라인으로 최대 20×(특정 상황 40×) 압축을 달성한다.

arXiv →
KV cache compression transform coding PCA decorrelation LLM inference adaptive quantization entropy coding memory-efficient attention

문제의 배경 — KV 캐시 관리의 딜레마

챗봇, 코드 어시스턴트, 반복적 문서 편집 등 현대적인 LLM 사용 패턴의 공통점이 있다: 대화가 이어질수록 KV 캐시가 커진다. Llama 3.1 8B에서 1,000 토큰의 KV 캐시는 128 MiB, Llama 3.3 70B에서는 320 MiB이다. 이 캐시를 어떻게 다룰 것인가가 서빙 시스템의 핵심 병목이 되었다.

핵심 딜레마 KV 캐시를 보존하면 다음 대화 턴에 즉시 재사용할 수 있지만 귀한 GPU 메모리를 차지한다. 버리면 메모리는 확보되지만 전체 히스토리를 O(n²) 비용으로 재계산해야 한다. 이 지연-처리량(latency–throughput) 딜레마는 프로덕션 시스템에서 복잡한 설정을 강요한다.

기존 접근법들의 한계

이 문제를 해결하려는 시도들은 크게 네 방향으로 나뉜다.

양자화 (KIVI, GEAR, KVQuant, FP8): KV 캐시를 저정밀도로 표현해 메모리를 줄인다. 그러나 5× 정도의 압축에서 이미 정확도 저하가 시작되며, 여러 방법을 결합해 더 높은 비율을 달성하려 하면 급격히 불안정해진다. 논문 저자들이 지적하듯, 이런 방법들은 "brittleness"를 갖고 있어 고압축 영역에서 신뢰하기 어렵다.

토큰 제거/증류 (H₂O, TOVA, DMS): 중요도가 낮은 토큰의 KV를 삭제해 캐시를 줄인다. 효율적이지만 정보 손실이 비가역적이며, 특히 "Lost in the Middle" 같은 장문 검색 태스크에서 성능이 급락한다 (H₂O 20.2, TOVA 1.2, 바닐라 99.4).

SVD 기반 압축 (xKV, SVDq, LoRC): KV 텐서의 저랭크 구조를 활용한다. 가장 자연스러운 접근이지만 프롬프트마다 SVD를 다시 계산해야 한다는 치명적 약점이 있다. 새 토큰이 디코딩되는 중에 SVD를 다시 계산하는 것은 현실적으로 불가능하다.

CacheGen: KV 캐시를 전송용으로 압축한다. 최대 8.6× 압축을 달성하지만, kvtc의 20~40× 대비 낮은 비율에서 그친다.

공통 한계 기존 방법들은 KV 텐서의 강한 저랭크 구조(strong low-rank structure)를 충분히 활용하지 못한다. 또한 각 방법은 고유한 설계 선택으로 인해 다른 방법과 결합하기 어렵고, 높은 압축 비율에서는 정확도 저하가 심하다.

이 논문의 선택 — 이미지 코덱에서 배운다

저자들의 핵심 통찰은 다음이다: "KV 캐시는 이미지와 같다. JPEG가 DCT로 공간적 상관성을 제거하고 비트를 배분하듯, KV 캐시의 헤드 간 상관성을 PCA로 제거하고 비트를 배분하면 되지 않을까?"

"Our Key-Value Transform Coder (kvtc) builds upon the transform-coding framework, a widely adopted methodology for designing image and video compression algorithms such as JPEG."

kvtc는 JPEG 같은 이미지·영상 압축 알고리즘 설계에 폭넓게 사용되는 transform coding 프레임워크 위에 구축된다.

핵심 관찰: 어텐션 헤드들은 공통 잠재 공간을 공유한다

저자들은 먼저 흥미로운 실험을 수행한다. 같은 위치의 서로 다른 어텐션 헤드들의 키 벡터 쌍을 비교했을 때, 정렬 전(before alignment) 코사인 유사도는 0.2 이하로 매우 낮다. 그런데 Procrustes 문제를 풀어 최적 직교 행렬 R*로 한쪽을 회전시키면 유사도가 크게 올라간다.

헤드 간 코사인 유사도 (Llama 3.1 8B, Qasper 데이터셋)

정렬 전 (Before Alignment) 정렬 후 (After Alignment — Keys)

Before 헤드 간 유사도 < 0.2  |  After 직교 정렬 후 Keys는 크게 상승, Values는 중간 수준 상승

이 관찰은 무엇을 의미하는가? 서로 다른 어텐션 헤드의 키들이 직교 변환을 기준으로 공통된 부분 공간(subspace)에 존재한다는 것이다. 헤드들의 불일치는 키·값 프로젝션 행렬의 무작위 초기화에서 비롯된 것일 뿐, 실제 정보는 공유 공간에 있다.

핵심 통찰 데이터 행렬 A ∈ ℝⁿˣᵈ를 k개 방향으로 설명할 수 있다면, B = [A, AR] ∈ ℝⁿˣ⁽ᵈ⁺ᵈ'⁾ (R은 임의의 직교 행렬)도 동일한 k개 방향으로 설명 가능하다. 따라서 레이어와 헤드들을 연결(concatenate)한 뒤 단 한 번의 PCA를 적용해도 모든 헤드의 분산을 효율적으로 설명할 수 있다.

무엇을 포기했는가 — 트레이드오프

트레이드오프 kvtc는 스토리지/전송용 압축이다, 런타임 효율화가 아니다. 디코딩 중 모델은 압축 해제된 KV 캐시를 사용한다. 따라서 추론 자체의 latency나 메모리 사용량을 줄이는 방법이 아니라, 유휴 상태의 KV 캐시를 저장·전송하는 비용을 줄이는 방법이다. 이는 기존 토큰 제거 방법과 상호 보완적이며 결합도 가능하다.

보충 JPEG와의 유사성을 더 깊이 살펴보면: JPEG는 8×8 픽셀 블록에 DCT를 적용해 에너지를 저주파 계수에 집중시킨 뒤, 주파수별로 다른 양자화 스텝을 적용한다. kvtc는 모든 레이어·헤드의 KV 벡터를 이어붙인 행렬에 PCA를 적용해 분산을 앞쪽 주성분에 집중시킨 뒤, 분산 크기에 따라 다른 비트 수를 배분한다. 두 방법 모두 "상관성 제거 → 중요도 기반 비트 배분 → 무손실 엔트로피 코딩"의 세 단계를 따른다.

방법론 — kvtc 파이프라인

kvtc는 세 가지 연산 단계를 갖는다: 보정(Calibration), 압축(Compression), 복원(Decompression). 보정은 모델당 단 한 번 실행되며, 압축·복원은 추론 사이(inference phase 사이)에 실행된다.

전체 파이프라인 아키텍처

Key/Value Cache RoPE 제거 Linear Projection (PCA / V⊤) Adaptive Quantization (DP bit alloc) Entropy Coding (DEFLATE, nvCOMP) Storage 보정 단계 (모델당 1회) Calibration dataset → SVD → V, μ, DP bit table

데이터 플로우 — 차원 변환 추적

스텝 1 / 6

핵심 수식

kvtc의 수학적 핵심은 세 가지 수식으로 표현된다.

수식 (1) — Procrustes 문제: 헤드 간 정렬 가능성 검증

\[ R^* = \arg\min_R \| K_i - K_j R \|_F \quad \text{s.t. } R^\top R = I \]
변수의미비고
Kᵢ, Kⱼ어텐션 헤드 i, j의 키 캐시형상: [T, dhead]
R직교 행렬 (회전/반사)R⊤R = I 제약
‖·‖_FFrobenius 노름행렬의 모든 원소 제곱합의 루트
R*최적 정렬 행렬Procrustes 문제의 해

직관적 해설

헤드 j의 키를 어떻게 회전시키면 헤드 i의 키와 가장 유사해지는가? 이 최적 회전 R*을 찾아 정렬 전후의 코사인 유사도를 비교한다. 정렬 후 유사도가 크게 올라가면, 두 헤드는 같은 공간에 있다는 증거다.

수학적 해

이 문제의 해는 SVD를 통해 닫힌 형태(closed-form)로 구할 수 있다: KᵢᵀKⱼ = UΣVᵀ이면 R* = UVᵀ. 이 결과는 선형대수의 고전적 결과인 Procrustes 문제(Gower & Dijksterhuis, 2004)의 해다.

수식 (2, 3) — PCA 기반 특성 비상관화

\[ C - \mu = U \Sigma V^\top \] \[ D = (X - \mu) V, \quad X \approx D V^\top + \mu \quad (r < p \text{ 일 때 근사}) \]
변수의미비고
C ∈ ℝⁿˣᵖ보정 데이터 행렬n개 토큰, p = l×h×dhead 특성
μ ∈ ℝᵖ특성별 평균배치 차원에 걸쳐 계산
V ∈ ℝᵖˣʳPCA 기저 행렬 (저장됨)특잇값 내림차순 정렬, r ≤ p
D ∈ ℝⁿˣʳ비상관화된 표현주성분 좌표
X ∈ ℝᵐˣᵖ압축할 KV 행렬추론 시 사용

직관적 해설

PCA는 데이터의 분산이 최대인 방향부터 순서대로 찾는다. V의 첫 번째 열이 가장 많은 분산을 설명하는 방향, 두 번째 열이 그 다음... 이 기저로 KV 벡터를 변환하면 성분들이 독립적(uncorrelated)이 되어 각 성분별로 독립적으로 압축할 수 있다.

핵심 특성: 직교 변환과 Frobenius 노름 보존

V가 직교 행렬(V⊤V = I)이므로 우곱(right-multiplication)은 Frobenius 노름을 보존한다: ‖DV⊤ − DqV⊤‖²_F = ‖D − Dq‖²_F. 이 성질 덕분에 재구성 오차를 원래 공간이 아닌 주성분 공간에서 직접 최소화할 수 있다 — 역투영을 거치지 않고도 최적해를 구할 수 있다. 이것이 단순히 SVD를 적용하는 기존 방법들 대비 kvtc의 핵심 이점이다.

수식 (4, 5) — DP 기반 최적 비트 배분

\[ \min_{q_1,\ldots,q_r} \| DV^\top - D_{q_1,\ldots,q_r} V^\top \|_F^2 \] \[ = \| D - D_{q_1,\ldots,q_r} \|_F^2 \]
변수의미비고
qᵢ ∈ ℤ≥0i번째 주성분에 배분된 비트 수0이면 해당 성분 삭제
Dq₁,...,qₖ각 성분을 qᵢ비트로 양자화한 D비트 수는 성분별로 다름
‖·‖²_FFrobenius 노름의 제곱 (재구성 오차)최소화 목표

직관적 해설

전체 비트 예산이 고정되었을 때, 어느 주성분에 몇 비트를 줄지 최적으로 정해야 한다. "중요한 성분에는 많이, 덜 중요한 성분에는 적게". 수식 (5)에서 등호가 성립하는 것은 V가 직교 행렬이기 때문 — 덕분에 원래 공간으로 역투영하지 않고 주성분 공간에서만 최적화할 수 있다.

DP 최적성의 핵심 논리

주성분들은 서로 독립(uncorrelated)이므로, i번째 주성분의 최적 비트 수는 나머지 주성분들과 독립적으로 결정할 수 있다. 이것이 동적 프로그래밍을 사용할 수 있는 이유다. best_error[i, budget] = "첫 i개 주성분을 budget 비트로 양자화할 때의 최소 재구성 오차"를 점화식으로 채워나간다.

비트 배분 시뮬레이터 — 압축 비율과 정확도의 트레이드오프

주성분 순서(X축)와 배분되는 비트 수(Y축)의 패턴을 시뮬레이션한다. DP 알고리즘은 분산이 지수적으로 감소하는 PCA 특성에 맞게 비트를 배분한다.

파란색: 비트 배분 곡선 | 주황 점선: 평균 비트폭 | 0비트 구간은 해당 주성분이 완전히 삭제됨

핵심 알고리즘 — DP 정밀도 배분 의사코드

스텝 1 / 6

구현 세부사항

재현에 필요한 주요 설정값들을 정리한다.

항목Llama 3.1/3.3Mistral NeMo 12BQwen 2.5 R1
보정 토큰 수160K160K200K
PCA 차원 상한 (r)10K10K8K
Attention sink (s)4 토큰4 토큰4 토큰
Sliding window (w)128 토큰128 토큰128 토큰
압축 주기16 토큰마다16 토큰마다16 토큰마다
보정 데이터FineWeb : OpenR1Math = 1:1, 문서 길이 1K~32K
PCA 알고리즘Randomized SVD (Halko et al., 2011), 8회 반복, H100 GPU
보정 소요 시간~10분 (H100)~10분 (H100)미공개
가능한 블록 크기{1, 16, 64, 256, 1024}
가능한 양자화 타입None (0비트), int2, int4, fp8 (E4M3)
PCA 행렬 크기모델 파라미터의 ~2.4% (Llama 3.3 70B 기준)
엔트로피 코딩DEFLATE (nvCOMP, GPU 병렬)
평가 프레임워크LM Evaluation Harness + RULER + Transformers 라이브러리

보충 동일한 PCA 행렬이 모든 압축 비율에서 재사용된다는 점이 중요하다. 압축 비율이 바뀌어도 보정을 다시 할 필요가 없다 — DP 비트 배분 테이블만 재계산하면 된다.

결과 — 수치 비교

20×
일반 압축 비율
정확도 손실 <1점
40×+
특수 케이스 압축
소폭 정확도 감소 허용 시
TTFT 단축
재계산 대비 (8K 컨텍스트)
8.6×
CacheGen (최대)
기존 최고 경쟁 방법

단계별 압축 비율 기여도 (Llama 3.1 8B)

정확도 비교 — Llama 3.1 8B, GSM8K 태스크

주요 결과 테이블 — Llama 3.1 8B (Table 2에서)

굵은 숫자 = 바닐라 모델 대비 1점 이내. CR = 압축 비율.

방법CRGSM8KMMLUQASPERLITMRULER-VT
Baseline GEAR 2-bit52.859.640.496.999.8
Baseline KIVI 2-bit52.859.639.188.898.9
Baseline H₂O54.344.334.320.250.4
Baseline TOVA54.544.838.61.299.7
Baseline xKV1-5×56.659.535.699.999.8
FP855.260.140.899.499.9
Ours kvtc 8×9-10×57.059.840.199.399.1
Ours kvtc 16×18-22×56.960.140.799.399.1
Ours kvtc 32×34-44×57.860.639.499.198.9
Ours kvtc 64×60-88×57.260.737.890.295.9
Vanilla56.860.540.499.499.8

레이턴시 — Mistral NeMo 12B, H100 GPU (Table 5에서)

모듈BS=8, CTX=8K 압축BS=8, CTX=8K 복원BS=2, CTX=16K 압축BS=2, CTX=16K 복원
PCA 투영153 ms156 ms78 ms75 ms
양자화67 ms37 ms39 ms27 ms
DEFLATE137 ms64 ms66 ms36 ms
전체379 ms267 ms194 ms143 ms
바닐라 재계산 TTFT3,098 ms1,780 ms
kvtc 복원 TTFT380 ms (8.1× 단축)208 ms (8.6× 단축)
주목할 포인트 일부 태스크(GSM8K, MMLU)에서 kvtc 압축 모델이 바닐라 모델보다 높은 점수를 보인다. 이는 PCA가 KV 캐시의 노이즈를 일부 제거하는 암묵적 정규화 효과를 갖기 때문으로 추정된다. 유사한 현상이 token eviction 방법(Łańcucki et al., 2025)에서도 관찰된 바 있다.

[부록 데이터] Ablation — Attention Sink와 Sliding Window의 중요성

압축 비율 64× 조건에서 각 컴포넌트를 제거하면 얼마나 성능이 떨어지는가?

주의: sink/sliding window 압축 수치는 Figure 4 (a)(b)의 대략적 시각적 읽기값. 정확한 수치는 원본 논문 참조.

한계점 & 트레이드오프

한계 1 온라인 압축 불가 — 스토리지 전용 설계
kvtc는 추론 단계 사이(between phases)에 실행된다. 디코딩 중 모델은 비압축 KV 캐시를 사용하므로 런타임 메모리 절약 효과는 없다. 실시간 압축을 위해서는 주성분 공간에서 직접 추론하는 방법이 필요한데, 이는 미래 연구 과제로 남겨졌다.
한계 2 Attention Sink와 Sliding Window를 압축할 수 없음
앞 4개 토큰(attention sink)과 최근 128개 토큰은 압축하지 않는다. 이 두 영역을 압축하면 64× 조건에서 성능이 급격히 하락하거나 거의 0으로 수렴한다(Figure 4). 따라서 실질적인 압축 비율은 전체 시퀀스가 아닌 그 외 토큰들에만 적용된다.
한계 3 보정 데이터 도메인 의존성
PCA 행렬은 보정 데이터셋에서 학습된다. 실제 배포 환경의 데이터 분포가 크게 다르면 압축 효율이 저하될 수 있다. 논문은 FineWeb + OpenR1Math 혼합으로 다양한 태스크에서 견고함을 보였지만, 극단적으로 특수한 도메인(예: 의료 전문 문서)에서의 일반화는 검증되지 않았다.
한계 4 레이턴시 오버헤드 — 커널 융합 없이는 비용이 존재
현재 구현(Transformers 라이브러리 기반)에서 kvtc 16× 압축은 BS=8, CTX=8K 기준 379ms(압축) + 267ms(복원) 비용이 있다. 이는 재계산 TTFT 3,098ms보다 훨씬 빠르지만, 커널 융합과 계층적 PCA를 적용하면 더 줄일 수 있다고 저자들이 명시한다.
한계 5 벤치마크 시뮬레이션의 한계
실험은 실제 멀티턴 대화가 아닌 시뮬레이션 환경에서 수행되었다. 프로덕션의 실제 콘텐츠 분포나 사용 패턴을 완전히 반영하지 못할 수 있으며, 1.5B~70B 모델만 평가되었다.

영향력 & 후속 연구

누구에게 도움이 되는가?

kvtc는 세 가지 실용적 시나리오에서 직접적인 가치를 제공한다.

대화형 LLM 서빙: 코드 어시스턴트, 챗봇처럼 긴 대화 히스토리를 반복 재사용하는 시스템. kvtc로 압축된 캐시를 HBM/DRAM에 더 오래 보존하면 캐시 히트율이 높아져 TTFT를 크게 단축할 수 있다.

분산 LLM 서빙: 프리필-디코드 분리 아키텍처(prefill-decode disaggregation)에서 노드 간 KV 캐시 전송 비용이 20×로 줄어든다. 네트워크 대역폭이 병목인 환경에서 특히 효과적이다.

추론 모델 (R1 계열): DeepSeek-R1 같은 긴 사고 체인(thinking chain)을 생성하는 모델은 KV 캐시가 특히 크다. kvtc 8×에서 정확도 손실 없이 Qwen 2.5 R1의 AIME, LiveCodeBench 성능을 유지했다.

저자가 제안한 후속 과제

논문은 여러 미래 방향을 명시적으로 제시한다: 주성분 공간에서 직접 추론하는 방법 탐색, kvtc를 token eviction 방법(TOVA 등)과 결합, Multi-head Latent Attention(DeepSeek-V2)의 잠재 상태 압축에 적용, 커널 융합과 계층적 PCA로 레이턴시 개선, 200K 토큰 이상의 대규모 보정으로의 확장.

Q&A — 연구자의 고민과 독자의 질문

왜 프롬프트별 SVD가 아닌 한 번의 공유 PCA를 사용했는가? +

xKV, SVDq 같은 기존 SVD 기반 방법은 각 프롬프트마다 SVD를 새로 계산한다. 이는 프리필 최적화에는 효과적이지만, 디코딩 중 새로 생성된 토큰에 적용하기 위해 SVD를 다시 계산하는 것은 현실적으로 불가능하다 — 매우 느리고 계산 비용이 크다.

"Unlike prior SVD-based methods that calculate a separate decomposition for each prompt, we compute the KV cache projection matrices once using a calibration dataset C, and reuse them across all requests at inference time."

기존 SVD 기반 방법들이 각 프롬프트마다 별도 분해를 계산하는 것과 달리, 우리는 보정 데이터셋을 사용해 단 한 번만 투영 행렬을 계산하고, 추론 시 모든 요청에 재사용한다.

핵심 통찰은 헤드 간 공통 잠재 공간의 존재가 입력 데이터에 관계없이 성립한다는 것이다 — 이는 모델 파라미터의 초기화 방식에서 비롯된 구조적 성질이기 때문이다.

RoPE를 왜 제거해야 하는가? 제거하지 않으면 어떻게 되는가? +

RoPE (Rotary Positional Embedding)는 토큰의 위치 정보를 키 벡터에 회전 형태로 인코딩한다. 즉, 위치 100의 키 벡터와 위치 200의 키 벡터는, 같은 콘텐츠라도 서로 다른 방향을 가리킨다. 이 상태에서 PCA를 적용하면 위치 차이에 의한 분산이 실제 의미론적 분산보다 크게 나타나, PCA가 "위치를 구분하는 방향"에 집중하게 되어 실제 저랭크 구조를 놓친다.

RoPE를 먼저 역산하면 모든 위치의 키 벡터가 "콘텐츠에만 의존하는" 공통 공간으로 정렬되어, PCA가 진짜 분산이 큰 방향을 찾아낼 수 있다.

평가 이 아이디어는 ShadowKV (Sun et al., 2025)에서 먼저 제안되었고, kvtc가 이를 채택했다. 논문은 RoPE 제거 없이 PCA를 적용했을 때의 정량적 비교를 명시적으로 제시하지는 않는다.

왜 특정 압축 비율에서 바닐라 모델보다 성능이 높은가? +

표를 보면 kvtc 16×, 32× 등 중간 압축 비율에서 GSM8K, MMLU 점수가 바닐라보다 미세하게 높은 경우가 있다 (예: GSM8K에서 바닐라 56.8 vs kvtc 32× 57.8).

평가 논문은 이에 대해 부록 B.6에서 추가 설명을 제공하며, token eviction 연구(Łańcucki et al., 2025)에서도 유사한 현상이 관찰되었다고 언급한다. 가장 유력한 설명은 PCA가 KV 캐시의 고주파(고분산) 노이즈 성분을 잘라내는 암묵적 정규화 효과다 — 일종의 "저역 통과 필터"처럼 작동해 추론 품질을 미세하게 향상시킬 수 있다. 단, 이 효과는 일관적이지 않으며 특정 태스크/모델에서만 나타난다.

기존 token eviction 방법(TOVA, H₂O)과 결합할 수 있는가? +

가능하다. 논문이 명시적으로 언급한다:

"kvtc does not alter the structure of KV cache and does not change how the attention is calculated. Consequently, it is directly compatible with token eviction methods."

kvtc는 KV 캐시의 구조를 바꾸지 않고 어텐션 계산 방식도 변경하지 않는다. 따라서 토큰 제거 방법들과 직접 결합이 가능하다.

kvtc는 "어떤 토큰을 보존할지" 결정하는 것이 아니라, 보존된 토큰의 KV 값을 어떻게 압축할지를 다룬다. 따라서 먼저 token eviction으로 중요한 토큰만 남기고, 그 캐시를 kvtc로 추가 압축하면 더 낮은 메모리 풋프린트를 달성할 수 있다.

DP 최적성 증명의 핵심 논리는 무엇인가? +

증명은 귀납법으로 진행된다. best_error[j, q]가 j<i 또는 j=i이고 q<budget에서 최적이라고 가정한다. 그러면 best_error[i, budget]의 최적성을 보이기 위해, 알고리즘이 "첫 i개 주성분을 budget 비트 내로 양자화하는 모든 가능한 마지막 블록"을 열거함을 관찰한다. 각 경우에 대해 이전 블록들의 최적값(귀납 가정)과 현재 블록의 오차를 합산하므로, 가장 좋은 선택이 반드시 선택된다.

핵심은 PCA의 직교성 덕분에 주성분들이 독립적이어서, 각 블록의 최적 비트 수가 다른 블록과 독립적으로 결정 가능하다는 점이다. 이것이 DP 구조의 근거다.

시간 복잡도: O(num_features × max_bit_budget × batch)

코드와 구현은 어디서 볼 수 있는가? +

논문 발표 시점(ICLR 2026)에 공개 코드 링크가 명시적으로 제공되지 않았다. 단, 재현성 향상을 위해 평가 설정(프롬프트, 하이퍼파라미터 등)을 Appendix A와 B에 매우 상세히 기술하고 있다. LM Evaluation Harness와 RULER 프레임워크를 사용했으므로 이들 공개 라이브러리를 기반으로 재현 가능하다.

평가 NVIDIA 연구팀의 논문이므로 nvCOMP(DEFLATE GPU 라이브러리)는 NVIDIA의 공개 라이브러리를 사용했다. Transformers 라이브러리 기반 구현이므로 HuggingFace 생태계에서 상대적으로 쉽게 재현할 수 있을 것으로 예상된다.

원본 논문 Figures

독자가 원본 논문을 펼쳤을 때 바로 찾을 수 있도록 핵심 Figure들을 원본 그대로 수록한다.

Figure 1 & 2

Figure 1 & 2 — 논문 §1 (p.1)

kvtc transform-coding 파이프라인 (왼쪽)과 Llama 3.1 8B에서의 단계별 압축 비율 기여도 (오른쪽). DEFLATE의 가변성이 검은 줄무늬로 표시되어 있다.

주목 kvtc 파이프라인의 각 단계(양자화, PCA, DEFLATE)가 누적되어 최종 압축 비율을 달성함을 보여준다. 64× 설정에서 DEFLATE가 기여하는 비율의 변동성에 주목하라.

Figure 3

Figure 3 — 논문 §2 (p.2)

Keys (a)와 Values (b)의 정렬 전후 헤드 간 코사인 유사도 히트맵 (Llama 3.1 8B, Qasper 데이터셋).

주목 직교 정렬 후 Keys의 유사도가 크게 상승한다. 이것이 크로스-헤드 PCA의 이론적 근거다. Values는 Keys보다 상승 폭이 작다는 점도 관찰할 수 있다.

Figure 4 & 6

Figure 4 & 6 — 논문 §2, §3 (p.3)

Figure 4: attention sink와 sliding window 압축 ablation. Figure 6: PCA 보정 결과 — 보정 데이터 크기에 따른 재구성 오차, 위치별 오차, DP 비트 배분.

주목 64× 압축에서 sink 토큰을 압축하면 일부 태스크가 거의 붕괴한다. Figure 6 오른쪽은 주성분 인덱스가 커질수록 배분 비트가 단조 감소함을 보여준다.