打开网易新闻 查看精彩图片

2024年,一块32GB内存条的价格够买半台主机。不是芯片缺货,是生成式AI把显存和RAM都炒成了期货。Google Research最近甩出一篇论文,说他们的新算法能把大语言模型的内存占用砍掉83%,同时速度翻8倍——而且不损失精度。

这个数字听着像PPT吹牛,但Google把代码和测试数据都开源了。算法名字叫TurboQuant,核心目标只有一个:压缩那个吃内存的怪兽——键值缓存(Key-Value Cache)。

键值缓存:AI的"数字作弊条"

键值缓存:AI的"数字作弊条"

大模型其实什么都不"知道"。它靠向量(Vector)来模拟理解——把文字切成token,再映射成高维空间里的坐标点。两个向量越近,语义越相关。

问题是这些向量维度极高,几百到几千个嵌入值(Embedding)是常态。处理长文本时,模型需要记住之前的所有上下文,于是把它们存进键值缓存。你可以把它想象成考试时偷偷写在手心的小抄:不用重新算,直接查表。

小抄越写越长,内存就爆了。目前的量化(Quantization)技术能把精度从16位压到4位甚至更低,但代价是输出质量断崖下跌——token预测准确率肉眼可见地变蠢。

Google的解法分两步,第一步叫PolarQuant,也是整个压缩比的主要来源。

打开网易新闻 查看精彩图片

把直角坐标换成极坐标,省掉一个维度

把直角坐标换成极坐标,省掉一个维度

传统向量用XYZ直角坐标系编码。PolarQuant把它掰成极坐标:一个半径(数据强度)加一个角度(语义方向)。

Google打了个比方:传统方式像导航说"往东3条街,再往北4条街";极坐标直接说"朝37度方向走5条街"。信息密度一样,存储空间少一截,还省掉了昂贵的数据归一化计算。

这个转换不是新数学,但Google把它做成了可微分的端到端训练方案。模型在压缩过程中自己学习怎么最优地分配半径和角度的比特位,而不是靠人工调参。

PolarQuant负责把体积压下去,第二步的TurboQuant负责把精度捞回来。

第二步:用"误差反馈"修补压缩损伤

第二步:用"误差反馈"修补压缩损伤

任何压缩都有损。TurboQuant的机制是实时监测量化误差,把残差(Residual)反馈到下一轮计算里补偿。Google论文里的描述很技术:通过动态缩放因子和分组量化,把per-channel的误差控制在亚1%级别。

打开网易新闻 查看精彩图片

实测数据来自Llama 2和Mistral系列模型。在Batch Size=1的推理场景下,TurboQuant把内存占用压到原来的1/6,吞吐量提升8倍。困惑度(Perplexity)指标与FP16基准相比,差距在0.5%以内——对于实际应用,这个误差基本可忽略。

更意外的是延迟表现。量化通常会增加解码开销,但TurboQuant通过内核融合(Kernel Fusion)把极坐标转换和量化操作打包成单次GPU调度,端到端延迟反而比传统INT8量化低40%。

Google在论文里埋了一句低调的注脚:这个方案对长上下文模型(128K+ token)的收益更大。因为键值缓存的内存占用随序列长度线性增长,压缩比固定的情况下,绝对省下的显存越用越夸张。

开源社区的反应比预期快。Hugging Face上已经有第三方复现,有人在M系列MacBook上跑通了7B模型——之前16GB内存根本装不下,现在不仅装得下,还能同时开Chrome。

但限制也很明显。TurboQuant目前只验证了Decoder-only架构,对多模态模型的视觉编码器部分还没覆盖。Google团队承认,极坐标转换在超高维稀疏向量上的数值稳定性仍需更多测试。

另一个潜在问题是生态。NVIDIA的TensorRT-LLM和AMD的ROCm都有自己的量化管线,TurboQuant要发挥最大性能需要深度集成到推理框架里。Google自己的TPU支持优先,CUDA版本的优化"正在开发中"——这句话的翻译通常是:等着吧。

内存价格会因此崩盘吗?短期内不会。AI训练端的显存需求还在指数增长,推理端的节省抵不过新模型越来越胖。但TurboQuant确实改写了一道基础算术题:以前跑70B模型需要8张A100,现在可能2张就够——如果Google的第三方基准复现能站住脚的话。

论文最后列了一个TODO清单:支持MoE架构、扩展到视觉-语言模型、探索1-bit量化的极限。团队负责人Jeff Dean在社交媒体转发时加了一句评论:「这是把数学直觉变成系统优化的典型案例。」

如果普通开发者真的能在笔记本上跑开源大模型而不需要云端API,下一个被颠覆的会是谁的生意?