@akshay_pachaar: 扩展上下文窗口不仅仅是关于更大的矩阵。在传统的Transformer中,将token数量扩大8倍会…
摘要
解释了由于注意力的二次复杂度,扩展Transformer上下文窗口所带来的内存挑战,并暗示了解决方案。
查看缓存全文
缓存时间: 2026/06/03 13:50
你正在参加 OpenAI 的研究科学家面试。
面试官问:
“你如何将大语言模型的上下文长度从 2K 扩展到 128K token?”
你:“我会在 128K 上下文的长文档上微调模型。”
面试结束。
但以下是你遗漏的部分:
扩展上下文窗口不仅仅是矩阵变大那么简单。
在传统 Transformer 中,token 数量扩大 8 倍,由于注意力机制的二次复杂度,内存需求会扩大 64 倍。请看下图!
那么,我们该如何应对呢?
继续……
- 稀疏注意力(Sparse Attention)
它通过以下方式将注意力计算限制在 token 的子集上:
- 使用局部注意力(token 只关注邻居 token)。
- 让模型学习关注哪些 token。
但这会在计算复杂度和性能之间产生权衡。
以下是论文中的直观解释:
想象你在读一本书。对于你读的每一个句子,你是否需要完全了解整个情节才能理解大部分内容(全局注意力)?
还是只要知道当前章节的内容(局部注意力)就足够了,同时偶尔回想一下它与主要情节的关联(全局注意力)?
在绝大多数情况下,答案是后者。
- Flash Attention
这是一种快速且内存高效的方法,它保留了传统注意力机制的精确性,即使用全局注意力但更高效。
其核心理念是优化 GPU 内存中的数据传输。
让我们来理解!
一些背景知识:
- 线程 是执行的最小单位。
- 多个线程组成一个线程块。
此外:
- 线程块中的线程共享一个快速(但稀缺)的内存,称为 SRAM。
- 所有线程块共享一个全局内存,称为 HBM(容量大但速度慢)。
看这里
注意力机制在 SRAM 和 HBM 之间移动大型矩阵:
计算 QK 时:
- 将矩阵分发到线程
- 计算,然后
- 将乘积发送到 HBM
计算 softmax 时:
- 将乘积分发到线程
- 计算,然后
- 将输出发送到 HBM
对所有层重复操作。
看这里
Flash Attention 采用了硬件层面的优化,利用 SRAM 缓存中间结果。
这样,它减少了冗余的数据移动,相比标准注意力方法,速度提升可达 7.6 倍。
看这里
- DeepSeek 稀疏注意力(DeepSeek Sparse Attention, DSA)
DeepSeek 最近发布的 V3.2 模型引入了 DeepSeek 稀疏注意力(DSA),将复杂度从 O(L²) 降低到 O(Lk),其中 k 是固定的。
工作原理:
一个轻量级的 Lightning Indexer 对每个查询真正重要的 token 进行评分。
使用少量 head,以 FP8 运行,计算成本低。
然后,一个选择机制仅检索 top-k 的键值对。
关键洞察是:无论上下文长度如何,每个查询只选择 2048 个 token。
因此,昂贵的注意力计算只发生在这个小子集上,而不是整个 128K 序列。
在 128K 上下文下,预填充成本从每百万 token 约 $0.65 降至约 $0.35。解码成本从约 $2.4 降至约 $0.8。
而性能保持不变。在某些长上下文基准上,V3.2 实际上得分更高。
稀疏注意力并非新事物。但要在不损失质量的情况下使其奏效很难。
轮到你了:还有哪些其他技术可以增加大语言模型的上下文长度?
感谢阅读。
干杯!:)
相似文章
@VukRosic99: 长上下文Transformer面临两大瓶颈:二次注意力计算和KV缓存(在1M tokens时可达数百GB)…
MiniCPM-SALA是一款9B参数的混合注意力模型,通过在稀疏注意力和线性注意力之间交替插入(每3个线性层插入1个稀疏层)来克服长上下文Transformer的二次计算和KV缓存瓶颈。在256K tokens下,其推理速度比Qwen3-8B快3.5倍,并能在消费级GPU上支持高达1M tokens。该模型采用经济高效的持续训练方法,训练成本降低约75%。
@currying: 非常棒的13页讲解!
一条推文重点介绍了《理解Transformer与注意力机制》,这是一篇13页的论文,从应用数学的角度解释了Transformer架构和注意力机制。
The Context-Ready Transformer
本文介绍了上下文就绪 Transformer,一种循环架构,在 Transformer 块之前对 token 进行预上下文化,在匹配或超越标准 Transformer 性能的同时,实现了显著的推理加速(例如在 A100 上达到 1.7 倍),且层数更少。
@N01ennn: 更大的上下文窗口是死路一条。这篇论文证明了这一点。一项新的CS调查悄然重新定义了整个游戏:事情…
一条推文重点介绍了一篇CS调查论文,该论文认为更大的上下文窗口是死路一条,而记忆工程——将智能体的记忆视为操作系统——才是将真正的AI智能体与自动补全区分开来的关键,使无状态模型能够自我进化。
更大的窗口解决了适配问题,但其他三个问题呢?
本文讨论了AI模型中更大的上下文窗口如何解决适配问题,但未能解决会话间记忆丢失和准确性下降等问题,强调了持续改进记忆的必要性。