@_avichawla: 英伟达研究人员构建了一种新的Transformer变体。对层结构做了一个小改动:- 解码速度提升1.7倍 - long-…

X AI KOLs Timeline 论文

摘要

英伟达研究人员推出了SparDA,这是一种新的Transformer变体,它增加了一个第四投影(Forecast)来预测下一层的KV块,从而支持从CPU内存预取并降低选择成本,实现了解码速度提升1.7倍,并在长程推理任务上准确率提升6.5个百分点。

英伟达研究人员构建了一种新的Transformer变体。 对层结构做了一个小改动: - 解码速度提升1.7倍 - 长程推理准确率提升6.5个百分点 在典型的Transformer架构中,每个注意力层计算Q、K和V。 英伟达的改进增加了一个第四投影,用于预测下一层需要的内容。 为了理解他们为何这样做,我们首先来看看目前Transformer架构在推理过程中发生了什么。 稀疏注意力曾试图处理长上下文推理。现代设计不再关注每个缓存的token,而是按块对KV缓存进行评分,保留top-k,并仅关注这些块。 这减少了注意力计算和带宽,但仍然留下两个问题。 > 首先,KV缓存随每个生成的token继续增长。 当上下文超过100K时,KV缓存不再适合GPU内存,因此被卸载到CPU RAM。 现在,每个层必须首先将其选定的KV块从CPU内存复制回GPU。该复制操作很慢,GPU在等待期间闲置,且这种停滞在每个解码步骤的每一层重复发生。 > 其次,选择步骤本身并非免费。 标准选择器使用GQA组(分组查询注意力,其中多个查询头共享一个KV头)中的每个查询头对每个候选块进行评分,然后对每个头的分数进行softmax,并在组内求和。 在解码期间,稀疏注意力本身很便宜,因为只有一个查询token。 但昂贵的部分是决定要关注哪些块,并且该成本随上下文长度持续增长。 这两个问题都归因于当前稀疏注意力方法中的相同设计,即注意力查询驱动块选择。 选择需要查询向量Q,而Q仅在其所在层运行时才存在。到那时,为时已晚,无法提前获取任何内容。 查询还将其多头布局带入选择,因此所有评分计算只是为了做出一个top-k决策。 来自英伟达和MIT的最新论文SparDA通过一个架构更改打破了这种耦合。 每个层现在输出四个投影而不是三个: ↳ Q, K, V, 和 Forecast。 来自层L的Forecast预测层L+1所需的KV块。 层L+1自身的查询在这些选定块上执行稀疏注意力。 这一更改解决了两个问题。 由于下一层的块集在当前层仍在计算时已知,运行时在单独的CUDA流上从CPU内存获取这些块。 复制操作与当前层的计算重叠,因此GPU不再等待它。 而且由于Forecast与注意力查询分离,它不需要每个查询头一个分数。 SparDA为每个GQA组使用一个Forecast头,这消除了每个查询头的评分循环,并完全跳过了softmax步骤。 DeepSeek在DSA中做了类似的事情,其中一个小型索引器挑选重要的token,而不是由查询来完成。 SparDA将相同的想法应用于块,并增加了DSA未涉及的预取角度。 更改的成本很小。 Forecast在8B模型上仅增加3350万参数(0.41%),并且仅训练这些投影,使用KL损失来匹配原始选择器的块分布。 在MiniCPM4.1-8B和NOSA-8B上,准确率匹配或超过稀疏基线,其中NOSA-8B在长程推理上获得+6.5的提升。 预填充运行速度比稀疏卸载基线快1.25倍,解码快1.7倍。 还有一个额外的好处。 由于预取隐藏了卸载成本,大部分KV缓存可以驻留在CPU RAM中,释放的GPU内存可以容纳更大的批次,使解码吞吐量比非卸载的稀疏基线提升高达5.3倍。 也就是说,这种预取仅在解码期间使用CPU卸载时才能体现优势。在预填充期间,所有键已经位于GPU上,因此那里的收益纯粹来自更便宜的选择。 以下是论文链接:https://arxiv.org/abs/2606.04511 我从基本原理出发,撰写了关于KV缓存工作原理的详细解析。它阐述了模型为何存储键和值、缓存为何随每个token增长,以及有/无KV缓存的LLM生成速度对比。 请阅读下文。
查看原文
查看缓存全文

