[摘要与引言] 3 行总结 + 问题提出
3 行总结
- 长上下文 LLM 必须缓存历史 token 的 Key 和 Value,因此 KV cache 会成为真正的 VRAM 瓶颈。
- 老办法: 即便把数压得很短,每个块通常还要附带「如何把短码映射回原始范围」的辅助数字。这些辅助信息往往用 高精度(例如 FP16) 另存,所以 显存未必省得像你想的那么多。
- PolarQuant 先随机打散,再转到极坐标,紧凑地保存角度。不那么依赖那层 沉重的附加说明 后,仍可实现 4.2 倍以上 缓存压缩与强长上下文质量。
比喻
传统方法像是把仓库里的箱子缩小了,但每个箱子仍要贴一张很重的标签。PolarQuant 更像先把货物充分混匀,再只记一个半径和方向信息,辅助标签自然就轻得多。
用大白话讲
- 两难: 不只把数字压小——每个块还要贴 说明书(元数据),用 FP16 存 scale、zero-point 等,容易出现 包装比东西还重 的情况。
- PolarQuant 的做法: 不用轴坐标堆数字,而存 一个半径 (整体大小) 和 若干角度(方向);其余信息变成“往哪边倾”。
- 搅拌机()与 : 进极坐标 之前 先随机混匀,大块对半切时 前后能量 往往更接近,用比例算角度时容易落在 ()附近。知道角度 常落在窄区间,就能用 很少比特 做角度量化。
- 论文里提到的结果: KV 缓存 4.2 倍以上 压缩、约 104K 超长上下文下 needle 类任务仍强、离线码本 可把 Prefill 大幅缩短(论文中约 11.6 秒 vs 3.4 秒 等)。
一句话: 利用混匀后角度 可预测地集中 的结构,大幅压低「还原用的附加负担」。