Gated Attention和Gated DeltaNet是近期在长文本大模型特别是探索O(N)O(N)O(N)线性复杂度的高效序列模型中非常核心的架构创新。它们分别解决了传统 Transformer 在扩展上下文时面临的注意力坍缩Attention Sinks和线性注意力记忆冲突Memory Collisions问题。以下是这两种架构的数学本质及其相较于传统方法的代差级升级一、 Gated Attention为注意力加上“物理阀门”1. 架构形态传统的 Self-Attention 计算完注意力矩阵并与 Value 相乘后直接将结果输出到下一层。而 Gated Attention 在标准注意力的基础上引入了一个由输入状态计算得出的乘法门控信号Multiplicative Gate。其核心计算公式如下YSoftmax(QKTd)VY \text{Softmax}\left(\frac{QK^T}{\sqrt{d}}\right)VYSoftmax(d​QKT​)VY′Y⊙σ(XWθ)Y Y \odot \sigma(XW_\theta)Y′Y⊙σ(XWθ​)其中XXX是输入隐藏状态σ\sigmaσ通常是 Sigmoid 函数输出000到111之间的值⊙\odot⊙是逐元素相乘Element-wise multiplication。2. 传统方法的痛点与 Gated Attention 的升级传统痛点Attention Sinks在传统 Transformer 中Softmax 的特性要求每一行的注意力权重之和必须为 1。当遇到一些无关紧要的 Token 时模型无处安放这些权重往往只能强行“倾倒”在序列开头的某些 Token 上如[BOS]这会导致这些 Token 出现极端的激活值Massive Activations引发训练和量化时的数值不稳定。架构升级Gated Attention 相当于加了一个“物理阀门”。由于是乘法门控如果当前 Head 的注意力输出全是噪声门控网络可以直接输出接近000的值将其彻底“归零”截断信息流而不需要强行分配权重。这极大地提升了模型在极长上下文训练中的数值稳定性和去噪能力。Attention Sink注意力汇聚 / 注意力水槽是近年来在大语言模型特别是基于 Transformer 架构的模型研究中发现的一个非常有趣且关键的现象。打个形象的比方它就像是模型内部的一个“垃圾桶”或“排水槽”。1. 现象是什么研究人员在观察 LLM 生成文本时发现无论当前在生成什么词模型都会把极其不成比例的注意力权重Attention Weights分配给输入序列的最开头的几个 Token通常是第一个 Token比如s或[BOS]。即便这第一个 Token 对于当前正在生成的词没有任何语义上的联系它依然会吸收掉大量的注意力。这个最初始的 Token 就被称为Attention Sink。2. 为什么会产生 Attention Sink数学本质这完全是被 Transformer 中的Softmax 函数“逼”出来的。在标准的注意力机制中注意力分数的计算公式包含一个 Softmax 操作Attention(Q,K,V)Softmax(QKTd)V \text{Attention}(Q, K, V) \text{Softmax}\left(\frac{QK^T}{\sqrt{d}}\right)VAttention(Q,K,V)Softmax(d​QKT​)VSoftmax 有一个铁律每一行输出的权重之和必须等于 1。∑jWeighti,j1 \sum_{j} \text{Weight}_{i, j} 1j∑​Weighti,j​1在实际推理中当模型预测下一个词时它可能环顾四周发现前面的所有历史上下文都不太重要即当前的 Query 找不到特别匹配的 Key。但是由于 Softmax 的铁律它必须把这 “1” 的权重分配出去。它不能输出全 0。久而久之在预训练的过程中模型学到了一个“作弊”技巧把序列开头的第一个 Token它对所有后续 Token 都是可见的当成一个安全的垃圾桶。当模型不需要关注任何有意义的历史信息时它就把多余的注意力权重全部倾倒在这个初始 Token 上。3. 这个发现为什么极其重要工业界的影响这个现象的发现直接解决了一个长期困扰学术界的难题如何让 LLM 处理无限长度的文本而不撑爆显存在过去为了节省显存人们尝试过滑动窗口Sliding Window机制——即只保留最近的 N 个 Token 的 KV Cache把更早的 Token 丢弃。但结果是灾难性的一旦把最开头的几个 Token 移出窗口模型的语言生成能力会瞬间崩溃开始胡言乱语。原因就在于你把模型的“垃圾桶”给扔了没有了 Attention Sink模型无处安放那些无用的注意力权重被迫把它们分配给最近的 Token导致语义彻底混乱。解决方案StreamingLLM 的诞生MIT 等机构的研究人员基于这个原理提出了 StreamingLLM 框架。做法极其简单粗暴却有效在推理时永远保留最开头的 4 个 Token即 Attention Sinks的 KV Cache再加上最近的一小段滑动窗口。就凭这一招就可以让 Llama 等模型在有限的显存下稳定生成几百万甚至上千万长度的文本且困惑度Perplexity完全不崩。二、 Gated DeltaNet兼具 RNN 速度与 Transformer 精度的“手术刀”Gated DeltaNet 是一种线性注意力Linear Attention变体它将 Mamba 类模型的门控衰减Gating与 DeltaNet 的增量更新规则Delta Rule完美结合目的是彻底消除O(N2)O(N^2)O(N2)的 KV Cache 瓶颈。1. 架构形态在 Gated DeltaNet 中序列信息不再以KKK和VVV的形式按长度堆叠而是被压缩进一个固定大小的矩阵状态Memory StateStS_tSt​中随时间步ttt进行 RNN 式的递归更新。其核心状态更新公式为StαtSt−1(I−βtktktT)βtvtktTS_t \alpha_t S_{t-1}(I - \beta_t k_t k_t^T) \beta_t v_t k_t^TSt​αt​St−1​(I−βt​kt​ktT​)βt​vt​ktT​αt∈(0,1)\alpha_t \in (0, 1)αt​∈(0,1)是遗忘门Decay Gate由当前输入动态计算控制全局记忆的留存度。βt\beta_tβt​是更新门Update Gate控制新知识写入的强度。(I−βtktktT)(I - \beta_t k_t k_t^T)(I−βt​kt​ktT​)是Householder 变换矩阵其几何意义是在状态空间中将与当前ktk_tkt​相关的子空间直接“正交化”清空。2. 传统方法的痛点与 Gated DeltaNet 的升级传统线性注意力的痛点记忆冲突早期的线性注意力如 Additive Linear Attention状态更新规则是简单的相加StSt−1vtktTS_t S_{t-1} v_t k_t^TSt​St−1​vt​ktT​。这导致模型只能像往黑板上不断写字一样累积信息。当遇到相同或相似的 Key 时新旧 Value 会混杂在一起Memory Collisions导致模型在做“大海捞针”Needle-in-a-Haystack等精确检索任务时一塌糊涂。Gated DeltaNet 的两大核心升级Surgical Eraser手术刀式的精确擦除得益于 Delta Rule即上述公式中的 Householder 变换模型在写入新知识vtv_tvt​之前会先去St−1S_{t-1}St−1​里精准定位并擦除旧的、ktk_tkt​对应的记忆。这不再是简单的“相加”而是“修改/覆写”使得固定大小的隐藏状态拥有了极其惊人的容量和表达能力。Global Reset全局状态重置得益于 Mamba 风格的门控αt\alpha_tαt​当模型检测到话题发生剧烈切换比如输入了一篇全新的文章时αt\alpha_tαt​会迅速趋近于000相当于瞬间擦除整块黑板避免旧上下文对新任务产生“幽灵干扰”。并且在工程实现上Gated DeltaNet 可以通过 WY Representation 将串行的 RNN 计算转化为 Chunkwise 并行分块矩阵乘法 GEMM从而充分打满 GPU 的算力实现极高的训练吞吐量。三、 工业界如何组合它们Hybrid Architecture在将研究推向工业级 VLM 或超大参数模型时如近期的 Qwen 系列的探索分支、Kimi 等业界发现纯粹的线性注意力依然会因为“压缩瓶颈”在复杂逻辑推理上略逊一筹。因此当前最前沿的工程解法是混合架构Hybrid Architecture3:1 比例交替比如每 4 个 Transformer Block 中有 3 层使用Gated DeltaNet用于以O(N)O(N)O(N)的代价极速处理和压缩海量历史 Context消除绝大部分 KV Cache 显存占用。第 4 层使用Gated Attention保留精确的 Token 级全局感受野确保复杂推理的准确性。这种组合既做到了推理速度和显存的“线性红利”又保住了大模型强大的上下文学习ICL与推理下限。