TurboQuant는 KV 캐시용이 아니다: Qwen3.5-27B를 Q4_0급 품질로 16GB 5060 Ti에 담아내다
핵심 요약
27B 모델을 16GB VRAM에서 구동하기 위해 TurboQuant 기반의 새로운 양자화 방식을 개발하고 공유함.
- TQ3_1S 양자화 — Q4_0 대비 10% 작은 크기로 16GB VRAM에서 27B 모델 구동 가능
- 기술적 접근 — Walsh-Hadamard 회전과 8-centroid 양자화 기법을 llama.cpp에 적용
- 성능 논쟁 — PPL 지표의 신뢰성과 KLD 기반 평가 방식에 대한 커뮤니티의 기술적 비판
- 하드웨어 조언 — VRAM 확보를 위해 AMD 라데온 등 대안 하드웨어 활용 제안
저는 크리스마스 즈음에 RTX 5060 Ti 16GB를 샀고, 한 가지 목표를 세웠습니다. API 비용을 내지 않고도 강력한 모델을 로컬에서 내 카드에 돌리는 것이었죠. 저는 open claw로 로컬 AI를 테스트해 왔습니다.
저는 양자화에 대한 배경지식이 전혀 없었습니다. 두 달 전까지만 해도 llama, lmstudio, ollama에 대해 알지 못했죠.
저는 그저 평범한 Q3급 타협안보다 나은 것을 원했습니다(벤치마크는 제 첫 게시물 참조). 24GB 카드를 사고 싶을 때가 많았지만, 가격을 보고는 금방 마음을 접었습니다.
TurboQuant 논문이 나오고, 일부에서 KV 캐시에서 메모리를 절약할 수 있다는 것을 보여주었을 때, 저는 같은 아이디어가 KV/캐시뿐만 아니라 **가중치(weights)**에도 도움이 될 수 있을지 궁금해졌습니다.
추신. CUDA 지원으로 KV 작업을 거의 끝낼 뻔했는데 누군가 저보다 먼저 해냈더군요.
퇴근 후 긴 밤(새벽 2시까지)을 보낸 끝에, 3.5비트 가중치 포맷인 TQ3_1S를 사용하는 llama.cpp 포크가 탄생했습니다:
- Walsh-Hadamard 회전
- 8-centroid 양자화
- 이중 하프 블록 스케일
llama.cpp의 CUDA 런타임 지원
이 작업은 더 넓은 변환 기반 양자화 라인, 특히 RaBitQ 스타일의 Walsh-Hadamard 회전 아이디어와 최근의 TurboQuant 결과(Tom)에서 영감을 받았습니다. 제가 테스트하고 싶었던 것은 같은 기하학적 구조가 KV/캐시뿐만 아니라 가중치에도 도움이 될 수 있는지였습니다.
Qwen3.5-27B에 대한 주요 결과
Q4_0:7.2431 +/- 0.04822TQ3_1S:7.2570 +/- 0.04802
이는 전체 wiki.test.raw 패스(580 청크, c=512)에서 +0.0139 PPL, 약 0.19%의 차이일 뿐입니다.
크기
Q4_0: 약14.4 GBTQ3_1S: 약12.9 GB
따라서 TQ3_1S는 Q4_0 품질을 유지하면서 약 10% 더 작습니다.
저에게 실질적인 요점은 간단합니다:
TQ3_1S는 제 16GB RTX 5060 Ti에 완전히 들어갑니다.Q4_0은 같은 설정에서 GPU에 완전히 들어가지 않습니다.
그러니 저는 일반적인 상황에서 "Q4_0보다 낫다"고 주장하는 것이 아닙니다. 저는 더 좁고 유용하다고 생각하는 무언가를 주장하는 것입니다:
- near-
Q4_0품질


