“Transformer挑战者”-Mamba之最全详解图解

--------------------------------------------------------------------------------------------------------------------

1.AIGC未来发展前景

未完持续…

1.1 人工智能相关科研重要性

拥有一篇人工智能科研论文及专利软著竞赛是保研考研留学深造以及找工作的关键门票!!!
拥有一篇人工智能科研论文及专利软著竞赛是保研考研留学深造以及找工作的关键门票!!!
拥有一篇人工智能科研论文及专利软著竞赛是保研考研留学深造以及找工作的关键门票!!!

重要的事情说三遍

2.Pyhton编程实战系统班

教你快速掌握Python基础语法以及Python高级语法和Python编程技巧,手把手编程实战,还会带你刷爆Python机考题和面试八股文,还会手把手教你使用Python进行人工智能实战项目开发,增添简历亮点,入职大厂不是梦!心动不如行动,赶快来吧~

3.AIGC应用班

教你快速熟练使用AIGC工具,提升效率节约时间,在熟悉各个AIGC模型原理的同时也熟练掌握如何使用AIGC工具,在AIGC应用班还会教你如何使用AIGC搞副业,月入过万不是梦!心动不如行动,赶快来吧~

📩咨询又不收费,咨询也没损失,不逼自己一把都不知道潜力有多大!
🌟🌟🌟🌟🌟🌟🌟🌟
【立即后台咨询】搞定AIGC应用难题!欢迎评论区互动提问

4.AI 绘画系统班(基础+进阶)

教你快速使用Stable-Diffusion,Midjourney等主流AI绘画工具,在办公创作等极大提升效率,同时还会教你如何使用AI绘画工作搞副业,月入过万不是梦!心动不如行动,赶快来吧~

5.人工智能顶会论文辅导(全球科研论文辅导顶尖团队)

关于如何报名人工智能顶会论文辅导请后台私信我

5.1 简介

计算机领域顶会论文,CCF,SCI,EI,专利竞赛软著等1v1论文辅导!
👇【立即咨询】一站式服务,短期快速投稿

💥个性化的指导和顶尖的科研团队支持,助您攀登科研高峰

对于计算机专业的硕博生来说,拥有一篇人工智能科研论文及专利软著竞赛是保研考研留学深造以及找工作的关键门票!!!

🏃无论您是想申请研究生、博士生,还是渴望赴海外留学,或是立志进入大厂的核心岗位,一篇高质量的SCI/CCF论文是关键所在!我们的团队充满热情和专业知识,致力于为您提供卓越的科研指导和论文辅导服务。

⚠️处在导师放养的困境,无人指导
⚠️缺乏创意、缺乏写作技巧,或是面临论文课题无从下手
⚠️毕业要求高,毕业求职压力大
⚠️论文课题无从下手,熬夜失眠狂脱发

🎓QS50专业博士团队,为你的科研保驾护航!

📍QS前50科研学者/博士/博士后/大厂算法研究员
📍一站式全流程论文服务,点亮您的学术之路。
📍顶会主席、审稿人、期刊编辑协同助阵,增大中稿概率
📍全过程陪伴至录取,不中可售后退费!

⚠️特别提示:个人信息严格保密,保证论文唯一性,不dai写!❌❌❌
📩咨询又不收费,咨询也没损失,不逼自己一把都不知道潜力有多大!
🌟🌟🌟🌟🌟🌟🌟🌟
【立即后台咨询】搞定论文难题!欢迎评论区互动提问
--------------------------------------------------------------------------------------------------------------------

在大模型领域,Transformer 凭一己之力撑起了整个江山。但随着模型规模的扩展和需要处理的序列不断变长,Transformer 的局限性也逐渐凸显,比如其自注意力机制的计算量会随着上下文长度的增加呈平方级增长。为了克服这些缺陷,研究者们开发出了很多注意力机制的高效变体,但收效甚微。
最近,一项名为「Mamba」的研究似乎打破了这一局面,它在语言建模方面可以媲美甚至击败 Transformer。这都要归功于作者提出的一种新架构 —— 选择性状态空间模型( selective state space model),该架构是 Mamba 论文作者 Albert Gu 此前主导研发的 S4 架构(Structured State Spaces for Sequence Modeling )的一个简单泛化。

