LocalLLaMA가 주목한 TurboQuant 구현, sparse V dequant로 32K decode 22.8% 개선
Original: Skipping 90% of KV dequant work → +22.8% decode at 32K (llama.cpp, TurboQuant) View original →
LocalLLaMA 글이 전한 핵심
2026년 3월 27일 LocalLLaMA에는 turboquant_plus를 소개하는 self-post가 올라왔다. 이 저장소는 Google의 TurboQuant 아이디어를 llama.cpp에 옮기려는 open-source 구현과, sparse V dequantization이라는 새 kernel 최적화 메모를 함께 제공한다. 요지는 단순하다. flash attention decode에서는 긴 context로 갈수록 attention weight 대부분이 너무 작아 V 값을 dequantize해도 실익이 거의 없다. 그래서 모든 dequant를 조금 더 빠르게 만드는 대신, attention weight가 1e-6보다 작은 위치의 V dequant 자체를 건너뛴다.
왜 흥미로운가
저장소 설명에 따르면 quantized KV cache는 memory 절약의 대가로 decode 단계의 dequant overhead를 끌고 온다. 저자는 Apple Silicon에서 그 overhead가 길어진 context에서 충분히 큰 병목이 된다고 본다. 제안된 수정은 의외로 작다. V path 안에 3줄짜리 조건문을 추가하는 수준이다. 하지만 공개한 결과는 작지 않다. 동봉된 markdown writeup에 따르면 M5 Max에서 Qwen3.5-35B-A3B와 turbo3 cache를 썼을 때 32K context decode가 47.0 tok/s에서 57.7 tok/s로 올라가며 22.8% 개선됐다고 한다. 표준 q8_0 KV cache에서도 같은 아이디어가 5% decode 개선을 보였다고 적어, 특정 compression format만의 요령이 아니라는 주장도 함께 붙는다.
품질 검증과 해석
흥미로운 점은 이 글이 속도 수치만 내세우지 않는다는 것이다. writeup은 perplexity와 NIAH 검증도 함께 제시한다. WikiText-2 perplexity는 사실상 변하지 않았고, single-needle retrieval은 sparse V 적용 시 7/9에서 9/9로 개선됐다고 한다. 저자의 해석은 이렇다. attention weight가 극도로 작은 위치는 유용한 signal보다 quantization noise를 더 많이 남길 수 있고, 이런 위치의 V accumulation을 아예 빼는 편이 결과를 더 깨끗하게 만들 수 있다는 것이다.
- 모델과 하드웨어: Apple M5 Max의 llama.cpp Metal kernel 위에서 Qwen3.5-35B-A3B를 사용.
- 주요 개선:
turbo3기준 32K context decode +22.8%. - 일반화 주장: 같은 gating 아이디어가
q8_0KV decode에도 효과를 보였음.
물론 이것이 이미 upstream standard가 된 것은 아니다. 저장소는 CUDA를 포함한 더 넓은 검증이 진행 중이라고 적고 있다. 그럼에도 이 LocalLLaMA 글이 의미 있는 이유는 LLM systems work의 전형적인 패턴을 잘 보여주기 때문이다. instruction-level 최적화가 hardware floor에 부딪히면, 더 나은 답은 연산을 더 빠르게 만드는 것이 아니라 아예 없애는 것이다. 이번 커뮤니티 실험은 attention sparsity 자체를 그 레버로 사용했다.
Community source: LocalLLaMA discussion. Original materials: repo와 sparse-v-dequant writeup.
Related Articles
점수가 높은 r/LocalLLaMA 글은 TurboQuant를 polar coordinates가 아니라 random rotation 이후 quantization이라는 직관으로 설명했다. 링크된 arXiv paper는 near-optimal distortion rate, residual QJL, 그리고 KV cache에서 3.5 bits per channel quality neutrality를 주장한다.
HN의 논점은 “느리지만 된다”가 아니라 비용과 제어권이었다. 오래된 dual Xeon E5-2690 v2가 ik_llama.cpp 패치로 Gemma 4 26B-A4B를 CPU-only로 돌리며 local inference의 현실선을 다시 그었다.
NVIDIA가 LLM 구조를 GPU tile 크기에 맞추는 설계 원칙을 제시했다. 128 배수 정렬, 256·512 선호, NVFP4와 expert parallelism이 처리량과 지연시간을 함께 좌우한다는 내용이다.