高效注意力:突破序列长度平方瓶颈
直觉版:不要让数据在内存里来回搬
Section titled “直觉版:不要让数据在内存里来回搬”标准注意力的计算量随序列长度平方增长,更关键的是,它需要从 GPU 显存频繁读写巨大的注意力矩阵。FlashAttention 的直觉是:把计算拆成小块,在 GPU 的高速缓存(SRAM)里完成,减少慢速显存(HBM)的读写次数。这样既不近似也不损失精度,却能显著加速。
工程版:IO-aware 优化与内核融合
Section titled “工程版:IO-aware 优化与内核融合”FlashAttention 的核心贡献是 IO-aware 算法:通过分块(tiling)和重计算(recomputation),将注意力计算的内存访问从 O(N²) 的 HBM 流量降低到接近 O(N)。FlashAttention-2 进一步优化了线程块划分和 warp 级调度;FlashAttention-3 则针对 Hopper 架构的异步执行和 FP8 做了专项优化。
除了 FlashAttention,长上下文工程还包括:
- 稀疏注意力:滑动窗口、膨胀注意力、局部-全局混合,用近似降低计算量。
- 线性注意力:通过核技巧或状态空间模型(SSM)将复杂度降到线性,代表工作如 Mamba。
- 上下文压缩:把长文本压缩成更短的表示,减少需要参与注意力的 token 数。
2026 年:从静态稀疏到可学习稀疏
Section titled “2026 年:从静态稀疏到可学习稀疏”稀疏注意力过去依赖人工设计的静态模式(滑动窗口、膨胀窗口等),2026 年的主线是让模型自己学习”该看谁”:
- DeepSeek Sparse Attention(DSA):DeepSeek 在 V3.2 中引入、V4 沿用的稀疏注意力机制,为每个查询动态选择参与注意力的 token 子集,使百万级上下文的推理成本大幅下降。
- MISA(Mixture of Indexer Sparse Attention):用多个可学习的”索引器”混合决定注意力路由,把稀疏模式从人工先验变成可训练组件。
- 混合注意力:DeepSeek-V4 这类万亿参数 MoE 把稀疏注意力与全量注意力混合使用,在保持长程能力的同时,把长上下文推理 FLOPs 和 KV cache 占用相比前代压低约一个数量级。
工程取舍也随之变化:静态模式胜在实现简单、内核友好;可学习稀疏效果通常更好,但需要在训练期就引入(训练后切换到稀疏模式会明显损失质量),且对推理内核和框架的支持要求更高。vLLM、SGLang 等主流推理框架已陆续为这类稀疏模式提供专门内核。
选择方案时要评估:是否支持任意因果 mask?是否兼容现有训练框架?对短序列有没有额外开销?以及,在真实长文本任务上的端到端增益。
研究版:注意力是否必须平方?
Section titled “研究版:注意力是否必须平方?”研究上,一个根本问题是:Transformer 的二次复杂度是否是必要的?状态空间模型、RWKV、RetNet 等工作试图在保留长程依赖能力的同时实现线性复杂度。
但注意力本身也有独特优势:动态路由、可解释性强、对训练数据分布的依赖相对较小。未来的架构可能是混合的:局部用线性方法,全局保留标准注意力,或通过 learned routing 动态选择计算模式。
🔬 开放研究问题
该领域的关键问题与研究方向:
- FlashAttention 的 IO-aware 分块策略能否推广到非 Transformer 架构?内存-计算的权衡极限在哪里?
- GQA/MQA 的内存节省与质量损失之间的量化关系是什么?是否存在最优的 KV 头分组策略?
- DeepSeek-V2 的 MLA(Multi-head Latent Attention)能否成为下一代注意力标准?其与低秩近似的理论联系是什么?
- 可学习稀疏注意力(DSA/MISA)的路由决策能否与检索、外部记忆机制统一?训练期引入稀疏与推理期切换稀疏之间的质量差距如何量化?
本文引用论文
- FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness
FlashAttention 通过 IO-aware 的分块计算,在不牺牲精度的前提下,将注意力计算的内存 从 O(N²) 降至 O(N),速度提升 2-4 倍。它改变了长上下文训练的可行性边界, 是现代高效 LLM 训练和推理不可或缺的底层优化。
- FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning
用更激进的 warp 级并行和 work partition 把 FlashAttention 再翻倍。今天 vLLM / SGLang / Megatron 训练后端基本都升级到 FA-2。
- FlashAttention-3: Fast and Accurate Attention with Asympotic IO Complexity
利用 H100 的异步 TMA 与 FP8,把 attention 推到 1.2 PFLOPs,并保持数值精度。是 Hopper 架构上长上下文 + FP8 训练的关键依赖。
- GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints
GQA(分组查询注意力)是 MHA(多头注意力)和 MQA(多查询注意力)的折中方案: 将 KV 头的数量分成若干组,每组共享 KV,显著减少了 KV 缓存内存占用, 同时保持接近 MHA 的模型质量。LLaMA 2/3、Mistral 等主流模型都采用了 GQA。
- Fast Transformer Decoding: One Write-Head is All You Need
提出 Multi-Query Attention:所有 head 共享同一份 K/V,把 KV cache 占用打到 1/h。今天 KV cache 优化、长上下文推理的故事都从这篇 5 页短文开始。
- DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model
引入 Multi-head Latent Attention (MLA) 把 KV cache 砍到 1/13,让 236B MoE 推理价格碾压同档闭源。MLA 是 V3/R1 推理性价比的核心来源。
- DeepSeek-V4 Technical Report
万亿参数级 MoE 旗舰,采用稀疏注意力与混合注意力架构,原生支持约 1M token 上下文;技术报告称长上下文推理 FLOPs 与 KV cache 占用相比 V3.2 下降约一个数量级,权重以 MIT 协议开放。
- MISA: Mixture of Indexer Sparse Attention
2026 年稀疏注意力的代表工作:用多个可学习的"索引器"(indexer)混合地选择每个查询需要关注的 token 子集,把长上下文注意力从静态模式(滑动窗口等)推向动态学习路由,显著降低长序列推理成本。