Google TurboQuant:KV Cache 壓縮 6x 的技術突破、社群狂歡、與被掩蓋的學術爭議
先講結論
TurboQuant 的技術是真的。社群實作驗證了它的效果。但圍繞它的敘事有三層需要拆解:Google 官方的行銷語言把 best case 當 only case 來寫;社交媒體的傳播進一步誇大了影響;而 RaBitQ 原作者的公開聲明,則揭露了這篇論文在學術歸因上的嚴重問題。
身為一個每天在搞 LLM 推理效能的工程師,我想把這三層都講清楚。
TurboQuant 到底是什麼?

先把技術講清楚。
KV Cache:AI 的短期記憶體危機
每次你跟 AI 對話,模型不只讀你最新的訊息——它會重讀整段對話的每一個 token。為了避免每次都重新計算,Transformer 會把中間結果存在 KV cache 裡,這就是模型的「短期工作記憶體」。
問題是:這個記憶體隨著 token 數量線性增長。
一個 70B 模型處理 128K token 的 prompt,光 KV cache 就吃掉大約 40 GB 的 GPU 記憶體——模型權重還沒算進去。在長上下文場景下,cache 比模型本身還佔記憶體。
這就是業界說的 Memory Wall。現代 LLM 是 memory-bound 而不是 compute-bound——生成一個 token 的數學運算很便宜,但從記憶體搬資料到計算核心的過程很貴。
這個問題直接限制了:
- 一張 GPU 能服務多少用戶
- 上下文窗口能開多長
- 大規模推理的成本能壓多低
TurboQuant 的兩階段壓縮
Google Research 在 2026 年 3 月 24 日發表了 TurboQuant(ICLR 2026 論文),用兩個互補的技術把 KV cache 從 16 bits 壓到 3 bits:
第一階段:PolarQuant
把向量轉換到極座標系,讓數值分布變得可預測。這樣就可以預先計算量化器,不需要校準數據。關鍵是:它消除了過去所有壓縮方法浪費在壓縮元資料上的 1-2 bits 額外開銷。
第二階段:QJL(Quantized Johnson-Lindenstrauss)
用 1-bit 殘差修正消除注意力分數中的偏差。壓縮後的輸出在統計上接近全精度。
兩個技術疊在一起的關鍵差異是:之前的方法壓縮了資料但加了元資料開銷,在極端壓縮率下反而吃掉壓縮的收益。TurboQuant 的額外開銷趨近於零。
而且是 plug-and-play:任何模型都能用,不需要重新訓練、不需要校準、不需要微調。Llama、Mistral、Gemma,直接套上去就能跑。
Google 官方宣稱 vs 實際情況
Google Research blog 宣稱「6x 記憶體縮減、8x 加速、零精度損失」。對照社群實測數據來看:
記憶體縮減 6x — 大致正確。Google 說「at least 6x reduction」。社群實作回報 3.8x-5.7x(取決於 bit width 和模型)。理論 6x 和實務 4-5x 之間有落差,但仍然非常顯著。
8x 加速 — 需要加星號。這是 4-bit TurboQuant vs 32-bit FP32 的比較,在 H100 上的 attention logits 運算。跟標準 FP16 baseline 比,加速幅度會小得多。而且只是 attention 部分的加速,不是完整推理的端到端加速。預期 2-4x 的實際加速比較合理。
零精度損失 — 行銷語言。論文原文的措辭是:3.5 bits 時「絕對品質中立」(absolute quality neutrality),2.5 bits 時有「邊際退化」(marginal degradation)。社群實作回報注意力保真度約 99.5%,cosine similarity > 0.96。「近乎零損失」比「零損失」更準確。
技術本身很強,但 Google 把 best case 當 only case 來寫。
社群反應:250+ 實作,數小時內從數學重建
Google 只發了論文,沒釋出任何官方 code。但 GitHub 上在 blog 發布後數小時就出現了可用的實作,最終超過 250 個 repository。涵蓋 PyTorch、Triton kernels、MLX(Apple Silicon)、Rust、llama.cpp、vLLM、CUDA。
有人用 TurboQuant 在 Mac mini 上跑 Qwen3 512K context。
這說明兩件事:數學寫得夠乾淨,可以被獨立重現;問題夠痛,沒人願意等官方 code。
不過有一個重要警告:早期實作者發現,naive 的 QJL 實作會產生垃圾輸出。沒有做好 bias correction,量化誤差會累積到模型不可用。數學公式必須精確遵循。
最猛的社群實作:TurboQuant+
在 250+ 個社群實作裡,最值得講的是 Tom Turney 的 turboquant_plus(883 stars)。
Google 只發了論文和數學公式,沒釋出任何 code。Tom 一個人讀完數學,打開終端機,用 7 天從零建出了完整實作——然後做得比 Google 承諾的還快。
7 天的工程節奏:
- Day 1-3:核心演算法、511+ 個測試、Python prototype
- Day 3-5:C 移植進 llama.cpp、Metal GPU kernels
- Day 5-7:速度優化,prefill 從 739 tok/s 拉到 2747 tok/s
那個 3.7x 的加速怎麼來的?純工程優化:fp32 → fp16 Walsh-Hadamard Transform、half4 向量化蝶形運算、graph-side rotation、block-32 儲存格式。一步一步把瓶頸幹掉。
然後他在論文之上加了自己的研究:
| 擴展技術 | 效果 |
|---|---|
| Sparse V | 跳過 90% 低權重的 value 解壓縮,32K context 加速 22.8%,perplexity 零退化 |
| Asymmetric K/V | key 保持高精度、value 壓更狠,壓縮和品質兼顧 |
| Temporal decay | 舊 token 自動降低精度,長上下文額外省 30-34% 記憶體 |
| Layer-adaptive | 最後 8 層保持 q8_0 品質,其餘層壓縮,3.5x 壓縮率 |
實測數據(M5 Max 128GB, Qwen3.5-35B):
| 格式 | 壓縮倍數 | Perplexity 變化 |
|---|---|---|
| turbo4 (4-bit) | 3.8x | +0.23% |
| turbo3 (3-bit) | 4.6x | +1.06% |
| turbo2 (2-bit) | 6.4x | +6.48% |
35B 模型在 MacBook 上跑 4.6x 壓縮的 cache。NIAH 檢索測試 turbo4 通過率 93.9%,比 q8_0 baseline(90.9%)還高。
一個有意思的細節:他的旋轉高斯化效果,把原始 kurtosis 從 900.4 降到 2.9——理論高斯值是 3.0。這代表 PolarQuant 的數學在實作中幾乎完美重現。
這個案例說明了什麼?
不是 Google 的論文有多強(雖然確實強),而是:當問題夠痛、數學夠乾淨的時候,一個有能力的工程師可以在一週內把論文變成可用的產品。Google 到現在還沒釋出官方 code,但社群已經跑在前面了。
這才是開源生態的真正力量。
壓縮之路的盡頭:接近理論極限
論文有一個容易被忽略但最重要的貢獻:它用數學證明了 TurboQuant 的失真率在資訊理論下界的常數因子(約 2.7x)以內。
更精確的說法是:TurboQuant 證明了 KV cache 壓縮的天花板在哪裡,而它已經很接近那個天花板了。
整理一下 KV cache 壓縮的演進:
| 方法 | 壓縮倍數 |
|---|---|
| 無壓縮 | 1x(baseline) |
| 基礎量化 | 2-3x |
| Outlier-aware 方法 | 3-4x |
| TurboQuant(實際系統) | 4-4.5x |
| TurboQuant(理論極限) | ~6x |
| Shannon 理論下界 | ~6-7x |
看到了嗎?TurboQuant 已經把壓縮推到理論極限的 2.7x 以內。剩下的空間非常有限。
這才是這篇論文最重要的訊息:下一個 AI 推理效率的突破,不會來自壓縮。
它會需要完全不同的路徑:
- 新的注意力機制(像 MSA 把記憶長進 attention 裡)
- 新的硬體架構(像 Taalas 把模型燒進晶片)
- 新的上下文管理方式(像 RLM 的遞迴語言模型)
我之前寫過 Taalas ASIC 和 MSA Memory Sparse Attention,它們走的就是完全不同的路線。TurboQuant 等於是幫壓縮路線畫了句號——做得漂亮,但也說明了:這條路快到頂了。
Jevons Paradox:壓縮 6x,需求增加 60x
這裡要提一個經濟學上的 Jevons Paradox。
當一個資源變得更便宜,人們不會用更少,而是用更多。
省了 6x 記憶體?企業會跑 6x 更複雜的模型。開放以前太貴的場景——即時影片分析、百萬 token 的文件處理、24/7 運行的多模態 agent。
一張 GPU 本來只能服務一個 session,現在能服務六個。但需求不會停在六個,會長到六十個。
DeepSeek 的時候就發生過同樣的事。所有人都說更便宜的訓練會殺死 GPU 需求。結果呢?更多人負擔得起訓練,所以更多人去訓練了。需求反而爆發。
所以即使 TurboQuant 真的讓記憶體效率提升 6x,記憶體的總需求量大概率還是會上升。
你的硬體剛剛免費升級了
這是 TurboQuant 對個人用戶最直接的影響:
- Mac Mini:100K token 對話不掉品質。$600 機器跑一整本書的上下文
- 手機:32K+ token 上下文窗口,純軟體解決,不需要換硬體
- RTX 4090:原本需要多卡的模型,現在單卡能跑
- 企業:長上下文任務的 GPU 數量可能砍半,雲端帳單省 50%+
本地 AI 和雲端訂閱之間的差距,剛剛被大幅縮小了。
學術爭議:RaBitQ 作者的公開澄清
就在 TurboQuant 社群狂歡的同時,一篇來自蘇黎世聯邦理工學院(ETH Zürich)博士後高健揚的公開聲明,給這個故事加了一層完全不同的色彩。
高健揚是 RaBitQ 系列論文的第一作者——這是一種 2024 年發表的高維向量量化方法,已在資料庫頂級會議 SIGMOD 2024/2025 發表。他的公開聲明指出 TurboQuant 論文存在三個嚴重問題。
問題一:系統性迴避方法相似性
RaBitQ 和 TurboQuant 的核心方法有直接的結構聯繫——兩者都在量化前對向量施加隨機旋轉(Johnson-Lindenstrauss 變換)。這是兩篇論文最核心、最接近的部分。
但 TurboQuant 論文從未正面說明這個結構與 RaBitQ 的一致性。
更值得注意的是時間線:2025 年 1 月,TurboQuant 的第二作者 Majid Daliri 主動聯繫 RaBitQ 團隊,請求幫助調試他基於 RaBitQ C++ 代碼實現的 Python 版本。這代表 TurboQuant 團隊對 RaBitQ 的技術細節有充分了解。但在隨後發表的論文中,他們把 RaBitQ 描述為「grid-based PQ」,並忽略了 RaBitQ 中核心的 random rotation 步驟。
ICLR 的一位審稿人也獨立指出:「RaBitQ and variants are similar to TurboQuant in that they all use random projection」,要求更充分的討論。但最終版本不僅沒有加入討論,反而把對 RaBitQ 的描述從正文移到了附錄。
TurboQuant 團隊的回應是:「隨機旋轉和 JL 變換已經是標準技術,我們無法引用每一個使用它們的方法。」
問題二:錯誤描述 RaBitQ 的理論結果
TurboQuant 論文在沒有提供任何論據的情況下,把 RaBitQ 的理論保證定性為「次優(suboptimal)」,歸因於「較粗糙的分析(loose analysis)」。
但事實是:RaBitQ 擴展版論文(Theorem 3.2)已嚴格證明其誤差界達到了理論計算機頂級會議論文(Alon-Klartag, FOCS 2017)給出的漸近最優誤差界。RaBitQ 團隊也因此被邀請到 FOCS Workshop 做報告。
高健揚在 2025 年 5 月就通過郵件逐條澄清了這個錯誤,TurboQuant 第二作者明確表示已告知全體共同作者。但這個錯誤定性從 arXiv 到 ICLR 投稿到被接收到大規模宣傳,始終未被修正。
問題三:不公平的實驗比較
TurboQuant 論文用劣化的實作、關閉多線程的單核 CPU 測試 RaBitQ,卻用 A100 GPU 測試 TurboQuant。報告的 RaBitQ 量化速度比官方開源實作慢了數個數量級。
Majid Daliri 本人在郵件中承認:「we were using a single-core CPU instance, and multiprocessing was indeed disabled」。而且他用的不是 RaBitQ 的官方 C++ 實作,而是自己翻譯的 Python 版本。
也就是說,讀者看到「RaBitQ 比 TurboQuant 慢數個數量級」這個結論,是建立在:自己翻譯的 Python 代碼 + 單核 CPU vs. 官方 CUDA + A100 GPU 的比較之上。這些實驗條件未在論文中充分披露。
這件事為什麼重要
高健揚已經在 ICLR OpenReview 發布公開評論,並向 ICLR General Chairs、PC Chairs、Code and Ethics Chairs 提交正式投訴。他計劃在 arXiv 發布詳細的技術比較報告。
截至目前,TurboQuant 第一作者 Amir Zandieh 僅承諾修正問題二和問題三,但拒絕修正問題一(討論與 RaBitQ 的技術相似性),而且表示要等 ICLR 2026 正式會議結束後才做修正。
這件事對我們理解 TurboQuant 有什麼影響?
技術本身仍然有價值——KV cache 壓縮的實際效果是社群實作已經驗證的。但「Google 從零發明了接近理論極限的壓縮演算法」這個敘事,現在看來需要加一個很大的星號:核心方法(random rotation + vector quantization)的組合,RaBitQ 在 2024 年就已經提出並證明了最優性。
一篇論文的技術含量和它的學術敘事是兩回事。 TurboQuant 可能確實在 KV cache 這個特定應用場景做了有價值的工程優化,但把先行工作描述為「次優」、用不公平的實驗條件做比較、然後用 Google 的傳播力把這個敘事推向數千萬人——這不是工程問題,這是學術倫理問題。
我的判斷
TurboQuant 在 KV cache 壓縮的工程應用上確實有價值,社群的實作速度和實測數據證明了這一點。但圍繞它的敘事,有兩層問題需要拆開看:
第一層:Google 的行銷語言。「零精度損失」、「8x 加速」這些說法在特定條件下成立,但被當成通用結論來傳播。論文原文用的是「near-optimal」和「marginal degradation」,blog 用的是「zero accuracy loss」。差距不大,但在數千萬曝光量下,這個差距會被放大成共識。
第二層:學術歸因的爭議。核心方法(random rotation + vector quantization)的組合,RaBitQ 在 2024 年就已經提出並證明了最優性。TurboQuant 論文對先行工作的描述存在嚴重問題,而 Google 的傳播力把一個有爭議的學術敘事推向了數千萬人。
作為工程師,我們要學會分辨兩件事:技術的實際價值,和圍繞技術的敘事是否公正。
TurboQuant 的技術信號是:KV cache 壓縮快到天花板了,下一個突破要走不同的路。 但這個故事也提醒我們:大公司的傳播力不等於學術正確性。當一篇論文被數千萬人看到,裡面每一個「次優」、每一個不公平的實驗比較,都會被放大成共識。這才是最需要被查核的東西。
延伸閱讀
如果你對 AI 推理效率的不同路線感興趣:
- 把 LLM 直接燒進晶片:Taalas 的瘋狂賭注 — 硬體路線:消除記憶體頻寬瓶頸
- MSA:4B 模型打贏 235B RAG 系統 — 架構路線:把記憶長進注意力機制
- Gemini 3.0 Flash 不講理霸榜的真相 — Google 的推理效率策略脈絡
常見問題 Q&A
Q: TurboQuant 可以直接用在我的專案嗎?
Google 沒有釋出官方 code,但社群已經有 250+ 個實作。目前最成熟的是 turboquant_plus(883 stars,整合進 llama.cpp,支援 Metal/CUDA),以及 PyTorch + Triton 版本和 MLX 版本。不過要注意:naive 的 QJL 實作會產生垃圾輸出,必須精確遵循論文的 bias correction 步驟。
Q: 8x 加速是真的嗎?
在特定條件下是真的(H100、4-bit vs 32-bit FP32、attention logits 部分)。但實際使用中,你的完整推理加速會低於 8x,因為推理還包括其他步驟。預期 2-4x 的端到端加速比較合理。
Q: 這對本地跑模型的人來說意味著什麼?
很大的好消息。TurboQuant 讓你用同樣的硬體跑更長的上下文或更大的模型。Mac 用戶和消費級 GPU 用戶會是最大的受益者——之前跑不動的東西,現在可能跑得動了。
Q: RaBitQ 的爭議會影響 TurboQuant 的實用性嗎?
不會。學術歸因的爭議和技術的實用性是兩回事。社群實作已經驗證了 TurboQuant 在 KV cache 壓縮上的效果。但如果你在寫論文或做技術報告引用 TurboQuant,建議同時引用 RaBitQ(arXiv:2405.12497),因為核心方法的 random rotation + vector quantization 組合,RaBitQ 是先行工作。