新闻  |   论坛  |   博客  |   在线研讨会
Transformer取代者登场!微软、清华刚推出RetNet:成本低、速度快、性能强(3)
计算机视觉工坊 | 2023-07-19 19:43:41    阅读:136   发布文章

与以往方法的联系和区别


表 1 从不同角度对 RetNet 与以往的方法进行了比较。对比结果与图 2 所示的「不可能三角」相呼应。此外,RetNet 对于长序列具有线性记忆复杂性,因为它采用了分块循环表示。


图片

Transformer:retention 的并行表示与 Transformers [VSP^+17] 有着相似的思路。最相关的 Transformer 变体是 Lex Transformer [SDP^+22],它实现了 xPos 作为位置嵌入。如式 (3) 所示,retention 的推导与 xPos 一致。与注意力相比,retention 消除了 softmax 并使循环公式成为可能,这非常有利于推理。


S4:与式 (2) 不同,如果 Q_n 和 K_n 是 content-unaware 的,则公式可简并为 S4 [GGR21],其中图片

Linear Attention:变体通常使用各种 kernel图片来取代 softmax 函数。然而,线性注意力难以有效地编码位置信息,导致模型性能下降。此外,研究者从头开始重新检查序列建模,而不是以近似 softmax 为目标。

AFT/RWKV:Attention Free Transformer (AFT) 简化了点积对元素运算的关注,并将 softmax 移动到关键向量。RWKV 用指数衰减取代 AFT 的位置嵌入,并循环运行模型进行训练和推理。相比之下,retention 保留了高维状态来编码序列信息,有助于提高表达能力和性能。

xPos/RoPE:与为 Transformers 提出的相对位置嵌入方法相比,公式(3)呈现出与 xPos [SDP^+22] 和 RoPE [SLP^+21] 类似的表达式。


Sub-LayerNorm:如公式(8)所示,retention 层使用 Sub-LayerNorm [WMH^+22] 对输出进行归一化。由于多尺度建模导致不同头的方差不同,研究者将原始的 LayerNorm 替换为 GroupNorm。


实验结果


该研究进行了大量的实验来评估 RetNet,包括语言建模任务、下游任务上零样本、少样本学习性能,此外,研究者还比较了 RetNet 训练和推理的速度、内存消耗和延迟等指标。


与 Transformer 的比较

语言建模任务。图 5 报告了基于 Transformer 和 RetNet 的语言模型在验证集上的困惑度(perplexity)结果。实验给出了 13 b、2.7B 和 6.7B 三种模型尺寸的缩放曲线。表明,RetNet 取得了与 Transformer 可比较的结果。


更重要的是,这一结果还表明了 RetNet 在大小扩展方面更具优势。除了性能优势外,实验中 RetNet 的训练也非常稳定。RetNet 是 Transformer 的有力竞争对手。研究者根据经验发现,当模型规模大于 2B 时,RetNet 开始超越 Transformer。


图片


该研究还在各种下游任务上对语言模型进行了比较。他们使用 6.7B 大小的模型进行了零样本和 4 个样本学习的评估,如表 3 所示。表中展示的关于准确率的数字与图 5 中呈现的语言建模困惑度一致。在零样本学习和上下文学习设置中,RetNet 在性能上与 Transformer 相当。


图片


训练成本


表 4 比较了 Transformer 和 RetNet 在训练速度和内存开销方面的结果,其中训练序列长度为 8192。此外,该研究还将其与 FlashAttention 进行了比较。


实验结果表明,在训练过程中,RetNet 比 Transformer 更节省内存,并且具有更高的吞吐量。即使与 FlashAttention 相比,RetNet 在速度和内存成本方面仍然具有竞争力。此外,由于不依赖于特定的内核,用户可以轻松高效地在其他平台上训练 RetNet。例如,研究者可以在具有良好吞吐量的 AMD MI200 集群上训练 RetNet 模型。


图片


推理成本


图 6 比较了 Transformer 和 RetNet 在推理过程中的内存成本、吞吐量和延迟。实验中使用了 A100-80GB GPU 评估了 6.7B 模型。图 6 显示,RetNet 在推理成本方面优于 Transformer。


图片


内存:如图 6a 所示,由于 KV(键和值)缓存,Transformer 的内存成本呈线性增长。相比之下,RetNet 的内存消耗即使对于长序列也保持一致。


吞吐量:如图 6b 所示,随着解码长度的增加,Transformer 的吞吐量开始下降。相比之下,RetNet 通过利用 Retention 的循环表征,在解码过程中具有更高的吞吐量,并且与长度无关。


延迟:延迟是部署中的重要指标,它极大地影响用户体验。图 6c 报告了解码延迟。实验结果显示,增加批次大小会使 Transformer 的延迟变大。此外,Transformer 的延迟随着输入长度的增加而增加得更快。为了使延迟可接受,研究者不得不限制批次大小,这会损害 Transformer 的整体推理吞吐量。相比之下,RetNet 的解码延迟优于 Transformer,并且在不同的批次大小和输入长度下几乎保持不变。


与 Transformer 变体比较


下表表明,RetNet 在不同的数据集上优于先前的方法。RetNet 不仅在领域内语料库上取得更好的评估结果,还在几个领域外数据集上获得更低的困惑度。这种优越的性能使得 RetNet 成为 Transformer 的有力继任者。


图片

消融实验


下表列出了 RetNet 的各种设计选择,并在表 6 中报告了语言建模结果。


图片


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客