一. 介绍

  1. Mamba 有一个简化的架构,没有注意力或 MLPBlocks。通过使用一种称为选择性状态空间模型(Selective SSM)的新结构,我们只关注必要的信息,并实现了计算效率的显着提高。

2.它能够实现高速推理(大约比 Transformer 快 5 倍),并且具有推理成本随着序列长度(token 数量等)增加而线性增加的特点(不像之前的模型存在非线性)。增加)。这一性能改进已使用实际数据进行了验证,并在序列长度高达 1000k(100 万)的情况下得到了证实。

3.在最大限度地减少 GPU 内存层次结构之间的移动的同时,硬件优化的并行算法可实现更快的计算并减少内存需求。

4.目前尚不清楚Mamba在参数数量为2.8B以上时是否有效、超参数调优方法是否与Transformer等相同、学习的不稳定性如何等,有待未来的研究。

5.尽管还有很多未知数,但各个角度的研究开始提供证据表明 Mamba 是一种有前途的可以替代 Transformer 的架构,并且 Mamba 很可能成为未来前沿研究的中心。
在这里插入图片描述

二. 研究背景

1.随着基于 Transformer 的模型在现实世界中占据主导地位,研究人员一直在寻找一种可以替代 Transformer 的新架构。 Transformer 因其能够捕获数据之间的复杂关系而在 2017 年取得了突破,但另一方面,它也受到了序列长度和大内存占用带来的计算成本增加的困扰。

2.状态空间模型 (SSM) 在涉及连续信号数据的领域(例如音频和视觉)取得了成功,但在建模离散、信息密集的数据(例如文本和图像)方面效果较差,并未在系统中显示其性能。

在此背景下,人们希望开发一种比 Transformer 具有更高精度和计算效率的模型,并将状态空间模型应用于文本和图像(事实上,已经出现了 RetNet 和 RWKV 等新架构)。远远超过了其他人)。

三. Mamba简介

Mamba 是 Albert Gu 和 Tri Dao 于 2023 年 12 月 1 日宣布的一种新网络架构。
其基础是一个称为状态空间模型(SSM)的模型,该模型有

  1. 选择机制
  2. 针对硬件设计优化的算法
  3. 它是一个可以通过结合三个新颖性来超越 Transformer 的模型:消除注意力的简单架构和 MLP 块。

自发布以来,其潜力已成为人工智能研究人员的热门话题,不仅在海外,而且在日本的研究机构中,研究也在取得进展。

四. 什么是状态空间模型(SSM)?

在本章中,我们将了解结构化状态空间模型 S4 的工作原理,并作为理解 Mamba(选择性 SSM)的垫脚石。状态空间模型是一个串联到串联的变压器。它是一个结合了两种模型优点的模型:它在推理过程中像 RNN 一样以 O(L) 顺序运行,并且在学习过程中可以像 Transformer 一样执行并行处理。它的灵感来自于时间序列分析和控制工程中使用的经典状态空间模型,可以解释为循环神经网络(RNN)和卷积神经网络(CNN)的组合。状态空间模型的公式如下。
在这里插入图片描述
请注意,此处 A、B、C 对于输入 x(t) 是不变的(在选择性 SSM 中,它们变得依赖于 x(t))。状态空间模型可以被认为是 x→y 的连续映射。
这个公式实际上将目标视为连续信号,但在语言和图像中,需要处理离散值。
因此,如果我们对上述方程进行离散化(如有必要,请参见欧拉离散化示例),我们得到
在这里插入图片描述
它可以转化为这使得表达式离散且递归。假设h₋₁=0,我们可以为每个阶写下这个方程,以便于理解。
在这里插入图片描述
因此
在这里插入图片描述
可以用公式来表示。从这个方程可以看出,状态空间模型可以表示为一维卷积。由于训练时可以提前知道输入x,K 可以提前计算,并且可以并行处理使用它的卷积计算(已知可以使用FFT/iFFT等来加速卷积本身)。
由上可知,状态空间模型可以看成一维卷积,可以进行高速计算。
乍一看,正常的状态空间模型似乎运行良好,但它们也存在问题。
在状态空间模型中,所有过去的信息都存储在状态h中,A 起到连接h(时间t-1和时间t)的作用。这个值不好计算,因为它是从一个随机初始值开始的,在更高阶的时候,要计算k次方,导致计算量非常大。
为了解决这个问题,设计了一种使用HIPPO矩阵的结构化状态空间模型(S4),该矩阵具有良好的性质(能够在保持理论强度的同时提高计算效率)。 HIPPO 矩阵为
在这里插入图片描述
表示为HIPPO矩阵的详细推导和性质请参见结构化状态空间模型的原始论文。
由上可见,它是一个结构化的状态空间模型,是一个串到串的转换器,可以像RNN一样进行O(L)阶的推理,可以像Transformer一样并行处理,并且具有非常高的计算效率。推导出模型(S4)。
结构化状态空间模型(S4)因其赋予矩阵A结构而得名,Mamba还融入了最常见的对角线结构。
在这里插入图片描述

