본문으로 건너뛰기
0
r/jeffnews HN 약 5분

영상 압축 기법을 KV 캐시에 적용해 Q4 양자화 오차를 10,000배 줄인 Delta-KV

ai-ml

요약

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

기사 전체 정리

영상 압축 기법을 KV 캐시에 적용했더니, Q4 양자화 오차가 10,000배 줄었다는 거임

핵심 아이디어: 절대값 대신 차이(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.71.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줄만 추가한 실용성도 인상적임.

댓글

댓글

댓글을 불러오는 중...

ai-ml

ARC-AGI-3 등장: AI가 진짜 AGI인지 측정하는 새 벤치마크 나왔다

ARC Prize 팀이 ARC-AGI-3를 공개했는데, 기존 정적 퍼즐 풀기가 아니라 AI가 새로운 환경을 탐색하고 즉석에서 목표를 파악하는 '적응형 추론' 능력을 측정함. 인간 수준으로 게임을 클리어하면 100점인데, 아직 AI와 인간 사이에 격차가 있는 한 AGI가 아니라는 기준을 제시하는 거임.

ai-ml

구글 TurboQuant: AI 모델 압축의 판도를 바꾸는 기술 등장 (ICLR 2026)

구글 리서치가 AI 모델의 핵심 병목인 키-값 캐시(KV Cache) 문제를 해결하는 압축 알고리즘 TurboQuant를 공개했음. 학습 없이 KV 캐시를 3비트까지 줄이면서도 모델 정확도 손실 제로, H100 GPU에서 최대 8배 속도 향상이라는 미친 성능을 보여줌. PolarQuant, QJL과 함께 ICLR 2026에서 발표 예정.

ai-ml

Claude Code에 가장 잘 맞는 프로그래밍 언어는? — 15개 언어 벤치마크 실험

Ruby 커미터가 Claude Code로 간이 Git 구현을 15개 언어로 시켜본 벤치마크. Ruby, Python, JavaScript가 가장 빠르고 저렴하며 안정적이었고, 정적 타입 언어는 1.4~2.6배 느리고 비쌌다. 600회 실행 중 실패는 Rust 2건, Haskell 1건뿐.

ai-ml

llama.cpp, 드디어 리눅스에서도 시스템 RAM 통합 오프로딩 지원

llama.cpp가 리눅스 커널 업데이트, NVIDIA 오픈 드라이버, CUDA 13의 조합으로 리눅스에서도 macOS 수준의 통합 메모리 관리를 지원하게 됐다. 게이밍 PC급 하드웨어로 로컬 AI 추론이 가능해진 셈.

ai-ml

PyTorch 2.11 릴리스

PyTorch 2.11이 2,723개 커밋, 432명 기여자 규모로 릴리스됨. FlashAttention-4 백엔드로 Hopper/Blackwell GPU에서 최대 3.2배 속도 향상, 분산 학습용 Differentiable Collectives, CUDA 13 기본 전환, TorchScript 공식 deprecated 등이 주요 변경사항임.