---
title: "영상 압축 기법을 KV 캐시에 적용해 Q4 양자화 오차를 10,000배 줄인 Delta-KV"
published: 2026-03-22T23:27:32.000Z
canonical: https://jeff.news/article/892
---
# 영상 압축 기법을 KV 캐시에 적용해 Q4 양자화 오차를 10,000배 줄인 Delta-KV

영상 코덱의 키프레임+델타 방식을 LLM KV 캐시 양자화에 적용. 절대값 대신 토큰 간 차이를 4비트로 압축해 Q4_0 대비 22배 낮은 품질 열화(+0.26%)를 달성. llama.cpp 포크로 ~195줄 추가만으로 구현됨.

## 핵심 아이디어: 절대값 대신 차이(delta)를 양자화

영상 코덱에서 매 프레임을 통째로 인코딩하지 않고, 키프레임 하나 저장한 뒤 차이만 기록하는 방식이 있음. Delta-KV는 이걸 그대로 LLM의 KV 캐시에 가져온 것임.

- 자동회귀 디코딩 중 연속 토큰의 KV 캐시 값은 거의 동일함. 대부분의 차원에서 차이가 ~1% 수준밖에 안 됨
- 기존 Q4_0은 **절대값**을 4비트로 압축하는데, Delta-KV는 **토큰 간 차이**를 4비트로 압축함
- 델타의 값 범위가 절대값 대비 100배 작으니까, 같은 4비트로 10,000배 더 많은 정보를 보존할 수 있다는 논리임

## 벤치마크: Q4_0 대비 22배 낮은 품질 열화

4x AMD MI50 GPU(총 128GB HBM2), ROCm 6.3.3 환경에서 측정한 결과:

- **Q4_0**: F16 대비 perplexity +5.61% 열화
- **Delta-KV (kf=32)**: F16 대비 겨우 +0.26% 열화. 같은 4비트 저장인데 열화가 22배 적음
- **Q8_0**도 -0.19%인데, Delta-KV가 4비트만으로 Q8에 근접하는 품질을 뽑아냄

## 컨텍스트 길이에 따른 안정성

오차 누적이 걱정될 수 있는데, 실제로는 전혀 문제 없음:

- 512~16K 토큰 전 구간에서 Delta-KV 열화가 0.3% 미만으로 유지됨
- Q4_0은 3.5~6%로 꾸준히 열화되는 반면, Delta-KV는 16K 토큰에서도 +0.25%밖에 안 됨
- 키프레임 간격이 512 델타 프레임이어도 오차 폭발이 없다는 거임

## 코드 태스크에서 특히 강력함

코드는 중괄호, 키워드 등 반복 구조가 많아서 연속 KV 상태가 매우 유사함:

- Q4_0 열화: ~0.7~1.06%
- Delta-KV 열화: 0.05~0.12%
- 코드에서는 Q4_0 대비 열화를 **10~20배** 줄여서 0.12% 미만으로 만듦

## MoE 모델에서도 잘 작동함

MoE는 토큰마다 다른 전문가 블록을 태우니까 KV 캐시 패턴이 더 다양해서 델타 압축에 불리한 조건임. 그런데도:

- 코딩 태스크 기준 Q4_0 대비 열화를 **10~40배** 감소시킴
- 아키텍처에 구애받지 않고 동작한다는 점이 인상적임

## 보너스: Weight-Skip 최적화로 10% 속도 향상

디코딩 시 MMVQ 커널이 토큰당 ~40GB의 가중치를 읽는데, 4바이트만 먼저 읽어서 전체 400바이트 내적을 건너뛸지 판단하는 방식임:

- **+10% 디코드 속도** 향상 (9.3 t/s → 10.2 t/s)
- 품질 손실 **제로** (perplexity 동일)

## 구현: llama.cpp 포크, ~195줄 추가

- llama.cpp를 포크해서 최소한의 수정만 가함
- 핵심 파일: `delta-kv.cu` (GPU 커널), `llama-kv-cache-delta.cpp` (델타 프로세서), `weight-skip.cu` (가중치 스킵 커널)
- 수정 파일 11개, 총 ~195줄 추가. 학습 컴포넌트나 엔트로피 코딩 없이 순수 커널 통합만으로 구현
- 하드웨어에 무관하게 KV 캐시 대역폭이 병목인 GPU(A100, H100 등)에서 다 이득을 볼 수 있다는 거임

## 핵심 포인트

- Q4_0은 F16 대비 +5.61% 열화, Delta-KV(kf=32)는 +0.26%로 22배 적은 열화
- 512~16K 컨텍스트 전 구간에서 오차 누적 없이 0.3% 미만 유지
- 코드 태스크에서 열화를 10~20배 줄여 0.12% 미만, MoE 모델에서도 10~40배 감소
- Weight-skip 최적화로 +10% 디코드 속도 향상, 품질 손실 제로

## 인사이트

학습 컴포넌트나 복잡한 코딩 없이, 영상 압축의 I-frame/P-frame 아이디어만으로 KV 캐시 양자화 품질을 극적으로 개선할 수 있다는 점이 핵심. 기존 llama.cpp에 195줄만 추가한 실용성도 인상적임.
