VecAttention: Vector-wise Sparse Attention for Accelerating Long Context Inference¶
会议: CVPR 2026
arXiv: 2603.29494
代码: https://github.com/anminliu/VecAttention
领域: 视频理解
关键词: 稀疏注意力、向量级稀疏、长上下文加速、视频理解、视频生成
一句话总结¶
本文发现视频模型注意力图中存在强烈的"垂直向量"稀疏模式,据此提出 VecAttention 细粒度向量级稀疏注意力框架,通过 TilingSelect + minS 过滤实现高效重要向量选择,在 78%+ 稀疏度下视频理解准确率与全注意力持平,注意力计算加速 2.65 倍。
研究背景与动机¶
- 领域现状:视频理解和生成模型的 token 序列极长(17K-119K),注意力计算成为推理瓶颈。稀疏注意力方法(如 FlexPrefill、XAttention)通过跳过不重要的注意力计算来加速推理。
- 现有痛点:现有方法使用粗粒度稀疏模式(如块级、行级),虽然计算简单但牺牲精度——因为一个块/行中可能混合重要和不重要的 token,粗粒度跳过会丢失关键信息。
- 核心矛盾:更细的粒度能保留更多重要信息,但选择开销也更大——逐 token 选择的通信和计算成本可能反噬加速收益。
- 本文目标:找到精度-效率最优的稀疏粒度,并配套设计高效的选择和计算内核。
- 切入角度:系统分析视频注意力图的稀疏结构后发现"垂直向量"模式——即重要的 KV token 倾向于在所有 query 头上都重要,呈现整列"亮"的模式。这种结构特性允许用 query pooling 高效选择。
- 核心 idea:向量级粒度(P_q=64)+ minS 过滤(比 topK 更高效)+ TilingSelect(融合选择进 GEMM 减少 HBM 访问)。
方法详解¶
整体框架¶
全序列 Q/K/V → Stage 1: Query pooling + minS 过滤选择重要 KV 向量(TilingSelect 内核) → Stage 2: 仅对选中的 KV 向量做 FlashAttention-2 风格的稀疏注意力计算 → 输出。
关键设计¶
-
minS 过滤策略
- 功能:高效确定每个 query group 需要关注的 KV 向量集合
- 核心思路:先对 query 做 pooling 得到 \(Q_p\),计算与所有 K 的相似度 \(s_i\),然后用 \(M_i = (s_i \geq (m_i^s - \alpha))\) 过滤,其中 \(m_i^s = \text{rowmax}(s_i)\),\(\alpha\) 为过滤比率。核心直觉是保留相对于每行最大值在 \(\alpha\) 范围内的所有 KV
- 设计动机:比 topK 更高效——topK 需要对整行排序(\(O(N \log N)\)),minS 只需一次 rowmax + 阈值比较(\(O(N)\))。消融显示 minS 比 topP 快 3.77 倍
-
TilingSelect 选择内核
- 功能:将重要向量选择融合进 GEMM 操作中,减少显存访问
- 核心思路:在 tiled GEMM 计算 \(Q_p \cdot K^T\) 时同步完成 minS 过滤和跨 tile 的 rowmax 累积,避免单独分配 \(N^2\) 大小的中间张量。显存从 \(\Theta(N^2 P_q^{-1})\) 降至 \(\Theta(N^2 P_q^{-1}(1-\rho))\)
- 设计动机:在 N=64K 时标准选择需要 18.3GB 中间存储,TilingSelect 降至 1.8GB(10.2 倍节省)
-
动态每头过滤比率
- 功能:自适应调整每个注意力头的稀疏度
- 核心思路:用动态规划根据每个 head 的注意力分布特征预测最优 \(\alpha\) 值,不同 head 可以有不同的稀疏比率
- 设计动机:不同 head 的注意力分布差异很大——有些 head 天然稀疏(可以激进过滤),有些 head 注意力分布平坦(需保留更多 KV)
损失函数 / 训练策略¶
无需训练,纯推理时方法。超参数包括向量大小 \(P_q=64\)、K tile 大小 \(B_k=16\)、group 大小 \(G_k\)(理解任务=16,生成任务=8192)。
实验关键数据¶
主实验¶
| 方法 | 稀疏度 | VideoMME↑ | LongVideoBench↑ | VCRBench↑ | 平均↑ |
|---|---|---|---|---|---|
| Full Attention | 0% | 65.7 | 59.4 | 32.9 | 52.7 |
| FlexPrefill | 76.5% | 52.3 | 59.0 | 30.0 | 47.1 |
| XAttention | 78.1% | 56.0 | 59.9 | 32.5 | 49.5 |
| AnchorAttention | 78.6% | 57.4 | 59.4 | 31.3 | 49.4 |
| VecAttention | 78.6% | 60.6 | 59.0 | 33.8 | 51.1 |
消融实验¶
| 配置 | 关键指标 | 说明 |
|---|---|---|
| 向量大小 P_q=32 | 精度更高但开销增加 | 过细粒度 |
| 向量大小 P_q=64 | 最优平衡 | 默认值 |
| 向量大小 P_q=128 | 精度下降 | 过粗粒度 |
| minS vs topP | 3.77× 加速 | minS 更高效 |
| TilingSelect | 10.2× 显存节省 | 18.3GB→1.8GB |
关键发现¶
- 在 78.6% 稀疏度下 VecAttention 平均 51.1%,仅比全注意力 52.7% 低 1.6%,远超同稀疏度的其他方法(47.1-49.5%)
- 最大可用稀疏度达 93%,远超竞品的 85-88%
- 视频生成上同样有效:在 Wan2.1-T2V 上以 52.3% 稀疏度实现与全注意力相当的 PSNR/SSIM
- 注意力加速 2.65 倍,端到端 TTFT 加速 1.17 倍
亮点与洞察¶
- 垂直向量稀疏模式的发现:这个经验观察为细粒度稀疏提供了理论基础——KV 的重要性在 query 间高度一致,这使得 query pooling 后的选择几乎无损
- minS vs topK 的效率差距:从 \(O(N \log N)\) 降到 \(O(N)\) 的选择复杂度,这个小创新带来了 3.77 倍的实际加速
- 视频理解+生成统一适用:同一框架在 VLM 和 DiT 上都有效,说明垂直向量模式是视频注意力的通用特性
局限与展望¶
- 垂直向量模式是否在所有模态(如纯文本、音频)上都成立尚未验证
- 细粒度选择的额外开销在序列较短时可能不划算
- 仅评估了视频理解和生成,复杂推理任务(如 Agent、RAG)未测试
- 后续可探索其他细粒度模式(水平、对角线)在特定任务上的优势
相关工作与启发¶
- vs FlexPrefill: 块级稀疏方法在相同稀疏度下 VideoMME 仅 52.3%,VecAttention 60.6%——精度差距源于粒度差异
- vs XAttention: 也是视频稀疏注意力方法,但在理解任务上精度不如 VecAttention,且最大稀疏度受限
- vs FlashAttention-2: VecAttention 的计算内核直接基于 FlashAttention-2 的分片策略,可视为其稀疏扩展
评分¶
- 新颖性: ⭐⭐⭐⭐ 向量级稀疏粒度和minS选择策略有新意
- 实验充分度: ⭐⭐⭐⭐⭐ 视频理解+生成双验证,多模型多benchmark,详细微基准测试
- 写作质量: ⭐⭐⭐⭐ 系统性强,从观察到设计到实现逻辑清晰
- 价值: ⭐⭐⭐⭐⭐ 长视频推理加速是刚需,2.65倍加速有直接产业价值