今天小编分享的科学经验:Transformer后继有模!MSRA提出全新大模型基础架构:推理速度8倍提升,内存占用减少70%,欢迎阅读。
微软大模型新架构,正式向Transformer发起挑战!
论文标题明晃晃地写道:
Retentive Network(RetNet):大模型领網域 Transformer 的继任者。
论文提出新的 Retention 机制来代替 Attention。来自微软亚研院和清华的研究人员,毫不讳言 " 野心 ",大胆放话:
RetNet 实现了良好的扩展结果、并行训练、低成本部署和高效推理。
这些特性使这一基础架构,成为大语言模型中 Transformer 的有力继承者。
而实验数据也显示,在语言建模任务上:
RetNet 可以达到与 Transformer 相当的困惑度(perplexity)
推理速度达 8.4 倍
内存占用减少 70%
具有良好的扩展性
并且当模型大小大于一定规模时,RetNet 表现会优于 Transformer。
Transformer 果真 " 后继有模 " 了?具体详情,一起来看。
解决 " 不可能三角 "
Transformer 在大语言模型中的重要性毋庸置疑。无论是 OpenAI 的 GPT 系列,还是谷歌的 PaLM、Meta 的 LLaMA,都是基于 Transformer 打造。
但 Transformer 也并非完美无缺:其并行处理机制是以低效推理为代价的,每个步骤的复杂度为 O ( N ) ;Transformer 是内存密集型模型,序列越长,占用的内存越多。
在此之前,大家也不是没想过继续改进 Transformer。但主要的几种研究方向都有些顾此失彼:
线性 attention 可以降低推理成本,但性能较差;
循环神经网络则无法进行并行训练。
也就是说,这些神经网络架构面前摆着一个 " 不可能三角 ",三个角代表的分别是:并行训练、低成本推理和良好的扩展性能。
RetNet 的研究人员想做的,就是化不可能为可能。
具体而言,RetNet 在 Transformer 的基础上,使用多尺度保持(retention)机制替代了标准的自注意力机制。
与标准自注意力机制相比,保持机制有几大特点:
引入位置相关的指数衰减项取代 softmax,简化了计算,同时使前步的信息以衰减的形式保留下来。
引入复数空间表达位置信息,取代绝对或相对位置编码,容易转换为递归形式。
另外,保持机制使用多尺度的衰减率,增加了模型的表达能力,并利用 GroupNorm 的缩放不变性来提高 retention 层的数值精度。
△RetNet 的双重表示
每个 RetNet 块包含两个模块:多尺度保持(MSR)模块和前馈网络(FFN)模块。
保持机制支持以三种形式表示序列:
并行
递归
分块递归,即并行表示和递归表示的混合形式,将输入序列划分为块,在块内按照并行表示进行计算,在块间遵循递归表示。
其中,并行表示使 RetNet 可以像 Transformer 一样高效地利用 GPU 进行并行训练。
递归表示实现了 O ( 1 ) 的推理复杂度,降低了内存占用和延迟。
分块递归则可以更高效地处理长序列。
这样一来,RetNet 就使得 " 不可能三角 " 成为可能。以下为 RetNet 与其他基础架构的对比结果:
在语言建模任务上的实验结果,进一步证明了 RetNet 的有效性。
结果显示,RetNet 可以达到与 Transformer 相似的困惑度(PPL,评价语言模型好坏的指标,越小越好)。
同时,在模型参数为 70 亿、输入序列长度为 8k 的情况下,RetNet 的推理速度能达到 Transformer 的8.4 倍,内存占用减少 70%。
在训练过程中,RetNet 在内存节省和加速效果方面,也比标准 Transformer+FlashAttention 表现更好,分别达到25-50%和7 倍。
值得一提的是,RetNet 的推理成本与序列长度无关,推理延迟对批量大小不敏感,允许高吞吐量。
另外,当模型参数规模大于 20 亿时,RetNet 的表现会优于 Transformer。
研究团队
RetNet 的研究团队,来自微软亚研院和清华大学。
共同一作为孙宇涛和董力。
孙宇涛,清华大学计算机系本科,现在在微软亚研院实习。
董力,微软亚研院研究员。他也是此前引发大量关注的 " 能记住 10 亿 token 的 Transformer" 的论文作者之一。
RetNet 论文的通讯作者是韦福如。他是微软亚洲研究院全球研究合伙人,10 亿 token Transformer 亦是来自他的研究团队。
论文地址:
https://arxiv.org/abs/2307.08621