LocalLLaMA가 주목한 TurboQuant 구현, sparse V dequant로 32K decode 22.8% 개선

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_0 KV 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.