缓存时间: 2026/07/12 16:58

NVIDIA 的研究人员构建了一种新的 Transformer 变体。

只需对层结构做一个小改动,就能实现:

  • 解码速度提升 1.7 倍
  • 长链推理准确率提升 6.5 个百分点

在典型的 Transformer 架构中,每个注意力层都会计算 Q、K 和 V。

NVIDIA 的改进增加了一个第四投影,用于预测下一层需要什么。

为了理解他们为什么这样做,我们先看看当前 Transformer 架构在推理时实际发生了什么。

稀疏注意力是为了应对长上下文推理而提出的方法。现代设计不再关注每一个缓存的 token,而是按块对 KV 缓存进行评分,保留 top-k 的块,只关注这些块。

这减少了注意力计算和带宽,但仍然遗留了两个问题。

首先,KV 缓存仍然会随着每个生成的 token 而增长。

当上下文超过 100K 时,缓存不再能放入 GPU 内存,而被卸载到 CPU RAM 中。

现在每一层都必须先将其选中的 KV 块从 CPU 内存复制回 GPU。这个复制过程很慢,GPU 在等待时处于空闲状态,而且这种停顿会在每个解码步骤的每一层重复发生。

其次,选择步骤本身也不是没有代价的。

标准的选择器会使用 GQA 组(分组查询注意力,其中多个查询头共享一个 KV 头)中的每个查询头对每个候选块进行评分,然后对每个头的分数进行 softmax,并在组内求和。

在解码过程中,稀疏注意力本身开销很小,因为只有一个查询 token。

但开销大的部分是决定要关注哪些块,而且这一成本会随着上下文长度增长而增加。

这两个问题都源于当前稀疏注意力方法中的同一个设计:即注意力查询(query)驱动了块的选择。

选择需要查询向量 Q,而 Q 只在其所属层开始运行时才存在。到那时再预取数据已经来不及了。

查询还会将其多头布局带入选择过程,因此所有评分计算都只是为了做出一个 top-k 决策。

最近一篇来自 NVIDIA 和 MIT 的论文——SparDA,通过一个架构上的改动打破了这种耦合。

每个层现在输出四个投影,而不是三个:

↳ Q、K、V 和一个预测向量(Forecast)。

来自第 L 层的 Forecast 预测第 L+1 层需要哪些 KV 块。

第 L+1 层自身的查询会针对这些选定的块执行稀疏注意力。

这一个改动解决了两个问题。

由于下一层的块集合在当前层仍在计算时就已经知道,运行时会在一个独立的 CUDA 流上将这些块从 CPU 内存预取过来。

复制操作与当前层的计算重叠,因此 GPU 不再需要等待。

由于 Forecast 与注意力查询是解耦的,它不需要为每个查询头设置一个分数。

SparDA 在每个 GQA 组中使用一个 Forecast 头,从而消除了每个查询头都要进行评分循环的开销,并且完全跳过了 softmax 步骤。

DeepSeek 在 DSA 中做了类似的事情,他们使用一个小型的索引器来选择重要的 token,而不是由查询来完成这一工作。

SparDA 将同样的思想应用于块,并增加了 DSA 没有涉及的预取角度。

这一改动带来的成本很小。

Forecast 在一个 8B 模型上只增加了 33.5M 参数(0.41%),并且只训练这些投影,使用 KL 损失来匹配原始选择器的块分布。

在 MiniCPM4.1-8B 和 NOSA-8B 上,准确率与稀疏基线持平或略有提升,其中 NOSA-8B 在长链推理上提升了 6.5 个点。

预填充速度比稀疏卸载基线快 1.25 倍,解码速度快 1.7 倍。

还有一个额外的好处。

由于预取隐藏了卸载成本,大部分 KV 缓存可以放在 CPU RAM 中,释放出的 GPU 内存可以容纳更大的批次,从而将解码吞吐量提升至非卸载稀疏基线的 5.3 倍。

