Qwen3.6 27B의 놀라운 KV 캐시 양자화 테스트 결과 (Turbo3/4 vs F16 vs Q8 vs Q4)
Qwen3.6 27B's surprising KV cache quantization test results (Turbo3/4 vs F16 vs Q8 vs Q4)
핵심 요약
Qwen3.6 27B 모델에서 KV 캐시 양자화(Q4)가 성능 저하 없이 VRAM을 절약할 수 있음을 실험으로 증명함.
- KV 캐시 양자화 — 27B 이상 밀집 모델에서 Q4_0 설정은 F16과 거의 동일한 성능을 보여줌.
- Turbo3 활용 — 프로그래밍 작업 시 200k 컨텍스트를 확보하면서도 허용 가능한 수준의 성능을 유지함.
- MoE 모델 주의 — 35B MoE 모델은 3비트 캐시에서 루프나 오류가 발생할 수 있어 주의가 필요함.
- 테스트 방법론 — llama-perplexity 도구를 사용하여 PPL 변화를 측정하고 양자화의 안전성을 검증함.
Qwen3.6-27B-Q5_K_M을 출시 이후부터 turbo3 KV 캐시와 함께 사용해 왔는데, 전혀 문제(루프, 메모리 손실 등)가 없었습니다. 하지만 대부분의 경우 K 캐시 압축이 권장되지 않는다는 점도 알고 있습니다.
그래서 이게 어떻게 가능한지 확인하고 싶었고, 이 테스트에 llama-perplexity.exe가 적합한 도구라는 것을 알게 되었습니다. 저는 제 컴퓨터에서 빌드한 TheTom의 turboquant_plus를 사용하고 있습니다. 아시다시피 지금은 미리 빌드된 릴리스를 다운로드할 수도 있습니다. 저는 3090 eGPU를 사용 중이며 200k 컨텍스트를 활용하고 있습니다.
도구 사용법은 다음과 같습니다:
먼저 KV 캐시 양자화 없이 실행했습니다(PowerShell):
.\llama-perplexity.exe -m models/unsloth/Qwen3.6-27B-GGUF/Qwen3.6-27B-Q5_K_M.gguf -f wiki.test.raw
7~8분 정도 지나면 다음과 같은 결과가 나옵니다: Final estimate: PPL = 6.9233 +/- 0.04564
그런 다음 양자화 값을 적용하여 반복할 수 있습니다.
.\llama-perplexity.exe -m models/unsloth/Qwen3.6-27B-GGUF/Qwen3.6-27B-Q5_K_M.gguf -f wiki.test.raw --cache-type-k turbo3 --cache-type-v turbo3
(wiki.test.raw는 이 테스트에 적합한 테스트 파일이며, 어디서든 다운로드할 수 있습니다)
결과는 전혀 예상치 못한 것이었습니다. 모든 양자화 설정이 허용 범위 내에서 잘 작동했습니다. 저는 로컬 LLM 초보자라서 이게 어떻게 가능한지 이해하려고 노력했고, 제가 이해한 바로는 20B 파라미터 이상의 밀집 모델이고 Q4 이상이라면 KV 캐시 양자화에 덜 민감할 만큼 충분히 지능적이라는 것입니다. 35B 모델에서는 turbo3가 잘 작동하지 않았고, 아마도 모든 소형 모델은 고도로 압축된 V 캐시에서 완전히 혼란을 겪을 것이라고 확신합니다.
이제부터는 AI로 전환하겠습니다. Gemini에 제 결과를 붙여넣었더니 대화 내용을 바탕으로 멋지게 포맷된 포스트 아이디어를 제안해 주었고, 영어가 모국어가 아닌 저에게는 사용하기 아주 좋았습니다.
Perplexity(PPL)란 무엇인가?
벤치마킹을 처음 접하는 분들을 위해 설명하자면, Perplexity는 모델이 텍스트 시퀀스에 대해 얼마나 '놀라는지'를 측정하는 척도입니다.
- 낮을수록 좋습니다. * Wikitext에서 10.0 미만의 점수는 일반적으로 매우 일관되고 '똑똑한' 모델의 지표입니다. 수정: 일부 경우에는 사실이 아닐 수 있음 - 댓글 참조
- 우리는 **델타(변화)**를 봅니다. 양자화 설정이 PPL을 0.1~0.2 이상 증가시키면 긴 대화에서 '취한' 행동이나 루프가 나타날 가능성이 높습니다.
결과
결과는 저를 놀라게 했습니다. Q4가 사용할 수 없다는 '일반적인 통념'은 27B+ 밀집 모델 클래스에서는 신화인 것으로 보입니다.
| KV 캐시 설정 | Perplexity (PPL) | Delta vs. F16 | Verdict |
| :--- | :--- | :--- | :--- |
| **F16 (Baseline)** | 6.9233 | - | Reference |
| **Q8_0** | **6.9193** | **-0.0040** | **Identical (Margin of Error)** |
| **Q4_0** | **6.9381** | **+0.0148** | **Transparent (Highly Recommended)** |
| **Turbo4 (4-bit)** | 6.9483 | +0.0250 | Excellent |
| **Turbo3 (3-bit)** | 7.0121 | +0.0888 | Great for Extreme Context |

