0xSero/turboquant

TurboQuant: Near-optimal KV cache quantization for LLM inference (3-bit keys, 2-bit values) with Triton kernels + vLLM integration

它解決了什麼問題

TurboQuant 解決了 LLM 推論過程中 Key-Value (KV) 快取的高記憶體開銷問題,這通常會限制 GPU 能處理的最大上下文長度與併發請求數量。它提供了一種壓縮 KV 快取的方法,在不顯著犧牲模型品質的情況下釋放 VRAM。

運作原理

TurboQuant 使用結合多種技術來壓縮 KV 快取條目:

  • Random Orthogonal Rotation:將資訊分散到各個維度,使量化更有效率。
  • Lloyd-Max Scalar Quantization:對旋轉後的數值應用最佳標量量化。
  • QJL Projection:處理每個維度的殘餘符號位元。
  • Group Quantization:使用每組的縮放比例與零點來壓縮數值(支援 2-bit 或 4-bit)。
  • Bit-packing:將多個數值打包進單個位元組,以最大化儲存效率。

它與 vLLM 整合,並包含用於 decode attention 的 fused Triton kernels,確保估計的內積保持無偏性。

對象是誰

需要擴展上下文窗口或在 VRAM 有限的硬體(例如 RTX 3090/5090 GPUs)上提高吞吐量的開發者與研究人員。

重點亮點

  • 顯著的 VRAM 節省:在純 dense transformers 上可實現高達 4.4 倍的壓縮,釋放大量 GPU 記憶體(例如在 4-GPU 設定下,針對 Qwen3.5-27B 可釋放 30 GB)。
  • 上下文擴展:增加最大 token 容量(例如從 ~457k 增加到 ~914k tokens)。
  • 近乎無損的 Key 壓縮:3-bit 與 4-bit 的 key 壓縮可維持近乎完美的餘弦相似度。
  • vLLM 整合:包含一個針對 vLLM 0.18.0 的 monkey-patch adapter。
  • 理論驗證:包含驗證論文中 MSE 失真界限與無偏性主張的測試。

相關

  • 專案
  • 專案
  • 專案
  • 專案