五. 结构化状态空间模型 (S4) 的缺点和向 Mamba 的演进

如上所述,在结构化状态空间模型(S4)中,系数
在这里插入图片描述
不依赖于输入 x。因此,它的缺点是无法进行动态推理(在原论文中,这个性质被称为线性时不变性(LTI),而LTI SSM本质上是线性递归和卷积。据说是等价的)。那么,你可能会认为最好不要固定系数,让它们依赖于输入x,但这会使卷积(并行化)变得不可能(K依赖于输入x的变化,使得预计算和并行化变得不可能) 。
因此,作者们设计了

结合选择性复印和感应头的选择机制

并行扫描、核融合和激活值重新计算而不是并行化卷积

这就是方法。
从这里开始,我将解释 Mamba 的新颖性、选择机制以及考虑 GPU 内存结构的算法。
在这里插入图片描述

六 . 选择机制

如前所述,选择机制是 Mamba 中重要的新方法,也是 Mamba 学术价值的核心。基本概念是处理 RNN 中由于上下文压缩而导致的精度下降问题,以及处理 Transformer(Attention)的自回归推理显式存储整个上下文的低效推理和学习问题。也就是说,我们在拥有类似于 Transformer 的基于上下文的高级推理能力的同时,正在尝试在 SSM 的基础上实现类似于 RNN 的高效推理。

那么如何实现如此梦幻般的壮举呢?

选择机制使用一种称为“选择性复制”的方法,通过过滤掉不相关的噪声标记来选择性地复制内容,并使用一种称为“归纳头”的方法来预测从先前上下文中出现的模式(归纳头本身是在 *11 中设计的,并不是一个本文的新方法)。
作者开发了 Selective Copying,这是一种为 Induction Heads(Attention)的机械可解释性(逆向工程)而开发的方法,它学习当前 token 之前的序列并检查是否出现相同的模式(Sequence[A])。 [B]…ð[A]→[B])对于本文来说不是必需的,因此我们将省略其解释。如果您有兴趣,请阅读本文参考文献中的第 11 篇论文。

从这里,我将解释选择性复制的数学原理。
首先要注意的是,选择性复制不是一种单一的技术,而是可以使用 CNN、RNN、各种参数(例如第 4 章中的矩阵 A)和各种变换来实现,这是一个广泛的概念。
这里,我们将解释RNN门控机制,该机制在论文中被解释为比较重要的机制。
这可能会让一些人感到惊讶,但 RNN 门控机制可以被视为一种选择机制。
由于RNN的门控机制和连续时间系统的离散化已经是既定现象,因此我们将省略它们的解释(详细信息请参见原始论文中引用的论文)。
原论文的附录C给出了使用本文引用*12的论文中所示的零阶保持离散化公式推导递推公式相关的公式变换,并推导了以下公式。
在这里插入图片描述
使用零阶保持离散化公式的推导过程
在这里插入图片描述
在这里插入图片描述
这个公式对您来说可能没有意义,但请看一下我在下面创建的图表
在这里插入图片描述
如图所示,g 是通过由某些参数控制的投影从 x 找到的。由这个g,h是

