Retentive Network (RetNet) 详解:Transformer 的继任者来了
前言
Transformer 作为大语言模型的事实性基础架构,解决了循环模型串行训练的问题,但却面临推理效率极低的痛点 —— 每一步推理复杂度为 O (N),且键值缓存(KV Cache)受内存限制,序列越长,GPU 内存占用、延迟越高,推理速度越慢。
为了解决这个问题,学界一直在寻找能同时满足训练并行、低成本推理、高性能的架构,这三者也被称为大模型架构设计的 “不可能三角”。而微软和清华大学联合提出的Retentive Network (RetNet),首次打破了这个三角约束,成为 Transformer 极具潜力的继任者。
本文将用通俗易懂的方式拆解 RetNet 的核心原理、创新点和实验效果,让大家彻底搞懂这个新一代大模型架构。
一、RetNet 的核心目标
解决 Transformer 的核心痛点,实现三大目标的同时满足:
二、先搞懂:为什么 Transformer 推理效率低?
Transformer 的自注意力机制在训练时可以并行计算,但自回归推理时必须串行:每生成一个新 token,都要保留之前所有 token 的 K/V 值(KV Cache),导致:
- 内存占用随序列长度线性增加(O (N));
- 推理延迟随序列长度和 batch size 快速上升;
- 吞吐量随序列长度增加而显著下降。
而此前的改进方案都存在短板:
- 线性注意力:近似自注意力,牺牲了建模能力和性能;
- 重回循环模型:实现了高效推理,但失去了训练并行性;
- 替换注意力机制(如 S4/Hyena):性能或效率难以兼顾。
RetNet 则从根源上重新设计了序列建模的机制,兼顾了所有优势。
三、RetNet 的核心创新:Retention 机制(保留机制)
RetNet 的核心是Retention 机制,它是自注意力的替代方案,最关键的特点是同时支持三种计算范式,且三种范式数学等价、性能一致,分别适配训练和推理的不同场景。
先明确一个基础:RetNet 的网络结构和 Transformer 类似,由 L 个相同的块堆叠而成,每个块包含多尺度保留(MSR)模块和前馈网络(FFN)模块,也采用残差连接和 Pre-LayerNorm 设计,上手成本极低。
3.1 Retention 机制的数学本质:循环与并行的对偶性
Retention 机制的核心思路是从循环建模出发,推导出其并行形式,实现 “训练用并行、推理用循环” 的无缝切换。
简单理解核心公式逻辑:
循环形式:用隐藏状态Sₙ记录历史信息,新状态由历史状态衰减后,加上当前 token 的 K/V 信息得到;输出则由当前 Q 和隐藏状态计算得到。Sn=γSn−1+Kn†VnRetention(Xn)=QnSn其中γ是衰减系数,控制历史信息的权重,†表示共轭转置,这一步的复杂度是O(1),完美适配推理。
并行形式:通过数学推导,将循环形式展开为并行计算的形式,和 Transformer 的自注意力计算逻辑相似,能充分利用 GPU 并行能力,适配训练。Retention(X)=(QK⊤⊙D)V其中D是融合了因果掩码和指数衰减的矩阵,只计算当前 token 对历史 token 的依赖,和自注意力的因果掩码逻辑一致。
分块循环形式(Chunkwise Recurrent):为长序列建模设计的混合形式,将输入序列分成多个 chunk:
- 块内:用并行形式计算,保证计算速度;
- 块间:用循环形式传递信息,大幅降低内存占用。该形式让 RetNet 的长序列建模复杂度为O(N)(线性),远优于 Transformer 的 O (N²)。
3.2 多尺度保留(MSR):Retention 的增强版
原始 Retention 机制通过多尺度 + 门控 + 归一化做了增强,形成多尺度保留(MSR),也是 RetNet 的核心模块,主要优化点有 3 个:
3.3 Retention 与自注意力的核心区别
很多人会把 Retention 和自注意力对比,核心差异有 2 点,也是 RetNet 的优势所在:
简单说:Retention 机制既拥有自注意力的并行训练能力,又拥有循环模型的 O (1) 推理效率。
四、RetNet 的三种计算范式:各司其职,无缝切换
Retention 机制的三种计算范式是 RetNet 的灵魂,数学等价、性能一致,分别适配不同的训练和推理场景,这也是 RetNet 能打破 “不可能三角” 的关键。
4.1 并行形式(Parallel)
- 适用场景:模型训练(短序列 / 常规序列);
- 核心优势:和 Transformer 一样,能并行计算整个序列的特征,充分利用 GPU 的并行计算能力,训练效率高;
- 复杂度:O (N²)(和自注意力一致,训练阶段可接受)。
4.2 循环形式(Recurrent)
- 适用场景:模型推理(自回归解码);
- 核心优势:O (1) 复杂度,推理成本与序列长度无关,无需 KV Cache,内存占用固定,延迟低、吞吐量高;
- 复杂度:O (1)(推理的最优复杂度)。
4.3 分块循环形式(Chunkwise Recurrent)
- 适用场景:长序列训练 / 推理(如序列长度 8k/16k);
- 核心优势:块内并行、块间循环,兼顾并行计算速度和长序列内存效率,长序列建模复杂度为 O (N)(线性);
- 复杂度:O (N)(长序列的最优复杂度)。
五、RetNet 的实验效果:全方位吊打 Transformer
论文中做了大量对比实验,涵盖语言建模、下游任务、训练成本、推理成本等维度,实验对象包括 Transformer、FlashAttention 优化的 Transformer,以及线性注意力、RWKV、H3、Hyena 等高效 Transformer 变体,RetNet 的表现全方位领先。
5.1 语言建模性能:模型越大,优势越明显
在 1.3B/2.7B/6.7B 三种模型尺寸下,RetNet 的困惑度(PPL,越低越好)与 Transformer 持平,当模型尺寸超过 2B 时,RetNet 开始反超 Transformer,且模型越大,优势越显著。
在不同上下文长度(512/1024/2048)下,RetNet 的困惑度均低于 Transformer,且能更好地利用长上下文提升性能。
5.2 下游任务:零样本 / 少样本表现更优
在 6.7B 模型下,RetNet 在 HellaSwag、BoolQ、COPA、PIQA 等下游任务的零样本 / 4 样本准确率均高于 Transformer,平均准确率提升约 3.5%,证明其建模能力的优越性。
5.3 训练成本:更省内存、更快速度,比肩 FlashAttention
即使使用原生 PyTorch 实现(未做内核融合优化),RetNet 的训练表现依然亮眼:
5.4 推理成本:碾压 Transformer,核心优势所在
这是 RetNet 最核心的优势,以 6.7B 模型、8k 序列长度为例,RetNet 的推理表现:
简单说:RetNet 推理时,不管序列多长、batch 多大,速度都快、内存都省,这对大模型的落地部署至关重要。
5.5 对比其他高效变体:性能全方位领先
在 200M 小模型下,RetNet 与 Linear Transformer、RWKV、H3、Hyena 等高效 Transformer 变体对比,在域内 / 域外语言建模的困惑度均为最低,且优势显著,证明 Retention 机制的建模能力远超其他高效注意力替代方案。
六、RetNet 的消融实验:哪些设计最关键?
论文通过消融实验验证了 RetNet 各模块的重要性,核心结论如下(移除某模块后,模型性能均下降):
七、RetNet 的未来展望
RetNet 作为 Transformer 的继任者,不仅在理论和实验上验证了优势,还拥有广阔的落地和扩展空间,论文中提出了未来的研究方向:
八、总结
RetNet 的提出,首次打破了大模型架构设计的 “不可能三角”,实现了训练并行、低成本推理、高性能的同时满足,其核心创新是Retention 机制以及三种数学等价的计算范式。
相比 Transformer,RetNet 的核心优势可以总结为:
RetNet 不仅是 Transformer 的优秀继任者,更是大模型落地部署的关键架构突破 —— 解决了 Transformer 推理效率低、部署成本高的核心痛点,让大模型在边缘设备、高并发场景的落地成为可能。
相信在未来,RetNet 会成为大语言模型、多模态大模型的主流架构,而基于 RetNet 的各类优化和应用也会层出不穷。
附:论文关键信息
- 论文标题:Retentive Network: A Successor to Transformer for Large Language Models
- 作者:Yutao Sun(孙雨涛)等(微软研究院 + 清华大学)
- 论文地址:https://arxiv.org/abs/2307.08621
- 代码地址:https://aka.ms/retnet
创作不易,如果这篇文章对你理解 RetNet 有帮助,欢迎点赞 + 收藏 + 关注,后续会持续更新大模型架构、训练、部署相关的干货内容!




