
数据就是AI的血液而存储和传输这些数据的效率直接决定了AI能否跑得快、跑得远。Google Research团队刚刚推出了一项名为TurboQuant的技术。它能把KV缓存6倍压缩、无精度损失、而且推理速度提升8倍。这项技术不仅解决了困扰业界多年的内存瓶颈问题更为大语言模型的广泛应用扫清了关键障碍。AI开发者、研究员和科技分析师们语气兴奋认为这是AI效率的重大突破。有人说这是谷歌的DeepSeek时刻。甚至导致两家存储芯片巨头股价大跌。AI的内存烦恼要理解TurboQuant的价值得先从AI模型的工作方式说起。大语言模型在处理信息时使用一种叫做向量的数据结构。向量就像是给信息打上的数字标签可以描述简单的东西比如图表上的一个点高维向量则能捕捉复杂信息比如一张图片的特征、一个词语的含义或者一个数据集的属性。这些向量能够把现实世界的信息转化为计算机可以理解和处理的形式。这些高维向量非常占内存。一个AI模型需要处理成千上万个这样的向量每个向量又包含数百甚至数千个数字内存很快就会被填满。更麻烦的是AI在运行时需要频繁访问这些数据于是就出现了一个叫做键值缓存KV cache的东西。键值缓存就像是一个高速的数字便签本把常用的信息用简单的标签存起来这样电脑就能瞬间检索到而不用去翻那个又慢又大的数据库。问题是这个便签本本身也很占地方而且随着AI处理的任务越来越长、越来越复杂便签本也会越来越大最终变成卡住AI运转的瓶颈。当你使用大语言模型处理一篇长文章或者进行长时间的对话时键值缓存会不断增长内存消耗也越来越大最终可能超出硬件的承载能力导致模型运行变慢甚至崩溃。向量量化是一种强大的经典数据压缩技术它能减小高维向量的大小。这种优化解决了AI的两个关键问题一是增强向量搜索这是驱动大规模AI和搜索引擎的高速技术通过实现更快的相似性查找来提升性能二是减少键值对的大小缓解键值缓存的瓶颈从而实现更快的相似性搜索并降低内存成本。向量搜索是现代搜索引擎和推荐系统的核心技术它能在海量数据中快速找到最相似的内容。然而传统的向量量化方法通常会引入自己的内存开销。大多数方法都需要为每个小数据块计算和存储量化常数而且是以全精度存储。这种开销可能给每个数字增加1到2个额外的比特部分抵消了向量量化的初衷。本来是为了省空间结果反而多占了地方有点像请了一个帮忙整理房间的助手结果助手自己又带来了一堆整理工具占了不少地方。这种矛盾让研究人员一直在寻找更好的解决方案。TurboQuant的巧思Google团队开发的TurboQuant就是要从根本上解决这个内存开销问题。他们的方案将在ICLRInternationalConference on Learning Representations国际学习表征会议上发表。这套压缩算法在减小模型尺寸的同时实现零精度损失非常适合支持键值缓存压缩和向量搜索两种应用场景。TurboQuant通过两个精妙的步骤实现了几乎无损的高效压缩。第一步是PolarQuant方法负责的高质量压缩。TurboQuant首先对数据向量进行随机旋转这个聪明的操作简化了数据的几何结构让后续的量化器可以独立处理向量的每个部分。随机旋转就像是把一团纠缠在一起的数据打散重新排列让它们变得更容易处理。量化器是一种工具能把一大组连续数值比如精确的小数映射到更小的离散符号或数字集合比如整数。常见的例子包括音频量化和JPEG压缩。当你把一张高分辨率的照片保存为JPEG格式时其实就是在进行量化把原始图片中大量的颜色信息压缩成更少的数字让文件变小。这一步消耗了大部分的压缩能力也就是大部分的比特用来捕捉原始向量的主要概念和强度。第二步则用剩下的少量压缩能力仅仅1比特通过QJL算法处理第一步留下的微小误差。QJLQuantized Johnson-Lindenstrauss量化约翰逊-林登斯特劳斯算法将在AISTATS会议上发表。这一步起到了数学误差检测器的作用消除了偏差让最终的注意力分数更加准确。注意力分数是大语言模型的核心机制它决定了模型在处理文本时关注哪些部分。换个角度看数据PolarQuant的核心思想其实很好理解它用一种完全不同的方式来解决内存开销问题。传统方法用直角坐标来看数据就像告诉你往东走3个街区再往北走4个街区。而PolarQuant把数据转换成极坐标相当于告诉你直接走5个街区方向是37度角。两种描述方式说的是同一个位置但极坐标有时能让问题变得更简单。这种坐标转换就像是换了一种语言来描述同样的事情但新语言更适合解决手头的问题。PolarQuant使用笛卡尔坐标系将向量转换为极坐标。在极坐标表示中向量被分解成两个信息半径表示核心数据的强度角度表示数据的方向或含义。因为角度的模式是已知且高度集中的模型就不再需要执行昂贵的数据归一化步骤。归一化是数据预处理中常见但计算量大的操作需要把不同范围的数据调整到统一的尺度。数据被映射到一个固定的、可预测的圆形网格上边界是已知的而不是方形网格那样边界在不断变化。这就像是在地图上划定搜索范围圆形的边界比方形更容易预测和处理。圆形的半径是固定的只需要一个数字就能确定边界的位置。这样一来PolarQuant就消除了传统方法必须承受的内存开销不需要额外存储那些量化常数。PolarQuant就像一个高效压缩的桥梁把笛卡尔坐标的输入转换成紧凑的极坐标速记形式用于存储和处理。它的机制是这样的先把一个d维向量中的坐标两两分组映射到极坐标系统中。然后半径值也成对收集进行递归的极坐标转换。这个过程不断重复直到数据被精炼成一个最终的半径和一组描述性的角度。整个过程就像是在不断提炼数据把复杂的多维信息逐步简化为更紧凑的形式。QJL算法则提供了另一种思路。它使用约翰逊-林登斯特劳斯变换来缩小复杂的高维数据同时保持数据点之间的距离和关系。这是一个数学上的神奇技巧能够在大幅降低数据维度的同时几乎不改变数据之间的相对位置关系。每个向量数字被简化为一个符号位要么是正一要么是负一。QJL本质上是一种高速速记法零内存开销。为了保持精度QJL使用了一个特殊的估计器策略性地平衡高精度的查询和低精度、简化后的数据。这让模型能够准确计算注意力分数也就是决定输入中哪些部分重要、哪些部分可以忽略的过程。注意力机制是大语言模型的核心它决定了模型如何分配计算资源。通过这种巧妙的设计QJL能够在极低的存储开销下保持模型的核心能力不受影响。数据说话效果惊人研究团队对三种算法进行了严格的测试使用了包括LongBench、Needle In A Haystack、ZeroSCROLLS、RULER和L-Eval在内的标准长上下文基准测试并在开源的大语言模型Gemma和Mistral上运行。这些测试涵盖了问答、代码生成、摘要等多种任务类型能够全面评估算法在不同场景下的表现。实验数据显示TurboQuant在内积失真和召回率两个关键指标上都达到了最优表现同时将键值缓存的内存占用降到最低。内积失真衡量的是压缩前后向量相似度计算结果的变化程度这个值越小越好意味着压缩没有破坏数据之间的相对关系。召回率则反映搜索结果中找到正确答案的能力这个值越高越好意味着压缩后的系统仍然能够准确找到用户想要的信息。在LongBench基准测试中TurboQuant展示了强大的键值缓存压缩性能。测试是在Llama-3.1-8B-Instruct模型上进行的涵盖了问答、代码生成和摘要等多种任务。相比各种压缩方法包括KIVI基线方法TurboQuant都表现优异。比特宽度在括号中标明方便对比不同压缩程度下的性能。结果显示即使在高压缩率下TurboQuant依然能够保持接近原始模型的性能水平。在大海捞针Needle In A Haystack这样的长上下文任务中TurboQuant在所有基准测试中都取得了完美的下游结果。TurboQuant成功将键值缓存的内存大小减少了至少6倍而且没有影响模型精度。PolarQuant在这个任务上也几乎是零损失的。更令人印象深刻的是TurboQuant能够把键值缓存量化到只有3比特而且不需要训练或微调也不会损害模型精度同时运行速度比原始的大语言模型Gemma和Mistral还要快。这意味着使用TurboQuant不需要对原始模型进行任何修改或额外的训练工作只需要应用压缩算法就能获得显著的性能提升。实现起来效率极高运行时的额外开销几乎可以忽略不计。在计算注意力对数方面TurboQuant展示了显著的性能提升。注意力对数是模型计算注意力分数过程中的中间结果直接影响模型的推理速度。在H100 GPU加速器上4比特的TurboQuant相比32比特的未量化键值性能提升了高达8倍。测量是相对于高度优化的JAX基线进行的JAX是Google开发的高性能机器学习框架。这使得TurboQuant非常适合支持向量搜索等用例能够大幅加快索引构建过程。研究团队还评估了TurboQuant在高维向量搜索中的表现与PQProduct Quantization乘积量化和RabbiQ等最先进的方法进行了对比。测试使用的是GloVe数据集维度为200这是一个广泛使用的词向量数据集能够测试算法在真实场景下的表现。使用1k召回率作为衡量标准也就是看算法在其前k个近似结果中捕获真实顶部内积结果的频率。结果显示TurboQuant始终取得比基线方法更优的召回率尽管那些基线方法使用了效率低下的大码本和针对数据集的调优。码本是向量量化中用于存储量化中心的表格通常需要大量内存。TurboQuant能够在不依赖数据集特定调整的情况下达到最优的检索性能。这证明了TurboQuant在高维搜索任务中的稳健性和效率能够在各种不同的数据分布上保持一致的优异表现。TurboQuant为高维搜索带来了变革性的转变设定了可达成速度的新基准以数据无关的方式提供近乎最优的失真率。数据无关意味着算法不需要预先了解数据的分布特征就能达到良好的压缩效果。这让最近邻引擎能够以3比特系统的效率运行同时保持更重模型的精度。TurboQuant可以显著减少内存占用让模型能够处理更长的上下文同时保持响应速度。这对于需要处理长文档或进行长时间对话的应用场景尤为重要。但高效在线向量量化的影响远不止于此。现代搜索正在从简单的关键词匹配演变为理解意图和含义。这需要向量搜索的能力也就是在数十亿向量的数据库中找到最相似的项目。TurboQuant让构建和查询大型向量索引成为可能内存占用最小预处理时间几乎为零精度达到最先进水平。随着AI越来越深入到所有产品中从大语言模型到语义搜索这种基础向量量化的研究将变得愈发重要。TurboQuant为高维搜索带来了变革性的转变设定了可达成速度的新基准以数据无关的方式提供近乎最优的失真率。压缩即智能AI的未来或许会更加轻盈而强大。参考资料https://research.google/blog/turboquant-redefining-ai-efficiency-with-extreme-compression/