在这里插入图片描述
确定多少取决于两个参数中的哪一个。
换句话说,取决于输入x的参数可以决定输入x和中间状态h应该在哪里以及多少被反映,从而实现选择性复制。

原始论文提供了如何解释选择机制的每个参数的详细信息。选择机制允许通过可变间隔(参数之一)选择性地过滤噪声标记。
Δ 的解释也很重要。 Δ表示对输入x的信息的重视程度。如果Δ较小,它将尝试维持当前状态并忽略输入x,如果Δ较大,则状态h将由于输入x而显着改变。
尽管矩阵 A 可以有选择地确定,但值得注意的是,它会通过与 Δ 的相互作用来影响模型。因此,认为与Δ具有相同的效果,可以通过选择性确定Δ和A来考虑模型设置。
矩阵 B 和 C 压缩上下文并影响噪声标记的去除方式。

上下文过滤也是可能的,并且选择性模型可以随时重置其状态以删除冗余历史记录,因此原则上其性能随着上下文的长度单调提高。
如您所知,Transformer 迄今为止一直是事实上的标准,它使用特殊标记 [SEP] 来识别句子之间的边界。另一方面,在Mamba中,还可以继承语句信息,任意重置边界处前一条语句中发生的状态。
在这里插入图片描述

七. 算法了解GPU内存结构

到目前为止,我们已经解释了选择机制,这是 Mamba 的第一个新奇之处。
在本章中,我们将解释另一个新颖之处,即一种了解 GPU 内存结构的算法。
前面提到,Mamba 使用了三种方法来代替卷积的并行化:并行扫描、核融合和激活值重新计算。
首先,我将解释并行扫描。
简而言之,并行扫描是一种通过将SSM中的递归计算视为扫描来并行处理的技术(它是最初在PostgreSQL 10中引入的著名算法,是一种允许在SSM中处理递归计算的技术)除了将其视为扫描之外,这并不是一个特别新颖的想法)。
如下图所示,我们将输入分解成对,并在二叉树上计算总和。它利用了同一层次结构中存在的对之间的计算可以并行化的事实。
在这里插入图片描述
接下来,我们将解释内核融合和激活值的重新计算。
首先你需要明白的是,模型中推理和学习的瓶颈在于HBM和SRAM这两个存储器之间的移动。
HBM(高带宽存储器)是一种超高速 DRAM 技术(与传统 DRAM 相比),通过硅芯片堆叠技术和 TSV(硅通孔)技术(高密度布线和垂直存储器堆叠)实现。由于其带宽非常宽,因此它具有很高的数据传输速率。正如您所看到的,HBM 是 DRAM 的一种,它使用电容器的电荷来存储数据。 SRAM是一种使用触发器电路来存储数据并用作高速缓存的存储器。虽然它能以比DRAM更高的速度输入和输出数据,但其内部结构复杂且无法高密度实现,因此不适合增加容量。
由上可知, GPU显存有一个层次结构:
HBM:大容量、低速
SRAM:小容量、高速。
基本上,数据存储在 HBM 中并从那里读取数据,但如果调用相同的数据,则自动从 SRAM(高速缓存)读取数据以加快处理速度。
Mamba 使用内核融合(操作系统 (OS) 中连接应用程序和硬件的中央系统)来最小化 HBM 和 SRAM 之间的移动(通常指减少调用次数的技术)并重新计算激活值。
具体来说,在普通模型中,过程是
将 Scan 输入存储在 HBM 中,在 SRAM 中计算,然后返回到 HBM
,但在 Mamba 中,过程
是从构建 Scan 输入开始,使用 SRAM,然后直接计算
同时,通过让
SRAM 计算通常在 HBM 中存储和使用的激活值(通过激活函数后的值),可以最大限度地减少 HBM 和SRAM
之间的移动。
综上所述,通过充分利用SRAM,我们尽可能避免将数据移动到HBM。

从上面我们发现Mamba通过并行扫描、核融合、重新计算激活值三种方法来加速计算。

八. 简单的架构