不过,这种前瞻性仅在解码阶段且配合 CPU 卸载时才有收益。在预填充阶段,所有键已经位于 GPU 上,因此收益仅来自更高效的选择过程。

这是论文链接:https://arxiv.org/abs/2606.04511

我写了一份关于 KV 缓存工作原理的入门级分析,详细解释了为什么模型要存储键和值、为什么缓存会随着每个 token 增长,以及有无 KV 缓存时 LLM 生成速度的对比。

请阅读下面的内容。


SparDA:面向高效长上下文 LLM 推理的稀疏解耦注意力

来源:https://arxiv.org/abs/2606.04511 查看 PDF (https://arxiv.org/pdf/2606.04511)

摘要:稀疏注意力减少了长上下文 LLM 推理中的计算和内存带宽。然而,仍然存在两个关键挑战:(1)KV 缓存容量仍随序列长度增长,卸载到 CPU 内存会引入 PCIe 传输瓶颈;(2)稀疏选择步骤本身保留了 O(T^2) 的复杂度,在长上下文时可能占据注意力计算的主导地位。我们提出了 SparDA,一种解耦的稀疏注意力架构,它在 Query、Key 和 Value 之外,为每一层引入第四个投影——Forecast。Forecast 预测下一层所需的 KV 块,从而实现前瞻性选择,将 CPU 到 GPU 的预取与当前层的执行重叠。由于 Forecast 与注意力查询解耦,我们的 GQA 实现中每个 GQA 组使用一个 Forecast 头,相比于原始的多头选择器减少了选择开销。SparDA 增加了不到 0.5% 的参数,并且仅通过匹配原始选择器的注意力分布来训练 Forecast 投影。在两个稀疏预训练的 8B 模型上,SparDA 准确率持平或略有提升,在与稀疏注意力卸载基线的对比中,预填充速度提升高达 1.25 倍,解码速度提升高达 1.7 倍。通过允许在单 GPU 上使用更大的批次大小,SparDA 进一步使解码吞吐量达到非卸载稀疏基线的 5.3 倍。我们的源代码可从以下网址获取:https://github.com/NVlabs/SparDA。

提交历史

来自:Yaosheng Fu [查看邮箱 (https://arxiv.org/show-email/481e6733/2606.04511)]
[v1] 2026年6月3日星期三 06:42:05 UTC (328 KB)

相似文章

SparDA:用于高效长上下文 LLM 推理的稀疏解耦注意力

arXiv cs.CL

SparDA 提出了一种解耦稀疏注意力架构,通过添加轻量级"Forecast"投影来预测未来的 KV 缓存需求,从而实现从 CPU 到 GPU 的预取(lookahead prefetching),并降低选择开销。在基于稀疏预训练的 8B 模型上,其 prefill 速度最高可提升 1.25×,decode 速度最高可提升 1.7×,相比非 offload 基线,decode 吞吐量最高可提升 5.3×。

@ZhihuFrontier: 半年前,一位知乎答主预测下一个Transformer将吸收循环、递归状态、稀疏路由……

X AI KOLs Timeline

一位知乎答主半年前的预测——下一个Transformer将吸收循环、递归状态、稀疏路由和潜在推理——随着Loop Engineering的推进,正变得越来越有现实意义。本文探讨了未来的Transformer架构如何演变为混合模型:将线性复杂度的层用于背景上下文,注意力机制用于精确推理,再加上更细粒度的稀疏性和原生的System 2推理。

下一代潜在预测变换器 [R]

Reddit r/MachineLearning

微软研究院提出Next-Latent Prediction (NextLat)方法,一种自监督学习方法,训练变换器预测自身下一个潜在状态,从而形成用于推理和规划的紧凑世界模型,并通过自推测解码实现高达3.3倍的推理加速。

kvcache-ai/ktransformers

GitHub Trending (daily)

KTransformers 是一个灵活的研究框架,专注于前沿的大语言模型推理与微调,利用CPU-GPU异构计算,并支持多种最新模型。