✨ 要点🔬 技术摘要
想象一下,你正试图记住一个长达 100 万字的完整故事。
旧问题: “文件柜” vs. “背包” 目前的 AI 模型(Transformer)工作起来就像一个文件柜 。每当它们读到一个新词,就会在柜子里增加一个新的文件夹。如果故事很短,文件柜就很小,容易管理。但如果这个故事长达 100 万字,文件柜就会变得极其庞大、沉重且难以检索。计算机必须在故事的每一步都带着这整个文件柜。这就是为什么目前的 AI 在处理超长上下文时会遇到困难;它们要么空间不够,要么运行速度过慢。
其他模型(如 GDN 或 Mamba 等线性 RNN)尝试变得更聪明。它们使用一个背包 。与其携带所有的文件夹,不如将故事总结成几条笔记,然后把剩下的东西扔掉。这让背包无论故事多长都能保持轻便和快速。然而,问题在于这个背包太小了 。它只能装下极少的总结信息,因此当 AI 读到故事结尾时,它会忘记开头的重要细节。
新解决方案:稀疏增量记忆 (Sparse Delta Memory, SDM) 论文作者引入了一种名为稀疏增量记忆 (SDM) 的新系统。你可以把它想象成一个 AI 可以即时访问的巨大的、神奇的图书馆 ,但它在任何特定时刻只会取出它当前需要的特定书籍。
它是如何工作的,这里使用简单的类比:
巨大的图书馆(记忆): 与其使用一个小背包,SDM 拥有一个拥有数百万个书架(记忆槽)的巨大图书馆。与旧的背包相比,这规模巨大,它可以容纳关于这个故事的海量信息。
聪明的图书管理员(稀疏访问): 你可能会想:“如果图书馆这么大,找对书会不会花很长时间?” 论文指出:不会 。SDM 使用了一个“稀疏”系统。想象一下,图书管理员并不需要走遍每一个过道。相反,他们有一个特殊的索引卡系统。当 AI 需要信息时,它只查看与当前单词最相关的极少数特定书架(例如在数百万个书架中只看 64 个)。它会忽略其余的部分。
结果: AI 获得了庞大记忆(整个图书馆)带来的好处,但仅支付了检查少量书架的能量成本。这就像拥有一个超级计算机大脑,能够记住一切,但在每一瞬间只“思考”最重要的东西。
“增量”更新(便利贴): 当 AI 学到新知识时,它并不会重写整个图书馆。它使用一种“增量 (Delta)”规则。这就像是在特定书的特定页面上贴一张便利贴 。它只更新记忆中需要改变的部分,让其余部分保持原样。这防止了 AI 产生混乱或“覆盖”掉旧的、有用的记忆。
“预加载”的起点(预装的大脑): 论文还提到,SDM 可以在开始阅读故事之前进行“预加载”知识。想象一下,在开始工作前,先给图书管理员一套关于常识(如历史、科学或常识)的百科全书。这使得 AI 从一开始就能更好地理解世界,而不仅仅是死记硬背它正在阅读的故事。
论文的研究发现 研究人员将这种新的“图书馆”与旧的“背包”(GDN)以及沉重的“文件柜”(全注意力机制/Full Attention)进行了对比测试。
记忆 vs. 速度: 他们证明了你可以将记忆扩大数千倍 ,而不会让计算机变慢或消耗更多电力。
长篇故事: 在进行长任务测试(如阅读整本书或长代码项目)时,SDM 对细节的记忆能力远优于旧的背包模型。它的表现几乎与沉重的“文件柜”一样好,却没有任何速度上的惩罚。
更聪明的思考: 由于记忆容量巨大,AI 也可以在其中存储通用知识。这使得它不仅擅长记忆故事,还能更好地进行推理和回答问题。
不足之处 论文承认了一个局限性:虽然速度 很快,但这个巨大图书馆所需的存储空间 仍然很大。它占用大量的计算机内存 (RAM),其大小与模型本身相当。然而,作者认为这仍然优于另一种选择,因为当故事变得非常长时,“文件柜”(当前的 AI)最终会彻底耗尽内存。
总结 SDM 就像是给了 AI 一个巨大的、无限的笔记本 ,它可以记录下所有内容,但每次只需要翻阅几页 就能找到所需的信息。这使得 AI 能够完美地记住长篇故事,而不会感到疲劳或变慢。
技术摘要:稀疏增量记忆 (Sparse Delta Memory, SDM)
问题陈述
线性循环神经网络(RNN),如 Gated DeltaNet (GDN) 和 Mamba2,具有固定内存和每 Token 计算量的优势,这使得它们在理论上能够处理任意长度的上下文。然而,由于其隐藏状态规模较小,它们在长上下文召回和上下文学习方面的实际表现受到限制。在标准的线性 RNN 中,增加状态规模会导致由于密集状态更新(矩阵-向量乘法)而引起的计算量(FLOPs)线性增长,从而产生难以承受的计算瓶颈。相反,传统的带有 Softmax 注意力的 Transformer 架构虽然保持了高召回率,但其 Key-Value (KV) 缓存的内存和计算成本会随着序列长度的增加而线性增长。
核心挑战在于:如何在不增加每 Token 计算量(FLOPs)的情况下,将线性 RNN 的隐藏状态容量提高几个数量级,以提升其长上下文性能。
方法论:稀疏增量记忆 (SDM)
作者引入了 稀疏增量记忆 (SDM) ,这是一种扩展了 Gated DeltaNet 的架构,它通过基于乘积键记忆 (Product-Key Memory, PKM) 的稀疏寻址方案取代了密集的键值外积。
核心机制
显式稀疏记忆: SDM 不再维护一个密集的矩阵 M t ∈ R d q k × d v M_t \in \mathbb{R}^{d_{qk} \times d_v} M t ∈ R d q k × d v ,而是维护一个具有 N N N 个槽位的显式记忆表 M t ∈ R N × d v M_t \in \mathbb{R}^{N \times d_v} M t ∈ R N × d v ,其中 N N N 可以比隐藏维度大出几个数量级(例如,N ≈ 10 6 N \approx 10^6 N ≈ 1 0 6 )。
稀疏键选择: 在每个时间步,投影键 (k ′ k' k ′ ) 和查询 (q ′ q' q ′ ) 被分为两半。它们的外部求和生成了针对记忆槽位的 N N N 个分数。通过使用 Top-W W W (写入)和 Top-R R R (读取)的选择策略,模型识别出特定的记忆槽位进行更新或读取。这种选择过程通过利用 topk ( s 1 ⊕ s 2 ) = topk ( topk ( s 1 ) ⊕ topk ( s 2 ) ) \text{topk}(s_1 \oplus s_2) = \text{topk}(\text{topk}(s_1) \oplus \text{topk}(s_2)) topk ( s 1 ⊕ s 2 ) = topk ( topk ( s 1 ) ⊕ topk ( s 2 )) 的性质,在不实例化完整的 N N N 规模分数矩阵的情况下高效完成。
门控增量更新: 对于选定的 W W W 个写入槽位,模型应用 Gated DeltaNet 更新规则:
遗忘门: M ~ t [ i ] = α t ⋅ M t − 1 [ i ] \tilde{M}_t[i] = \alpha_t \cdot M_{t-1}[i] M ~ t [ i ] = α t ⋅ M t − 1 [ i ]
增量更新: M t [ i ] = M ~ t [ i ] + β t ⋅ k t ( i ) ⋅ ( v t − M ~ t [ i ] ) M_t[i] = \tilde{M}_t[i] + \beta_t \cdot k^{(i)}_t \cdot (v_t - \tilde{M}_t[i]) M t [ i ] = M ~ t [ i ] + β t ⋅ k t ( i ) ⋅ ( v t − M ~ t [ i ])
未被选中的槽位保持不变。
稀疏读取: 输出是选定的 R R R 个读取槽位的加权和。
IsoFLOP 设计
为了确保公平比较,作者将 SDM 设计为与密集的 GDN 基线匹配参数量和 FLOPs:
FLOPs: 每 Token 的成本为 O ( ( W + R ) × d v ) O((W+R) \times d_v) O (( W + R ) × d v ) ,与记忆大小 N N N 无关。通过将 W W W 和 R R R 设置为与 GDN 基线的查询维度相等,计算成本保持一致。
参数量: 线性投影的大小与基线相同。记忆大小 N N N 通过头数 H H H 和投影维度进行控制,使得状态规模可以按 O ( 1 / H 2 ) O(1/H^2) O ( 1/ H 2 ) 进行缩放而不影响 FLOPs。
学习型初始状态
与通常将微小状态初始化为零的 GDN 不同,SDM 将初始记忆状态 M 0 M_0 M 0 视为一个可学习的参数。这使得模型能够直接将预训练知识存储在记忆结构中,使其作为一个在推理过程中持续存在的参数化记忆。
核心贡献
架构: 提出了 SDM,它在保持每 Token 计算量不变的情况下,将线性 RNN 的状态容量扩大了三个数量级(例如,从千字节到吉字节)。
IsoFLOP 验证: 证明了仅增加状态容量(而不增加计算量)即可显著提升性能。
参数化记忆: 引入了线性 RNN 的学习型初始状态 M 0 M_0 M 0 ,表明该机制能有效存储常识性知识并提升推理任务的表现。
缩放法则: 通过实证验证了 SDM 遵循可预测的缩放法则,在所有计算水平下均优于密集的 GDN,并且在 8B 参数规模下超越了 Full Attention 模型。
实验结果
作者在超过 1 万亿个 Token 上训练了参数规模从 1.4B 到 8B 不等的模型。
缩放法则: 在缩放阶梯上,SDM 在所有计算水平下始终实现比 GDN 更低的训练损失。在 8B 规模下,SDM 达到了比 GDN 和 Full Attention 模型都更低的损失。
长上下文召回 (RULER 基准测试): SDM 在长上下文检索任务上显著优于 GDN。在 1.4B 和 8B 规模下,SDM 分别取得了 31.2 和 50.2 的得分,而 GDN 为 20.0 和 34.2。值得注意的是,尽管使用固定的记忆表示,SDM 在多个 RULER 子任务上仍能匹配或超过 Full Attention 的表现。
短上下文与推理: 与 GDN 相比,SDM 在代码数据上的困惑度(Perplexity)更低,且在推理基准测试(如 MMLU, GSM8K, HumanEval)上的平均准确率更高。在 8B 规模下,SDM 的平均准确率超越了 Full Attention。
消融实验:
状态大小: 随着记忆规模的减小,性能呈现单调下降趋势,证实了大规模状态是性能提升的主要驱动力。
学习型初始化: 学习 M 0 M_0 M 0 提升了 SDM 的性能,但对 GDN 的提升微乎其微,这表明大规模容量是有效利用学习型初始化的必要条件。
效率: 虽然由于 HBM 内存访问而非 SRAM 访问的原因,SDM 在 8B 规模下的训练吞吐量比 GDN 慢 1.49 倍,但在推理阶段比 Full Attention 快 6 倍。
意义与主张
本文声称 SDM 成功弥合了线性 RNN 的效率与 Transformer 的长上下文能力之间的差距。通过稀密性设计,SDM 解耦了记忆容量与计算成本,从而实现了:
恒定空间/计算: 处理任意长度的序列(已演示高达 100 万个 Token),而不会出现 KV 缓存那样的无界内存增长。
卓越的长上下文性能: 在长上下文检索和上下文学习方面,实现了线性 RNN 中的最先进水平,并达到了与 Full Attention 竞争的水平。
参数化知识存储: 能够在记忆状态本身中学习并存储预训练知识,从而提升通用推理和常识性任务的表现。
作者承认存在局限性,特别是与模型参数相当的大规模记忆足迹需要大量的 HBM 资源,且目前的内核实现效率低于优化的密集 GDN 内核。然而,他们认为 SDM 为开发具有改进长期记忆能力的智能体,以及处理长视频或超长推理轨迹开辟了新的可能性。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。