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 失真界限與無偏性主張的測試。
相關
- 專案
- 專案
- 專案
- 專案