@akshay_pachaar: 1) 稀疏注意力 它通过以下方式将注意力计算限制在部分令牌上:- 使用局部注意力(令牌仅关注其相邻令牌)…
摘要
解释了Transformer中的稀疏注意力,通过仅关注部分令牌(使用局部或学习到的注意力模式)来降低计算复杂度。
查看缓存全文
缓存时间: 2026/06/03 15:53
你在OpenAI的研究科学家面试中。
面试官问:
“你会如何把LLM的上下文长度从2K扩展到128K token?”
你:“我会在128K上下文的长文档上微调模型。”
面试结束。
但你错过了这些:
扩展上下文窗口不只是矩阵变大。
在传统Transformer中,将token扩展8倍,由于注意力的二次复杂度,内存需求会增加64倍。参考下图!
那么,我们该如何应对?
继续……
- 稀疏注意力
通过以下方式将注意力计算限制在token子集上:
- 使用局部注意力(token只关注邻居)。
- 让模型学习哪些token需要关注。
但这样会在计算复杂度和性能之间产生权衡。
以下摘自论文的直观解释:
想象你在读一本书。对于读到的每个句子,你需要完全了解整个情节才能理解大部分内容吗(完全全局注意力)?
还是只要偶尔回想一下它对主线情节的意义(全局注意力),了解当前章节就足够了(局部注意力)?
绝大多数情况下,是后者。
- Flash注意力
这是一种快速且内存高效的方法,保留了传统注意力机制的精确性,即使用全局注意力但高效实现。
其核心思想是优化GPU内存中的数据移动。
我们来理解一下!
一些背景知识:
- 线程是执行的最小单位。
- 多个线程组成一个块。
另外:
- 块中的线程共享一块快速(但稀缺)的内存,称为SRAM。
- 所有块共享一块全局内存,称为HBM(丰富但慢速)。
查看此图
注意力在SRAM和HBM之间移动大矩阵:
计算QK时:
- 将矩阵分发给线程
- 计算
- 将结果发送到HBM
计算softmax时:
- 将结果分发给线程
- 计算
- 将输出发送到HBM
对所有层重复此过程。
查看此图
Flash注意力涉及硬件级别的优化,利用SRAM缓存中间结果。
这样减少了冗余的数据移动,相比标准注意力方法,速度提升可达7.6倍。
查看此图
- DeepSeek稀疏注意力(DSA)
DeepSeek最近发布的V3.2模型引入了DeepSeek稀疏注意力(DSA),将复杂度从O(L²)降低到O(Lk),其中k是固定的。
工作原理:
一个轻量级的Lightning Indexer为每个查询打分,确定哪些token真正重要。
使用少量头,在FP8下运行,计算成本低。
然后,选择机制仅检索前k个键值条目。
关键洞察是:无论上下文多长,每个查询只选择2048个token。
因此,昂贵的注意力计算只在这个小子集上进行,而不是完整的128K序列。
在128K上下文中,预填充成本从每百万token约0.65美元降至约0.35美元。解码成本从约2.4美元降至约0.8美元。
而性能保持不变。在一些长上下文基准测试中,V3.2的得分甚至更高。
稀疏注意力并不新鲜。但要做到不损失质量很难。
轮到你了:还有哪些其他技术可以增加LLM的上下文长度?
感谢阅读。
Cheers! :)
相似文章
语法引导的稀疏注意力机制:实现高效可解释的Transformer
本文介绍了一种针对Transformer的语法引导稀疏注意力机制,旨在通过利用语言结构来提高效率和可解释性。
@rohanpaul_ai: 相当惊人,MiniMax Sparse Attention 在100万token时将注意力计算量减少28.4倍,预填充速度提升14.2倍,以及…
MiniMax Sparse Attention (MSA) 通过增加一个路由分支,选择性选择键值块进行注意力计算,在100万token时实现了注意力计算量最高减少28.4倍,在H800 GPU上实现了14.2倍更快的预填充和7.6倍更快的解码,同时匹配全注意力基准性能。
@tetsuoai: 注意力机制是一种查找。每个token构建一个查询,与序列中的每个键进行比较,并拉取值向量…
将Transformer中的注意力机制解释为一种查找操作:每个token构建查询,与键进行比较,并检索加权的值向量,附带视频覆盖完整流程。
使用稀疏Transformer进行生成建模
OpenAI推出了稀疏Transformer,一种深度神经网络,将注意力机制的复杂度从O(N²)优化到O(N√N),使得能够对长度超过以前30倍的序列进行建模,适用于文本、图像和音频领域。该模型采用稀疏注意力模式和基于检查点的内存优化技术,可以训练深达128层的网络,在多个领域实现了最先进的性能。
通过Gist Tokens的简化稀疏注意力
本文介绍了简化稀疏注意力(SSA),一种在持续预训练中使用Gist令牌的方法,能够在推理时无需架构更改即可实现高效的分块选择,取得了高压缩比,并在LongBench和检索增强生成等长上下文任务上优于基线。