0xSero/turboquant
TurboQuant: Near-optimal KV cache quantization for LLM inference (3-bit keys, 2-bit values) with Triton kernels + vLLM integration
它解决了什么问题
TurboQuant 解决了在 LLM 推理过程中键值(KV)缓存带来的高内存开销问题,这通常会限制最大上下文长度以及 GPU 能处理的并发请求数量。它提供了一种压缩 KV 缓存的方法,可在不显著牺牲模型质量的情况下释放 VRAM。
它如何工作
TurboQuant 使用多种技术组合来压缩 KV 缓存条目:
- 随机正交旋转:将信息分散到各个维度,使量化更高效。
- Lloyd-Max 标量量化:对旋转后的值应用最优标量量化。
- QJL 投影:处理每个维度的残差符号位。
- 分组量化:使用每组的缩放因子和零点压缩值(支持 2 位或 4 位)。
- 位打包:将多个值打包到单个字节中,以最大化存储效率。
它已集成到 vLLM 中,并包含用于解码注意力的融合 Triton 内核,确保估计的内积保持无偏。
适用人群
需要在 VRAM 有限的硬件(如 RTX 3090/5090 GPU)上扩展上下文窗口或提高吞吐量的大型语言模型(LLM)开发者和研究人员。
主要亮点
- 显著的 VRAM 节省:在纯密集型 Transformer 上可实现高达 4.4 倍的压缩,释放大量 GPU 内存(例如,在 4-GPU 配置下,Qwen3.5-27B 可释放 30 GB)。
- 上下文扩展:提升最大 token 容量(例如,从约 457k 提升至约 914k)。
- 近乎无损的键压缩:3 位和 4 位键压缩保持近乎完美的余弦相似度。
- vLLM 集成:包含适用于 vLLM 0.18.0 的猴子补丁适配器。
- 理论验证:包含验证论文中 MSE 误差界限和无偏性声明的测试。
该方法通过正交旋转和最优量化显著降低了 VRAM 使用,同时保持了模型性能——@username
相关
- 项目
- 项目
- 项目
- 项目