KV 캐시 양자화(Quantization) 벤치마크 결과: TurboQuant는 과대평가되었으나 TCQ로 구제됨, q5는 더 주목받아야 하며
요약
RTX 3090 환경에서 Qwen 3.6 27B 모델을 대상으로 KV 캐시 양자화 성능을 PPL과 KLD 지표로 분석한 벤치마크 결과입니다. 분석 결과, PPL은 양자화 손실을 과소평가하는 경향이 있어 도구 호출이나 JSON 구조 유지에 중요한 99.9% KLD 지표를 확인하는 것이 필수적임을 강조합니다.
핵심 포인트
- PPL은 양자화로 인한 성능 저하를 숨기지만, KLD(Kullback–Leibler divergence)는 꼬리 부분의 정밀도 손실을 명확히 드러냄
- TurboQuant는 2-3 bit의 극단적인 저비트 영역에서 TCQ를 통해 유효한 성능을 보여주지만, 4-bit 영역에서는 이점이 적음
- 비대칭형(Asymmetric) KV 양자화가 동일 메모리 사용량의 대칭형(Symmetric) 방식보다 정밀도 면에서 우수함
- 모델 자체의 정밀도가 높을수록 KV 캐시 양자화로 인한 정밀도 손실이 더 크게 나타나는 상관관계가 있음
- VRAM 여유가 없다면 q8_0보다는 q5_0 수준이 효율적인 선택지가 될 수 있음
전직 TurboQuant의 최대 옹호자였으나, 이제는 중간 규모의 니치(niche)를 인지하는 TurboQuant 옹호자가 된 제가 인사드립니다. 오늘은 BeeLlama v0.1.2를 사용하여 단일 RTX 3090으로 PPL(Perplexity) 및 KLD(Kullback–Leibler divergence) 벤치마크 세계를 철저히 탐구한 결과를 제시하고자 합니다. 다른 테스트들을 시도했으나 성공하지 못했던 배경과, 이를 보완하기 위해 PPL 및 KLD를 더욱 철저히 재탐구하게 된 과정도 함께 담았습니다.
테스트는 64k 및 128k 컨텍스트(Context) 환경에서 Qwen 3.6 27B (Q5_K_S 및 IQ4_XS)를 대상으로 진행되었습니다. 즉, 적절한 컨텍스트 길이를 가진 적절한 양자화 모델을 사용한 적절한 테스트입니다. 기본적으로 24GB VRAM을 사용하는 사용자들이 실제로 사용하는 설정이기에 결과가 매우 현실적입니다. 제가 vLLM 연구를 비방할 위치에 있지는 않지만, 일반적인 4-bit 및 5-bit 양자화 모델이 비교 대상에서 빠져 있어 마치 "이미 100만 달러가 있는 사람이 어떻게 투자해서 부자가 될 것인가"를 다루는 책처럼 느껴졌습니다.
저의 발견은 다음과 같습니다:
-
PPL은 꼬리(Tail)를 숨기고, KLD는 이를 드러냅니다.
q4_0를 통해 전체 PPL 범위는bf16보다 0.01 미만으로 유지됩니다. 심지어turbo3_tcq조차 PPL을 약 0.02 정도만 증가시킵니다. 하지만 99.9% KL 발산(KL divergence)은 다른 이야기를 합니다.q5_0(bf16의 34.4% 수준)가q8_0보다 뒤처지는 것은 분명하지만 여전히 나쁘지 않습니다. 그러나q4_0의 꼬리 KLD는q5_0보다 32% 더 나쁩니다. 바로 이 부분이 도구 호출(Tool calls)과 JSON 구조를 망가뜨리는 원인입니다. -
회전(Rotation)이 4-bit에서의 격차를 줄였습니다. llama.cpp는 이미 양자화하기 전에 KV 벡터에 무작위 회전(Random rotation)을 적용하는데, 이는 TurboQuant가 사용하는 기본적인 트릭과 동일합니다. 4-bit 환경에서 turbo4는
q4_0에 비해 품질상의 이점이 없고, 메모리 절약도 거의 되지 않으며, 속도는 17% 더 느립니다. TurboQuant의 가치는 대안이 없는 2-3 bit 영역에 있습니다. -
TCQ가 저비트 영역을 구제합니다.
turbo3_tcq는 일반turbo3보다 일관되게 훨씬 뛰어나며,turbo2_tcq는turbo2보다 훨씬 뛰어납니다. 이들은 공격적인 압축이 필요한 경우에 대한 정당한 해결책입니다. TCQ가 무엇인지 궁금하실 텐데, 해당 기사에서 이 부분도 다루고 있습니다! -
동일한 크기에서 비대칭형(Asymmetric) KV가 대칭형(Symmetric)을 압도합니다.
q5_0/q4_0은q4_1/q4_1과 동일한 메모리를 사용하지만, 모든 테스트 구성에서 99.9% 정밀도(precision) 기준으로 이를 앞섭니다. K가q5_0에 도달한 후에는 다음 유효한 비트가q5_1K가 아닌 V로 할당되어야 합니다. -
모델의 정밀도가 높을수록 캐시 손상이 더 커집니다. 동일한 캐시 양자화(quant) 조건에서
Q5_K_S는IQ4_XS보다 99.9% 정밀도 손실이 3~5% 더 컸습니다. 모델과 KV 캐시 양자화는 독립적이지 않으며, 두 가지 모두 동일한 VRAM 풀(pool)을 공유하므로 어느 한쪽에만 집중하기보다는 두 양자화 수준의 균형을 맞추는 것이 더 좋습니다. -
여유 VRAM이 없다면 q8은 대부분 사치스러운 단계입니다.
bf16KV의 43.8% 수준인q8_0/q5_0은 모든 구성에서 93.7~98.2%의 99.9% 정밀도를 유지합니다. 따라서 53.1%를 차지하는 전체q8_0/q8_0은 어차피 VRAM 부족 문제를 겪지 않는 상황에서는 주로 검증용에 불과합니다.
모든 데이터와 상당한 분석이 포함된 원문 기사는 다음과 같습니다:
https://anbeeld.com/articles/kv-cache-quantization-benchmarks-for-long-context
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기