KV cache 양자화, Gemma 4가 먼저 흔들린 이유
LocalLLaMA가 이 글에 반응한 이유는 q8_0 KV cache가 늘 무난하다는 통념이 깨졌기 때문이다. Gemma 4는 Qwen 3.6보다 훨씬 빨리 품질이 무너졌고, 스레드는 바로 SWA cache와 긴 context 영향으로 옮겨갔다.
원문: Gemma 4 and Qwen 3.6 with q8_0 and q4_0 KV cache: KL divergence results 원문 보기 →
“q8_0이면 거의 손실 없다”는 말부터 깨졌다
r/LocalLLaMA가 이 글에 몰린 이유는 단순 benchmark 표가 아니었다. 많은 로컬 추론 사용자들이 사실상 상식처럼 받아들이던 “q8_0 KV cache는 거의 무손실”이라는 문장을 정면으로 흔들었기 때문이다. 링크된 LocalBench 글은 Gemma 4와 Qwen 3.6을 같은 환경에서 비교했고, 결론은 모델마다 민감도가 전혀 다르다는 것이었다.
실험 설정은 비교적 깔끔하다. 동일한 BF16 GGUF를 같은 머신에서 세 번 로드해 f16, q8_0, q4_0 KV cache만 바꿨고, 약 250,000 tokens 규모 데이터셋에서 top-40 log-probability 분포의 KL divergence를 계산했다. 글에 따르면 q8_0는 cache 메모리를 절반으로, q4_0는 4분의 1로 줄인다. 그런데 결과는 균일하지 않았다. Gemma 31B는 q8_0에서 KL 0.108, Gemma 4 26B A4B는 q8_0에서 0.377, q4_0에서 1.088까지 치솟았다. 반면 Qwen 3.6 계열은 q8_0에서 둘 다 0.04 이하, q4_0도 0.087~0.117 범위로 상대적으로 버텼다.
커뮤니티가 바로 물은 것
상위 댓글은 숫자를 그대로 믿고 끝내지 않았다. 가장 점수가 높았던 반응은 Gemma 쪽 열화가 SWA cache를 계속 양자화한 결정과 연결될 수 있다고 추정하며, 실제 downstream task에서 영향이 얼마나 커지는지 궁금하다고 적었다. 다른 댓글들은 이 측정이 30k 안팎 context에서 나왔는데 100k, 200k에서는 어떻게 달라지는지 물었다. 또 몇몇 사용자는 Gemma의 분포가 assistant turn 바깥에서 유독 더 혼란스럽게 보인다고 말하며, 측정 구간과 methodology 세부를 캐물었다. 커뮤니티가 이 글을 반긴 이유는 바로 이런 운영적 가치 때문이다. ‘무슨 모델이 더 좋나’보다 ‘어느 모델이 cache precision에 얼마나 취약한가’가 로컬 배치에는 더 직접적이다.
왜 중요한가
로컬 LLM 운용에서는 cache precision과 context length를 종종 모델과 무관한 범용 손잡이처럼 다룬다. 이 글은 그 습관을 깨뜨린다. 같은 q8_0라도 Gemma 4와 Qwen 3.6의 손실 구조가 전혀 다르고, long document나 tool calling 같은 범주별 손상도 다르게 나타난다. 결국 로컬 추론 최적화는 “무조건 더 낮은 정밀도”가 아니라, 모델별 민감도와 실제 workload를 같이 봐야 한다. LocalLLaMA가 이 포스트를 빠르게 끌어올린 것도 그 현실감 때문이다. 메모리를 아끼는 선택이 언제는 거의 공짜지만, 언제는 품질을 먼저 무너뜨린다는 사실이 숫자로 드러났다.
관련 기사
Reddit가 주목한 llama.cpp의 attn-rot, 저비용 quantization 개선
r/LocalLLaMA는 llama.cpp PR #21038 병합 소식을 빠르게 끌어올리며, Hadamard 기반 회전으로 Q, K, V를 처리하는 방식이 TurboQuant 계열 이득을 더 낮은 마찰로 가져올 수 있다고 보고 있다. 포인트는 새 quantization format 없이 기존 스택에 붙는다는 점이다.
Reddit가 주목한 llama.cpp의 attn-rot, KV cache quantization 품질을 싸게 끌어올릴까
LocalLLaMA에서 화제가 된 attn-rot는 Hadamard rotation으로 Q, K, V를 회전시켜 KV cache quantization 품질을 높이려는 llama.cpp PR이다. 새로운 format을 만들지 않고도 perplexity를 크게 줄일 수 있다는 점이 핵심이다.
r/LocalLLaMA가 주목한 TurboQuant, KV cache 압축으로 local LLM 한계 낮추나
r/LocalLLaMA에서 주목받은 TurboQuant는 KV cache를 3-bit로 압축해 memory 사용량을 최소 6배 줄일 수 있다는 Google Research 결과를 다시 끌어올렸다. 관건은 이 기법이 실제 local inference stack에 통합돼 long-context 성능과 운영 비용을 얼마나 바꿀 수 있느냐다.