欢迎光临
我们一直在努力

【论文精读】Retentive Network (RetNet) 详解:Transformer 的继任者来了

Retentive Network (RetNet) 详解:Transformer 的继任者来了

前言

Transformer 作为大语言模型的事实性基础架构,解决了循环模型串行训练的问题,但却面临推理效率极低的痛点 —— 每一步推理复杂度为 O (N),且键值缓存(KV Cache)受内存限制,序列越长,GPU 内存占用、延迟越高,推理速度越慢。

为了解决这个问题,学界一直在寻找能同时满足训练并行、低成本推理、高性能的架构,这三者也被称为大模型架构设计的 “不可能三角”。而微软和清华大学联合提出的Retentive Network (RetNet),首次打破了这个三角约束,成为 Transformer 极具潜力的继任者。

本文将用通俗易懂的方式拆解 RetNet 的核心原理、创新点和实验效果,让大家彻底搞懂这个新一代大模型架构。

一、RetNet 的核心目标

解决 Transformer 的核心痛点,实现三大目标的同时满足:

  • 训练并行:和 Transformer 一样,能充分利用 GPU 的并行计算能力,高效训练大模型;
  • 低成本推理:实现 O (1) 复杂度的推理,推理成本与序列长度无关,大幅降低内存占用、延迟,提升吞吐量;
  • 高性能:在语言建模、零样本 / 少样本下游任务上,性能与 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†​Vn​Retention(Xn​)=Qn​Sn​其中γ是衰减系数,控制历史信息的权重,†表示共轭转置,这一步的复杂度是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 个:

  • 多尺度衰减:为每个 Retention 头设置不同的γ(衰减系数),让模型能捕捉不同长度的依赖关系(有的头关注近期信息,有的头关注远期信息);
  • Swish 门控:增加模型的非线性表达能力,提升建模性能;
  • GroupNorm 归一化:由于不同头的衰减尺度不同,输出方差差异大,用 GroupNorm 对每个头单独归一化,提升训练稳定性。
  • 3.3 Retention 与自注意力的核心区别

    很多人会把 Retention 和自注意力对比,核心差异有 2 点,也是 RetNet 的优势所在:

  • 移除 Softmax:自注意力的 Softmax 是导致无法循环推理的关键,Retention 用指数衰减矩阵 D替代 Softmax,既实现了因果依赖,又能推导出循环形式;
  • 无 KV Cache:RetNet 推理时用隐藏状态Sₙ记录历史信息,无需存储所有 K/V 值,内存占用固定,而 Transformer 必须依赖 KV Cache 存储历史 K/V,内存随序列线性增加。
  • 简单说: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 的训练表现依然亮眼:

  • 内存占用:比原生 Transformer 低 25%-50%,比 FlashAttention 优化的 Transformer 也略低;
  • 训练吞吐量:比原生 Transformer 高 7 倍以上,比 FlashAttention 优化的 Transformer 高约 10%-20%;
  • 跨平台性:无需依赖特定 GPU 内核(如 FlashAttention 仅对 A100 优化),在 AMD MI200 等 GPU 上也能实现高效训练。
  • 5.4 推理成本:碾压 Transformer,核心优势所在

    这是 RetNet 最核心的优势,以 6.7B 模型、8k 序列长度为例,RetNet 的推理表现:

  • 内存占用:固定不变(模型权重占 97%,隐藏状态仅占 3%),而 Transformer 随序列长度线性增加,RetNet 比 Transformer 节省 70% 内存;
  • 吞吐量:比 Transformer 高 8.4 倍,且吞吐量与序列长度无关(长度不变),而 Transformer 的吞吐量随序列长度增加快速下降;
  • 延迟:延迟远低于 Transformer,且对 batch size 不敏感(batch size 增大,延迟几乎不变),而 Transformer 的延迟随 batch size 和序列长度增加快速上升。
  • 简单说:RetNet 推理时,不管序列多长、batch 多大,速度都快、内存都省,这对大模型的落地部署至关重要。

    5.5 对比其他高效变体:性能全方位领先

    在 200M 小模型下,RetNet 与 Linear Transformer、RWKV、H3、Hyena 等高效 Transformer 变体对比,在域内 / 域外语言建模的困惑度均为最低,且优势显著,证明 Retention 机制的建模能力远超其他高效注意力替代方案。

    六、RetNet 的消融实验:哪些设计最关键?

    论文通过消融实验验证了 RetNet 各模块的重要性,核心结论如下(移除某模块后,模型性能均下降):

  • Swish 门控:提升模型非线性表达能力,移除后困惑度显著上升;
  • GroupNorm 归一化:平衡多尺度头的输出方差,提升训练稳定性,移除后性能下降;
  • 指数衰减 γ:控制历史信息的权重,移除后(γ=1)模型无法有效捕捉长依赖,性能下降;
  • 多尺度衰减:为不同头设置不同 γ,比所有头用相同 γ 的性能更好;
  • 更大的头维度:头维度越大,隐藏状态的记忆容量越强,性能越好(论文中默认头维度 256 为最优)。
  • 七、RetNet 的未来展望

    RetNet 作为 Transformer 的继任者,不仅在理论和实验上验证了优势,还拥有广阔的落地和扩展空间,论文中提出了未来的研究方向:

  • 模型超大规模缩放:将 RetNet 扩展到更大的模型尺寸(如 100B/1T)和更多的训练步数,探索其缩放规律;
  • 长序列与结构化提示:结合结构化提示,利用 Retention 机制压缩长期记忆,进一步提升长序列建模能力;
  • 多模态大模型:将 RetNet 作为骨干架构,训练视觉 – 语言、音频 – 语言等多模态大模型;
  • 边缘设备部署:利用 RetNet 的 O (1) 推理优势,将大模型部署到手机、嵌入式等边缘设备;
  • 内核优化:对 RetNet 做 FlashAttention 类似的内核融合优化,进一步降低训练和推理成本。
  • 八、总结

    RetNet 的提出,首次打破了大模型架构设计的 “不可能三角”,实现了训练并行、低成本推理、高性能的同时满足,其核心创新是Retention 机制以及三种数学等价的计算范式。

    相比 Transformer,RetNet 的核心优势可以总结为:

  • 推理效率质的飞跃:O (1) 复杂度,无 KV Cache,内存占用固定,吞吐量提升 8.4 倍以上,延迟大幅降低;
  • 训练效率比肩甚至超越:更省内存、更高吞吐量,跨平台性更好,无需依赖特定 GPU 内核;
  • 性能持平并超越:模型越大,性能优势越明显,下游零样本 / 少样本表现更优;
  • 长序列建模更高效:分块循环形式实现线性复杂度,远优于 Transformer 的平方复杂度。
  • 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 有帮助,欢迎点赞 + 收藏 + 关注,后续会持续更新大模型架构、训练、部署相关的干货内容!

     

    赞(0)
    未经允许不得转载:171主机测评 » 【论文精读】Retentive Network (RetNet) 详解:Transformer 的继任者来了
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址