Mamba 最后的新颖之处在于其简单的架构,消除了注意力和 MLP 块。
请看原文中的下图。
H3 是最著名的基于 SSM 的架构,由受线性注意力和 MLP(多层感知器)块启发的块组成。
Mamba 通过均匀堆叠这两个块来简化架构。
论文中透露,这个想法取自 GAU(Gated Attention Unit)。
激活函数是SiLU/Swish,归一化层是LayerNorm,层数和参数是MHA(Multi Heads Attention)的先例,架构是Residual Network,主观上我觉得这些还有研究的空间。我认为将来有可能作为研究课题发表论文。
在这里插入图片描述

九. 原论文中图的解释以及Mamba的通用和高性能推理能力

在本章中,我们将提供图形和图表的简要说明并讨论 Mamba 的性能。

下图是Selective SSM的示意图,可以帮助你直观地了解Mamba的基础知识(不过,乍一看很难理解这张图到底讲的是什么)。通过颜色,您可以看到 HBM 或 SRAM 中正在执行哪些处理。
在这里插入图片描述
下图示意性地展示了普通复制和选择性复制的区别。请参阅第 6 章的解释。
在这里插入图片描述
下图展示了常规SSM(S4)和选择性SSM算法之间的区别。如果第5章的图中有说明的话会更容易理解,请看一下。
在这里插入图片描述
下图展示了 Mamba 的架构。详细信息请参见第 8 章。
在这里插入图片描述
下图检查了使用选择性复印和感应头时的准确性。事实证明,无论模型如何,更改为选择性复制(S4 → S6)都可以提高准确性,并且通过使用感应头,可以过滤掉中间的噪声标记,即使序列长度为 1000k,Mamba 也能表现良好。表明是完全有效的。
在这里插入图片描述
下图证实了不同序列长度的缩放测量(随着模型参数数量、训练数据数量和学习过程中计算量的增加,损失按照幂律减小的规律)。
该图表明 Mamba 是一个可以与 Transformer 相媲美或超越的模型,尤其是在长序列长度方面。
在这里插入图片描述
下图显示了下游零样本评估任务的结果。从该图来看,性能比使用与 Mamba 相同的分词器、数据集和学习长度、相同规模进行训练的 Pythia 和 RWKV 高出 4 个点,甚至超过了参数数量两倍以上的模型。如图所示(相对于 Transformer 的优势)。
在这里插入图片描述
下图显示了使用 Mamba 进行 DNA 建模任务时的评估结果,受到最近语言模型在 DNA 建模中的应用的启发。 DNA 被比作一种语言,因为它由一系列具有有限词汇量的离散标记组成,并且众所周知,需要对远程依赖性进行建模。当序列长度较长时,使用 Mamba 已被证明特别有利。
在这里插入图片描述
下图展示了Mamba在语音生成任务上的优越性的数据。结果表明,参数数量较少的 Mamba 的性能优于最先进的大型生成对抗网络 (GAN) 和基于扩散的模型。
在这里插入图片描述
下图显示了 Mamba 的扫描速度和端到端推理吞吐量的数据。
Mamba 的 Scan 速度比标准 Pytorch 实现快 20-40 倍,Mamba 的推理速度比 Transformer 快 4-5 倍。
在这里插入图片描述
下表给出了评估SSM层有效性的数据以及各个参数的重要性。
非选择性 SSM 的 SSM 层已被证明具有类似的性能。研究还表明,使用选择性 SSM (S6) 可以提高性能。尽管 Δ 是最重要的参数并且对性能有贡献,但它必须与其他参数一起考虑。考虑到硬件效率,可以得出结论,矩阵A更适合作为实数(稍后我们将看到,它也可以是复数)。还有关于Δ的表达性与绩效之间的关系,以及状态维度N与绩效之间的关系的讨论。
在这里插入图片描述

十. 讨论

状态 h 有实数和复数。在大多数以前的状态空间模型中,状态 h 是一个复数,这被认为支持性能。然而,也有人建议,即使在实数的情况下,根据条件也可以获得良好的性能。作者进行了一项实验,期望复数在连续模态中有效,但在离散模态中无效。
另外,原论文讨论了使用复数进行SSM初始化、Δ的参数化以及了解硬件的算法的具体方法,但它们太长了,这里不予讨论。详情请阅读原论文(本身数量并没有那么大)

  • 69
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DFCED

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值