深度学习(DL)作为一种重要的技术,已经在人工智能(AI)中引发了一场显著的革命,极大地改变了人类的生活方式。作为最具代表性的深度学习技术之一,Transformer架构已经赋能了众多先进的模型,尤其是包含数十亿参数的大型语言模型(LLMs),成为深度学习的基石。
尽管取得了令人印象深刻的成就,但Transformer仍然面临着固有的局限性,特别是由于注意力计算的二次方计算复杂度导致的耗时推理。最近,一种名为Mamba的新型架构,从经典的状态空间模型(SSMs)中汲取灵感,作为构建基础模型的有前途的替代方案出现,它在保持与Transformer相当的建模能力的同时,对于序列长度具有近线性的可扩展性。这激发了越来越多的研究积极探索Mamba在不同领域实现卓越性能的潜力。鉴于这种快速发展,迫切需要一个系统性的回顾,整合现有的Mamba赋能模型,为这种新兴的模型架构提供全面的理解。因此,在这项调查中,我们对最近的与Mamba相关的研究进行了深入调查,涵盖了三个主要方面:基于Mamba的模型的进步、适应Mamba的多样化数据的技术,以及Mamba可以大放异彩的应用领域。具体来说,我们首先回顾了各种代表性深度学习模型的基础知诿,以及Mamba-1&2的详细信息作为初步了解。然后,为了展示Mamba对AI的重要性,我们全面回顾了关注Mamba模型架构设计、数据适应性和应用的相关研究。最后,我们提出了当前局限性的讨论,并探索了各种有希望的研究方向,为未来的调查提供更深入的见解。
1 引言
在过去的二十年中,深度学习(DL)作为最突出的人工智能(AI)技术,已经在医疗保健[88]、自主系统[36, 60]、推荐系统[104, 230]和金融服务[144, 218]等多个领域引发了一场革命。这一时期见证了众多深度神经网络(DNNs)的出现,这些网络显著改变了人类的生活方式,为个人提供了极大的便利。一个值得注意的例子是U-Net[151, 164],这是视觉领域内的一个强大的深度学习模型,它在医学成像中被广泛用于检查放射线扫描,如MRI和CT扫描。其应用协助识别和诊断疾病,展示了其在这一关键医疗保健领域的有效性[112, 192]。此外,图神经网络(GNNs)被用于处理图结构数据,以支持智能服务,例如推荐系统,这些系统向用户推荐个性化的内容、产品或服务[40, 41, 195]。此外,循环神经网络(RNNs)由于其能够捕捉对准确翻译至关重要的序列和上下文信息,而被广泛采用于机器翻译[119, 167],使来自不同语言背景的个人能够有效地沟通和理解彼此的想法、观点和信息。
在各种深度学习架构中,Transformer最近脱颖而出,并在广泛的应用领域确立了其主导地位[33, 176]。例如,作为最具代表性的大型基础模型,像ChatGPT和GPT4这样的大型语言模型(LLMs)基本上是基于Transformer架构构建的[2, 146, 230]。通过将模型规模扩大到数十亿,并在多样化的数据源上进行训练,这些基于Transformer的模型展示了人类级别的智能,以其在语言理解、常识推理和内容学习方面令人印象深刻的能力[43, 219]。这一显著的成功得益于注意力机制[175],它使基于Transformer的模型能够集中关注输入序列的相关部分,并促进更好的上下文理解。然而,注意力机制也引入了显著的计算开销,随着输入大小的增加而呈二次方增加[124, 235],这在处理长输入时提出了挑战。例如,计算成本的快速增长使得Transformer在处理大量序列时变得不切实际或不可行,从而限制了它们在文档级机器翻译[131]或长文档摘要[94]等任务中的适用性。
最近,一种有前途的架构,结构化状态空间序列模型(SSMs)[58],已经出现,以有效地捕捉序列数据中的复杂依赖性,成为Transformer的强大竞争对手。这些模型,受到经典状态空间模型[89]的启发,可以被认为是循环神经网络和卷积神经网络的融合。它们可以通过递归或卷积操作高效计算,实现与序列长度的线性或近线性扩展,从而显著降低计算成本。更具体地说,作为最成功的SSM变体之一,Mamba实现了与Transformer相当的建模能力,同时保持了与序列长度的线性可扩展性[55],这推动了它成为焦点话题。Mamba首先引入了一个简单但有效的选择机制,使模型能够通过基于输入的参数化SSM参数,无限期地过滤掉无关信息,同时保留必要和相关的数据。然后,Mamba提出了一种硬件感知算法,通过扫描而不是卷积,以递归方式计算模型,实现了在A100 GPU上高达3倍的计算速度。如图1所示,Mamba强大的建模能力,用于复杂和长序列数据,以及近线性的可扩展性,定位Mamba作为新兴的基础模型,准备在各种研究和应用领域引发革命,如计算机视觉[200, 236]、自然语言处理[111, 228]、医疗保健[152, 180, 199]等。例如,朱等人[236]提出了Vim,其速度比DeiT[174]快2.8倍,并且在提取高分辨率图像的特征时节省了86.8%的GPU内存。Dao和Gu[28]展示了SSMs与注意力变体之间的联系,并提出了一种新架构,完善了选择性SSM,实现了在语言建模方面的2-8倍加速。
图1. Mamba模型在不同下游任务中的应用示例。
由于Mamba强大的长序列建模能力及其高效率,大量的文献出现了,专注于在各种下游任务中使用和改进Mamba。鉴于与Mamba相关的研究的显著增长,进行一个全面的文献回顾,讨论未来研究的潜在方向是至关重要的。因此,在这项调查中,我们从几个角度对Mamba进行了全面的回顾,为新来者提供了Mamba内部工作原理的基本理解,同时帮助经验丰富的从业者了解其最新发展。具体来说,剩余的调查组织如下:第2节,我们回顾了各种代表性深度神经网络的背景知识,包括RNNs、Transformers和状态空间模型,而Mamba的细节在第3节中介绍。随后,我们在第4节总结了Mamba基础研究的最新进展,从块设计、扫描模式和内存管理的角度。然后,第5节介绍了将Mamba适应多样化数据的技术,包括序列和非序列数据。此外,第6节介绍了Mamba模型的代表性应用,而挑战和未来方向在第7节中呈现。最后,我们在第8节总结了整个调查。
与我们的调查同时,一些相关的调查已经发布,纯粹关注状态空间模型[137, 184]和视觉Mamba[120, 200, 220]。与这些调查不同,本文以Mamba为中心。它从一个新的角度系统地分析了现有文献,探索了Mamba架构的演变和Mamba模型中使用的数据适应方法。
2 基础知识
Mamba与循环框架的循环神经网络(RNNs)、并行计算和Transformer的注意力机制以及状态空间模型(SSMs)的线性属性密切相关。因此,本节旨在介绍这三种突出架构的概述。
2.1 循环神经网络(RNNs)
RNNs在处理序列数据方面表现出色,因为它们能够保留内部记忆[54]。这类网络在涉及分析和预测序列的众多任务中表现出显著的有效性,例如语音识别、机器翻译、自然语言处理和时间序列分析[69, 170]。为了掌握循环模型的基础,本节将提供标准RNN公式的简要概述。
具体来说,在每个离散时间步骤k,标准RNN特别处理一个向量 𝑥𝑘 ∈ R_D_,连同前一步骤的隐藏状态e ℎ𝑘−1 ∈ R𝑁 ,以产生一个输出向量𝑜𝑘 ∈ R𝑂 并更新隐藏状态到 ℎ𝑘 ∈ R_N_。
隐藏状态充当网络的内存,并保留有关它所见过去输入的信息。这种动态内存允许RNN处理不同长度的序列。正式地,它可以写成
其中Wℎ𝑥 ∈ R𝑁 ×_D_是负责将模型输入处理成隐藏状态的权重矩阵,Wℎℎ ∈ R𝑁 ×𝑁 是隐藏状态之间的递归连接,W𝑜ℎ ∈ R𝑂×_N_表示用于从隐藏状态生成输出的权重,, 𝑏ℎ ∈ R𝑁 和𝑏𝑜 ∈ R𝑂 对应偏差,tanh表示引入非线性到RNN模型的双曲正切激活函数。换句话说,RNN是非线性递归模型,通过利用隐藏状态中存储的历史知识有效地捕获时间模式。
然而,RNNs有几个局限性。首先,RNNs在有效提取输入序列中的长距离动态方面能力有限。随着信息通过连续的时间步骤传播,网络中权重的重复乘法可能导致信息的稀释或丢失。因此,对于RNNs来说,在进行预测时保留和回忆早期时间步骤的信息变得具有挑战性。其次,RNNs以增量方式处理序列数据,限制了它们的计算效率,因为每个时间步骤都依赖于前一个。这使得并行计算对于它们来说很困难。此外,传统的RNNs缺乏内置的注意力机制,这允许网络捕获输入序列中的全局信息。这种注意力机制的缺失限制了网络选择性地建模数据的关键部分的能力。为了克服这些限制,Transformer和状态空间模型出现了,每种方法都从不同的角度解决了这些挑战。这些两种方法将在后续的小节中进一步阐述。
2.2 Transformers
Transformer[175]是深度学习领域的开创性模型,彻底改变了各种AI应用。它的引入标志着与传统序列到序列模型的显著偏离,通过采用自我注意力机制,促进了对模型输入中全局依赖性的捕获。例如,在自然语言处理中,这种自我注意力能力允许模型理解序列中不同位置之间的关系。
这样的程序然后通过Softmax函数传递,以标准化分数𝐴?并产生注意力权重,定义为:
除了执行单个注意力函数外,多头注意力被引入以增强模型捕获不同类型关系的能力,并为输入序列提供多种视角。在多头注意力中,输入序列并行通过多个自注意力模块进行处理。每个头独立操作,执行与标准自注意力机制完全相同的计算。然后,每个头的注意力权重被结合起来,创建值向量的加权和。这个聚合步骤允许模型利用来自多个头部的信息,并捕获输入序列中的多样化模式和关系。
数学上,多头注意力计算如下:
其中m是注意力头的数量,⊕是连接操作,W_O_是将多头注意力分数投影到最终值的线性变换。
2.3 状态空间模型
状态空间模型(SSMs)是一种传统的数学框架,用于描述系统随时间的动态行为[89]。近年来,SSMs在控制理论、机器人技术和经济学等多个领域中发现了广泛的应用[58 59]。在其核心,SSMs通过一组隐藏变量,即“状态”,来体现系统的行为,使其能够有效地捕获时间数据依赖性。与RNNs不同,SSMs是线性模型,具有关联属性。具体来说,在经典的状态空间模型中,制定了两个基本方程,即状态方程和观测方程,通过当前时间t的N维隐藏状态ℎ(𝑡) ∈ R𝑁 来模拟输入𝑥 (𝑡) ∈ R和输出 𝑦(𝑡) ∈ R之间的关系。该过程可以写成
其中ℎ′(𝑡) 是当前状态ℎ(𝑡)的导数,A ∈ R𝑁 ×𝑁是描述状态如何随时间变化的状态转移矩阵,B ∈ R𝑁 ×1是控制输入如何影响状态变化的输入矩阵,C ∈ R1×𝑁 表示基于当前状态生成输出的输出矩阵,D ∈ R表示决定输入如何直接影响输出的命令系数。一般来说,大多数SSMs在观测方程中省略了第二项,即,设置D𝑥 (𝑡) = 0,这可以被认为是深度学习模型中的跳过连接。
2.3.1 离散化。为了符合机器学习设置对各种现实世界场景的要求,SSMs必须经历一个离散化过程,将连续参数转换为离散参数。离散化方法通常旨在将连续时间划分为𝐴?个具有相等积分区域的离散间隔。为了实现这一目标,作为最具代表性的解决方案之一,零阶保持(ZOH)[138, 225]成功地应用于SSMs,它假设函数值在间隔Δ = [𝑡𝑘−1, 𝑡𝑘]内保持恒定。在ZOH离散化之后,SSM方程可以重写为
其中A = exp(ΔA),B = (ΔA)−1(exp(ΔA) − I) · ΔB,k是离散时间步长。从这些公式中,很明显离散SSM具有类似于循环神经网络的结构,因此离散SSM可以完成与Transformer基础模型相比,具有更高效率的推理过程。
2.3.2 卷积计算。作为线性系统,离散SSM具有关联属性,因此可以无缝集成到卷积计算中。更具体地说,它可以独立地计算每个时间步的输出,如下所示:
通过创建一组卷积核s K = (CB, …, CA𝑘B, …),递归计算可以转换为卷积形式:
其中x = [𝑥0, 𝑥1, …]和y = [𝑦0, 𝑦1, …] ∈ R L分别表示输入和输出序列,而𝐿 是序列长度。在这个情况下,输入矩阵B ∈ R𝑁 ×𝑁,输出矩阵C ∈ R𝐷×𝑁,和命令矩阵D ∈ R𝐷×𝐷,而状态转移矩阵保持不变,即A ∈ R𝑁 ×𝑁。
2.3.3 RNN、Transformer和SSM之间的关系。图2描述了循环神经网络(RNN)、Transformer和状态空间模型(SSM)的计算算法。
图2. 代表性模型架构的图示,即循环神经网络(RNN)、Transformer和状态空间模型(SSM)。(a) RNNs在非线性递归框架内运作,便于在自回归推理过程中快速输出。(b) Transformers在多个查询-键对上并行执行矩阵乘法,便于并行训练。© SSMs通过线性属性适应递归和卷积计算,融合了RNNs和Transformers的优势,允许SSMs进行递归推理和并行训练。尽管如此,传统的时间不变SSM在上下文感知建模方面不足,导致在特定任务中的性能下降。
一方面,传统的RNN在非线性递归框架内运作,每个计算仅依赖于前一个隐藏状态和当前输入。虽然这种格式允许RNN在自回归推理过程中快速生成输出,但它阻碍了它们充分利用GPU并行计算,导致模型训练速度变慢。另一方面,Transformer架构在多个查询-键对上并行执行矩阵乘法,可以有效地跨硬件资源分布,从而加快了基于注意力模型的训练。然而,当从基于Transformer的模型生成响应或预测时,推理过程可能会很耗时。例如,语言模型的自回归设计需要顺序生成输出序列中的每个标记,这要求在每一步重复计算注意力分数,导致推理时间变慢。如表1所示,与RNNs和Transformers不同,它们仅限于支持一种类型的计算,离散SSMs具有支持递归和卷积计算的灵活性,这得益于它们的线性属性。这种独特的能力允许SSMs不仅实现有效的推理,还实现并行训练。然而,应该注意的是,大多数传统的SSM是时间不变的,这意味着它们的A、B、C和Δ与模型输入x无关。这将限制上下文感知建模,导致SSMs在某些任务中的性能下降,如选择性复制[55]。
表1. 在自回归序列建模任务中,三种主要架构-RNNs、Transformers和SSMs-的优缺点比较。
3 Mamba
为了解决传统SSM在上下文感知能力方面的不足,Mamba被[55]提出作为一种潜在的替代方案,承诺成为一个通用的序列基础模型骨干。最近,Mamba-2[28]提出了结构化状态空间对偶性(SSD),建立了一个强大的理论框架,将结构化SSMs与各种形式的注意力联系起来,允许我们将最初为Transformer开发的算法和系统优化转移到SSMs。在这一节中,我们将简要而清晰地介绍Mamba和Mamba-2。
3.1 Mamba-1:具有硬件感知算法的选择性状态空间模型
传统的SSM在建模文本和其他信息密集型数据方面表现出有限的有效性[55],阻碍了它们在深度学习中的进展。在追求赋予SSMs与Transformer相当的建模能力的过程中,Gu和Dao[55]基于结构化状态空间模型提出了三种创新技术,即基于高阶多项式投影算子(HiPPO)的内存初始化、选择机制和硬件感知计算,如图3所示。这些技术旨在增强SSMs在长距离线性时间序列建模方面的能力。特别是,初始化策略建立了一个一致的隐藏状态矩阵,有效地促进了长距离记忆。然后,选择机制使SSM能够获得内容感知表示。最后,Mamba设计了两种硬件感知计算算法,即并行关联扫描和内存重计算,以提高训练效率。
**3.1.1 HiPPO-based Memory Initialization。**建模和从序列数据中学习是当代机器学习的基础挑战,构成了各种任务的基础,包括语言建模、语音识别和视频处理。在建模复杂和长期时间依赖性方面,内存是一个基本组成部分,包括存储和整合来自先前时间步骤的信息[73]。与RNNs类似,在SSMs中保留和遗忘历史隐藏状态(即矩阵A)在实现令人满意的性能方面起着关键作用。在以前的结构化状态空间序列模型(SSMs)中,已经提出了特殊的初始化建议,特别是在数据可用性有限的情况下。这些特殊的初始化在各种情况下都证明是有益的,包括在复杂值模型的情况下。同样,Mamba主要关注隐藏状态矩阵A的初始化,以捕获复杂的时间依赖性。这是通过利用HiPPO理论[56]和创新的缩放Legendre度量(LegS)来实现的,确保仔细考虑完整的历史上下文而不是有限的滑动窗口。具体来说,HiPPO-LegS为所有历史数据点分配均匀的权重,可以表示为:
其中_n_是多项式的数目, k表示特定的离散时间步骤。基于HiPPO理论,Mamba引入了两种简单的初始化方法,即S4D-Lin和S4D-Real[57],如下所示:
其中n是A的第n个元素,对于所有输入维度𝑑 = 1, 2, …, D。通过这种初始化,模型可以学习长期依赖性,通过压缩和重建输入信息信号,经历较小的新步骤退化和较大的旧步骤退化。根据公式,HiPPO-LegS具有有利的理论属性:它在输入时间尺度上保持一致,并且提供快速计算[56]。此外,它具有有界的梯度和近似误差,有助于参数学习过程。
3.1.2 选择机制。传统的状态空间模型由于时间不变性属性,无法根据特定模型输入(即内容感知建模能力)产生个性化输出。为了为SSM提供类似于注意力机制的能力,Mamba设计了一个时变选择机制,根据模型输入参数化权重矩阵。这种创新使SSM能够无限期地过滤掉无关信息,同时保留相关细节。正式地说,选择机制涉及设置间隔Δ,并将矩阵B、C作为输x ∈ R𝐵×𝐿×_D_的函数,可以公式化为:
其中SB ∈ R𝐵×𝐿×𝑁 , SC ∈ R𝐵×𝐿×𝑁,和SΔ ∈ R𝐵×𝐿×𝐷 是选择性空间矩阵,它们是输入的函数,以实现内容感知建模。𝐵, 𝐿, 𝐷, 和 _N_分别代表批量大小、输入长度、输入特征大小和隐藏通道数。值得注意的是,WB ∈ R𝑁 ×𝐷 , WC ∈ R𝑁 ×𝐷 , 和 WΔ ∈ R𝐷×1是相应组成部分的选择权重(即线性参数化投影),而BroadCast_D_意味着将结果广播到所有维度𝑑 = 1, 2, …, 𝐷。随后,选择性SSMs通过使用常见的统计技术,零阶保持(ZOH)[138],进行离散化,如下所示:
其中SA ∈ R𝐵×𝐿×𝐷×𝑁 和 SB ∈ R𝐵×𝐿×𝐷×𝑁 分别是选择性状态转移矩阵和输入矩阵,它们成为输入x的函数,即
它根据输入x生成输出ut y ∈ R𝐵×𝐿×𝐷。请注意,Mamba中的时变选择机制具有与Transformer中的注意力机制类似的结构,即两者都根据输入及其投影执行操作,这允许Mamba的SSM实现灵活的内容感知建模。然而,它失去了与卷积的等价性,这对其效率产生了负面影响。
3.1.3 硬件感知计算。选择机制旨在超越线性时间不变模型的限制。尽管如此,它对有效训练提出了挑战:SSMs的卷积核变得依赖于输入,导致无法进行并行计算。为了解决这个问题,Mamba利用了两种计算技术,即并行关联扫描(也称为并行前缀和)[64]和内存重计算。首先,并行关联扫描利用线性关联计算的属性和现代加速器(GPU和TPU)的并行性,以内存高效的方式执行选择性SSMs的计算。更具体地说,平行关联扫描围绕构建给定输入的平衡二叉树,并扫掠它从叶子到根。换句话说,平行关联扫描首先通过从叶子到根的遍历(即Sweep-Up),在树的内部节点创建部分和。然后,它逆转遍历,从根开始向上扫掠树,使用部分和构建整个扫描(即Sweep-Down)。
另一方面,Mamba利用了传统的重计算方法,以减少训练选择性SSM层时的整体内存需求。具体来说,Mamba在前向传递的并行关联扫描中避免存储大小为 (𝐵, 𝐿,𝐷, 𝑁) 的中间状态,以防止内存扩展。相反,它在后向传递中重新计算这些中间状态以进行梯度计算。通过这样做,重计算避免了在GPU内存单元之间读取𝑂(𝐵𝐿𝑁𝐷) 元素的必要性。除了优化扫描操作的内存需求外,Mamba-1还将重计算的使用扩展到整个SSM层的效率,包括投影、卷积和激活,这些通常需要大量的内存资源,但可以快速重新计算。
3.2 Mamba-2:状态空间对偶性
Transformers在深度学习的成功中发挥了关键作用,为各种领域带来了革命性的变化。它们启发了各种技术的发展,如参数高效微调[95]、灾难性遗忘缓解[96]和模型量化[196],旨在从不同角度提高模型性能。为了使状态空间模型能够访问并从最初为Transformer开发的宝贵技术中受益,Mamba-2[28]引入了一个全面的框架,称为结构化状态空间对偶性(SSD),它建立了SSMs和不同形式的注意力之间的理论联系。正式地,
其中M表示SSMs的矩阵形式,使用序列半可分表示,M𝑗𝑖 = CT𝑗A𝑗:𝑖B_i_。
值得注意的是,C𝑗 和 B𝑖 分别代表与输入令牌x𝑗和x_i_相关的选择性空间状态矩阵。A𝑗:𝑖 表示与输入令牌从j到i的范围相关的选择性隐藏状态矩阵。本质上,SSD表明,Transformer使用的注意力机制和SSM中使用的线性时变系统都可以被视为半可分矩阵变换。此外,Dao和Gu[28]还证明了选择性SSM等同于使用半可分掩码矩阵实现的结构化线性注意力机制。
基于SSD,Mamba-2设计了一种更高效的硬件计算,通过块分解矩阵乘法算法。具体来说,通过将状态空间模型视为半可分矩阵,Mamba-2将计算分解为矩阵块,在这些块中,对角块代表内部块计算。相比之下,非对角块通过SSM的隐藏状态表示内部块计算。这种方法使Mamba-2能够实现比Mamba-1的并行关联扫描快2-8倍的训练过程,同时保持与Transformer的竞争性。
3.3 Mamba块
在这一小节中,我们总结了Mamba-1和Mamba-2的块设计。图4展示了这两种架构的比较。Mamba-1是从SSM中心视角出发,其中选择性SSM层负责将输入序列X映射到Y。在这个设计中,(A, B, C)的线性投影应用于初始线性投影之后,以创建X。然后,输入令牌和状态矩阵通过选择性SSM单元传递,使用并行关联扫描,以产生输出Y。之后,Mamba-1使用跳过连接来鼓励特征重用,并缓解在模型训练过程中经常发生的退化问题。最后,通过堆叠这种块与标准归一化和残差连接交错,构建了Mamba模型。
至于Mamba-2,它引入了SSD层,旨在从[X, A, B, C]到Y创建一个映射。这是通过同时处理[X, A, B, C]并以与标准注意力架构生成Q、K、V投影相同的方式在块的开始进行单个投影来实现的。换句话说,Mamba-2块通过删除顺序线性投影来简化Mamba-1块,这使得SSD结构的计算速度比Mamba-1中的并行选择性扫描快。此外,在跳过连接后添加了一个归一化层,旨在提高训练稳定性。
表2. 利用Mamba架构的代表性开放获取基础模型。
4 Mamba模型的进步
状态空间模型和Mamba最近被探索,并成为基础模型骨干的一个有前途的替代方案。如表2所示,大规模Mamba基础模型不仅在学术研究中蓬勃发展,而且在工业界也取得了显著进展,如Falcon Mamba 7B和Mistral 7B,通过在GPU上成功训练证明了它们的有效性。尽管如此,Mamba架构仍然面临挑战,如内存丢失、对多样化任务的泛化能力不足以及与基于Transformer的语言模型相比在捕获复杂模式方面的劣势。为了克服这些挑战,已经做出了大量努力来改进Mamba架构。现有的研究主要集中在修改块设计、扫描模式和内存管理方面。这一节将介绍这三个方面的几个重要技术,并在表3中提供相关研究的总结。
4.1 块设计
Mamba块的设计和结构对Mamba模型的整体性能有重要影响,使其成为一个新的研究焦点。如图5所示,基于构建新Mamba块的不同方法,现有研究可以分为三类:a)集成方法旨在将Mamba块与其他知名模型集成,以便在保持有效性和效率的同时实现平衡;b)替代方法尝试将Mamba块作为高级模型框架中主要层的替代品;c)修改方法专注于修改经典Mamba块内的组件。以下小节将详细介绍这些方法。
4.1.1 集成。鉴于Mamba在捕获长期动态方面的卓越能力,它已广泛与其他模型集成,利用其优势为特定场景提供强大的框架。集成特别包括先进的模型,如Transformers、图神经网络(GNNs)、循环神经网络(RNNs)、卷积神经网络(CNNs)和尖峰神经网络(SNNs)。下面描述了一些具体的例子。
• 基于Transformer的模型在许多任务中表现出色,但它们的二次方计算复杂度在推理过程中仍然阻碍了它们[58]。为了实现高效的生成,一些研究人员提出了将Mamba块与基于Transformer的模型结合起来。例如,Jamba[111]结合了Transformer和Mamba层的块,以应对长期内容的自然语言处理任务,利用了两种模型家族的优势。注意力-Mamba混合模型的性能优于单独的Transformer和Mamba模型,与普通Transformer模型相比,吞吐量更好。Mambaformer[201]利用混合框架预测多个时间序列,包括汇率、小时电力消耗和电力负荷,它在内部结合了Mamba块和Transformer层,分别用于长期和短期依赖性。由于Mamba和Transformer的集成,Mambaformer在长期-短期时间序列预测方面优于基于Transformer的预测器。
• GNN通过消息传递机制在捕获邻近关系方面展现出了有希望的潜力,其中信息通过连接图在堆叠层中传播。然而,这些模型面临一个重大限制,即过度平滑[20],特别是当试图捕获高阶邻接信号时。为了解决这一挑战,Mamba已被用于图表示学习[103, 115, 179, 205]。例如,Graph Mamba[9]将图结构数据重新格式化为特定顺序的序列令牌,并利用Mamba块中的选择性SSM层构建了一个新的Graph Mamba Network (GMN)架构,它在图表示学习能力方面表现出色,特别是在需要高阶节点依赖性的数据处理方面。
• RNN基础模型在捕获时间动态方面取得了显著成果。然而,RNNs仍然面临重大挑战,包括耗时的递归训练和隐藏状态的内存容量限制。受到最近Mamba基础架构出现的启发,一些研究人员开发了Mamba块与RNNs的融合。例如,VMRNN[171]在时空预测方面取得了最先进的性能,与基于递归和无递归的方法相比,减少了浮点运算(FLOPs)。它通过引入一种新的递归单元来实现这一点,该单元将Mamba块与长短期记忆(LSTM)结合起来。
• CNN基础方法受到局部接受域的限制,导致在捕获全局和长期语义方面表现不佳[55]。众所周知,状态空间模型在学习长期模式方面具有优越能力,一些研究[107, 188, 206]探索了利用Mamba块增强CNN基础模型的潜力,特别是在计算机视觉领域。例如,MedMamba[216]和nnMamba[53]展示了如何通过集成视觉Mamba块来提高CNN在图像分析任务中的性能。
• SNN最近被提出作为一种有前景的网络架构,灵感来自大脑中生物神经元的行为:通过离散尖峰在神经元之间传递知识。SNN的一个关键优势在于其潜在的低功耗实现,因为它们可以利用神经活动的稀疏和事件驱动特性。受到SNN和SSM在低功耗实现方面的启发,以及SSM在长期学习能力方面的优越性,一些开创性的研究深入研究了将这两种方法结合起来。例如,SpikeMba[106]将它们结合起来处理对突出对象的信心偏差,并在视频序列中捕获持久依赖性。通过广泛的评估,作者声称将这两种模型结合起来提高了视频定位任务的有效性,精确地时刻检索和高光检测。
4.1.2 替代。受到选择性SSM在高效计算和长序列学习方面的卓越能力的启发,采用Mamba模块替代经典建模框架中的关键组件,如U-Net[151]和扩散模型[70],已经引起了很多关注。通过引入选择性SSM层,这些方法实现了长距离学习和高效计算,以满足特定任务的需求。下面,我们展示了使用Mamba模块替代的一些实例,特别是高级框架,如U-Net和扩散模型。
• U-Net。许多努力[110, 163, 180, 181]已经做出,以将U-Net与Mamba在捕获复杂和广泛语义方面的能力结合起来,以推进计算机视觉任务中的模型性能。例如,Mamba UNet[180]专门使用视觉Mamba块构建了一个类似U-Net的模型(即,一个编码器-解码器模型,融合了跳跃连接),用于医学图像分割。他们的评估表明,Mamba-UNet超过了几种U-Net变体,这可以归因于Mamba块在处理长距离补丁序列方面的有效性和效率。
• 扩散模型。一些努力[46, 48, 136]已经尝试构建一种新型的扩散模型,扩散状态空间模型(DiS),它用状态空间骨干替代了典型的骨干(例如,CNNs、注意力、U-Nets)。鉴于Mamba块在适应长距离依赖性方面的显著效率和有效性,DiS被区别于使用扩散模型生成更长序列[46]。例如,Oshima等人[136]提出了一个基于Mamba的扩散模型,显著降低了长视频序列的内存消耗,同时与基于Transformer的模型相比,在性能指标上仍然保持了竞争力。此外,MD-Dose[48]和P-Mamba[211]在扩散模型的反向过程中构建了使用Mamba块的噪声预测器,最终为医学图像处理生成了特定目标。
• 其他。除了U-Net和扩散模型,还有一些替代品。例如,Res-VMamba[19]在残差学习框架中采用了视觉Mamba块,用于食品类别分类。此外,SPMamba[101]采用了TF-GridNet[190],这是最近开发的一种时频模型,作为其基础架构,然后在Transformer组件之后使用双向Mamba块。这种调整使模型能够高效地包含更广泛的上下文信息,用于语音分离任务。
**4.1.3 修改。**除了直接使用Mamba块的集成和替代方法外,还进行了一些努力来修改Mamba块,目的是在不同场景中增强其性能。例如,Jamba[111]借鉴了专家混合(MoE)[45, 82]的概念,使他们的混合(Transformer-Mamba)仅解码器模型能够以更少的计算进行预训练,并允许灵活的目标特定配置。值得注意的是,Jamba模型(56B可用参数,12B活动参数,4GB KV缓存)需要比代表性的基于Transformer的语言模型LLaMA-2-7B(6.7B可用参数,12B活动参数,128GB KV缓存)小32倍的KV缓存,同时提供了更多的可用和活动参数。这使得Jamba能够在单个A100 GPU(80GB)上吞吐140K的上下文长度,这是LLaMA-2-70B支持的长度的七倍。除了MoE,一些研究提出了将SSM层修改为K路结构,涉及使用并行SSM单元处理模型输入,允许从多个角度捕获信息和知识。例如,Sigma[178]开发了一种新的基于Mamba的视觉编码器,它通过使用并行SSM层来处理多模态输入。UltraLight VM-UNet[194]提出了一种具有并行SSM单元的视觉Mamba层,该层在不同通道中处理深度特征。总之,通过实施这些修改(即,K路,MoE),这些基于Mamba的模型获得了增强的学习能力,特别是在处理多模态输入和快速适应多尺度任务方面。此外,一项开创性研究,Mamba®,提出了一种新的方法,建议在将输入通过SSM层之前,将寄存器均匀地整合到视觉输入令牌中。这种修改旨在增强图像补丁序列方向的表示,从而使Mamba块的单向推理范式适用于视觉任务。尽管取得了这些成功,但探索修改Mamba块仍然是一个有前景但尚未充分探索的领域。
4.2 扫描模式
并行关联扫描操作是Mamba模型中的一个关键组件,旨在解决选择机制引起的计算问题,加速训练过程,并减少内存需求。它通过利用时间变化SSMs的线性属性来设计硬件级别的内核融合和重计算。然而,Mamba的单向序列建模范式阻碍了对各种数据(如图像和视频)的全面学习过程。为了缓解这个问题,一些研究专注于设计有效的扫描方法,以增强模型性能并促进Mamba模型的训练过程。如图6所示,现有研究集中在开发扫描模式技术,可以分为两类:1) Flatten Scan方法从平铺的角度处理模型输入;2) Stereo Scan方法跨维度、通道或尺度扫描模型输入。
4.2.1 扁平扫描。扁平扫描是指将模型输入展平为令牌序列,并相应地从不同方向进行扫描。这种类型的扫描通常用于一维(例如,时间序列)和二维(例如,图像)数据。在本节中,我们进一步将其分为四类,即双向扫描、扫描扫描、连续扫描和高效扫描。
• 双向扫描。借鉴双向递归神经网络(Bi-RNNs)[155]的概念,Visual Mamba[236]为视觉数据引入了一种扫描方法,称为双向扫描(Bi-Scan),涉及使用同时向前和向后的SSM处理输入令牌,从而增强了模型的空间感知处理能力。最近,一些研究已经利用Bi-Scan方法来促进其基于Mamba的模型的学习能力[105]。例如,DPMamba[87]和SPMamba[101]都利用了一对双路径(向前和向后)的选择性SSM来模拟语音信号,实现了语音分离的双向知识处理。这些显著的成功可以归因于Bi-Scan的有效性及其易于部署。
• 扫描扫描。如图6所示,扫描扫描技术按特定方向处理模型输入,类似于清洁工仔细清扫地板[189, 216]。例如,Cross-Scan[121]涉及将输入图像划分为补丁,然后将其沿四个不同路径展平,这被视为两个双向扫描的融合。通过采用这些互补的遍历路径,Cross Scan使每个图像补丁能够高效地整合来自不同方向的邻居信息,从而促进了信息丰富、接受域的建立。Omni-Scan[163, 229]结合了从多个方向对图像信息流的建模,例如2(向前和向后)×4(左-右、上-下、右上-左下、左上-右下)。这种策略增强了在各个方向上对上下文信息的全局建模能力,使提取全面的全局空间特征成为可能。
• 连续扫描。为了确保输入序列的连续性,连续扫描技术扫描相邻的列或行之间的令牌[66],如图6所示。例如,为了更好地处理2D空间输入,PlainMamba[203]引入了一种连续扫描方法,称为连续扫描,它扫描列(或行)之间的相邻令牌,而不是在Cross Scan中前往相反的令牌。此外,Hilbert Scan[66]基于Hilbert矩阵沿着曲折的路径行进。根据他们的评估结果,可以推断出,增强输入令牌的语义连续性在各种视觉识别任务中为基于Mamba的模型带来了优越的性能。
• 高效扫描。与上述专注于实现更全面的输入建模的扫描方法不同,高效扫描方法旨在加速训练和推理过程。通常,高效扫描将给定输入分成几个部分,并并行处理它们,从而减少计算需求。例如,Efficient-2D Scan[139]通过跳过补丁来处理图像,从而减少了四倍的计算需求,同时保留了全局特征图。此外,Gao等人[50]在他们的Mamba框架中引入了一种有效的双向子空间扫描方案。该方案旨在为4D光场超分辨率任务高效捕获长期空间-角度对应关系。具体来说,它将补丁序列分解为两部分,并通过两个双向扫描方案进行处理。通过这样做,扫描方法降低了输入长度,并解决了长期记忆问题,而不会牺牲完整的4D全局信息。
4.2.2 立体扫描。通过从额外的角度对模型输入进行建模,立体扫描方法在扫描过程中捕获更广泛知识的能力方面优于扁平扫描方法。这种增强的能力允许更全面地理解模型输入。具体来说,这些方法可以分为三个主要类别:层次扫描、时空扫描和混合扫描。层次扫描从不同层次处理输入,而时空扫描从时间和空间的角度考虑输入模式。此外,混合扫描结合了多种扫描方法,以利用不同扫描技术的益处。
• 层次扫描方法涉及使用不同内核大小的扫描来从全局到局部或从宏观到微观捕获语义知识[26, 63, 162, 181]。例如,Mamba-in-Mamba层次编码器[24]用于红外小目标检测,结合了内部和外部选择性SSM块。内部的一个专门用于捕获视觉补丁之间的相互作用以提取局部模式。相反,外部块旨在描述视觉句子之间的关系以捕获全局特征。HiSS[12]将输入序列划分为块,并连续地对块特征进行层次建模以进行连续序列预测。块首先由低级SSM单元处理,然后由高级SSM块将处理后的特征映射到输出序列。
• 时空扫描。由于现实世界中动态系统的普遍性,对时空扫描方法的兴趣日益增加,以提高Mamba块的性能[207, 209]。例如,VideoMamba[102]将原始的2D扫描扩展为两个3D扫描:空间优先扫描和时间优先扫描。结合这两种扫描方法,VideoMamba在处理长、高分辨率视频方面表现出色。此外,ChangeMamba[21]集成了三种时空扫描机制(顺序建模、交叉建模和并行建模),以实现多时态特征之间的上下文信息交互,用于遥感变化检测。
• 混合扫描。为了全面地建模特征,许多努力专注于结合不同扫描方法的优势[29, 32, 53, 163, 231],即混合扫描。例如,Mambamixer[10]展示了Scan of Scan,它动态地使用一组图像扫描方法,即Cross-Scan、Zigzag Scan和Local Scan,来遍历图像补丁。Mambamixer还引入了双选择机制,以在令牌和通道之间混合信息。通过这样做,他们展示了与其他视觉模型相媲美的性能。
Pan-Mamba[68]引入了两种基于Mamba架构的扫描方法:通道交换扫描和跨模态扫描。通过结合这两种扫描方法,Pan-Mamba增强了其在图像锐化中的高效跨模态信息交换和融合能力。
4.3 内存管理
像RNNs一样,状态空间模型中的隐藏状态内存有效地存储了先前步骤的信息,因此在SSM的整体功能中起着至关重要的作用。虽然Mamba引入了基于HiPPO的方法进行内存初始化[55],但在SSM单元的内存管理方面仍然存在挑战,包括在层之间传输隐藏信息以及实现无损内存压缩。为此,一些开创性的研究提出了不同的解决方案,包括内存初始化、压缩和连接。例如,Ezoe和Sato[35]尝试通过使用平衡截断方法在模型重新训练期间改进选择性SSM的初始化过程。此外,DGMamba[123]引入了一种隐藏状态抑制方法,以增强状态空间模型中隐藏状态的领域泛化能力。这种方法旨在减轻这些隐藏状态的负面影响,从而缩小不同领域之间隐藏状态的差距。同样,DenseMamba[67]提出了一种密集连接方法,以增强SSMs中层与层之间隐藏信息的传播。这种策略旨在通过选择性地将较浅层的隐藏状态整合到更深层中,减轻内存退化并保留详细的信息以用于输出生成。
5 适应多样化数据
Mamba架构代表了选择性状态空间模型的扩展,它具有循环模型的基本属性,使其成为处理序列(如文本、时间序列、语音等)的理想基础模型。同时,最近的开创性研究已经将Mamba架构的应用扩展到非序列数据领域,包括图像和图,如图7所示。这些研究旨在利用Mamba在捕获长期依赖性方面的卓越能力,同时利用其在学习和推理过程中的高效性。因此,在这一节中,我们将调查适应Mamba的各种类型数据的新兴技术。相关研究的总结如图8所示。
5.1 序列数据
序列数据是指以特定顺序收集或组织的数据,其中数据点的顺序具有重要意义。为了探索将Mamba作为处理序列数据任务的基础模型的潜力,我们提供了以下部分的全面回顾,涵盖了各种序列数据,包括自然语言、视频、时间序列、语音和人体运动。
5.1.1 自然语言。作为最具代表性的架构之一,Mamba在执行基于内容的推理的同时确保了效率,被认为是大型语言模型骨干的有前途的替代品,以解决长序列上Transformer的计算效率低下问题。基于这一见解,许多研究已经探索了Mamba在自然语言处理(NLP)[10, 12, 67, 111, 177, 202, 228]中的各种下游任务的潜力。例如,MambaByte[182]旨在利用Mamba处理字节序列,旨在利用Mamba在捕获长期依赖性方面的优势,用于无标记语言模型。他们的评估表明,MambaByte避免了子词标记化的归纳偏差,并在长期语言建模任务上超越了最先进的子词Transformer。此外,Jamba[111]和BlackMamba[5]结合了专家混合(MoE)[45, 82]的概念,通过将SSMs的线性复杂度生成与MoE提供的快速且经济的推理能力相结合,增强了Mamba在语言处理中的性能。
5.1.2 视频。视频理解和生成的核心目标在于学习时空表示,这本质上带来了两个巨大的挑战:短视频剪辑中的大型时空冗余和长上下文中复杂的时空依赖性[6, 122]。为了同时解决这两个挑战,Mamba凭借其在区分短期动作和解释长视频方面的卓越能力而脱颖而出[51, 106, 136, 237]。例如,VideoMamba[102]首先通过3D卷积将输入视频投影到一组不重叠的时空补丁中,然后使用堆叠的双向Mamba块将这些补丁编码为向量表示,用于视频理解和生成等下游任务。此外,Vivim[207]提出了一种新颖的时态Mamba块,有效地将广泛的时空表示压缩到不同尺度的序列中,用于医学视频分割。
**5.1.3 时间序列。**作为典型的序列数据,时间序列数据在我们生活的各个方面无处不在,包括股市分析、交通建模和天气预报[147, 232]。鉴于Mamba在建模长序列方面的最新进展,许多努力已经投入到研究其在时间序列数据中的潜力[3, 4, 108, 201]。例如,TimeMachine[3]利用Mamba捕获多变量时间序列数据中的持久模式,确保了线性复杂度计算和最小的内存占用,以简化时间序列处理。此外,Mambaformer[201]结合了选择性SSM和注意力层,用于天气、交通流量等的长期和短期预测。
5.1.4 语音。语音特指人类交流的口头表达形式,涉及使用特定的语音音、单词、语法和语调模式[1]。最近,在语音相关任务领域,研究人员[27]在开发基于Mamba的模型方面取得了显著进展,以应对现有模型架构(如RNNS和Transformers)遇到的新兴挑战。例如,SPMamba[101]和DPMamba[87]利用双向Mamba模块捕获更广泛的上下文信息,用于语音分离,与基于Transformer的基线相比,在处理语音分离任务时,模型性能提高了13%,计算复杂度降低了566%。
5.1.5 运动。人体运动理解和生成是计算机动画、游戏开发和机器人操纵等领域的重要追求。然而,语义动作在漫长的运动序列中发生的频率较低,使得长期运动建模变得困难。为了解决这个问题,一些研究提出了使用Mamba来捕获运动序列中的时空模式[183]。例如,Motion Mamba[227]提出了一个混合Mamba模型,利用层次化SSM层捕获时间模式,并引入双向SSM层处理潜在姿势,确保帧之间的运动一致性,并提高时间帧内的运动生成准确性。此外,MambaMOS[217]设计了一个专门针对捕获连续时间步之间运动变化的运动感知状态空间模型,进一步强调了Mamba在实现高质量、长序列运动建模方面的卓越能力。
5.2 非序列数据
非序列数据与序列数据不同,它不遵循特定的顺序。它的数据点可以以任何顺序组织或访问,而不会显著影响数据的含义或解释[80]。这种固有顺序的缺失为循环模型如RNNS和SSMs带来了困难,这些模型专门设计用于捕获数据中的时间依赖性。令人惊讶的是,Mamba,代表SSMs,在最近的发展中已经显示出在有效处理非序列数据方面的出色成功。在这一节中,我们将回顾有关如何有效地处理非序列数据的相关研究,包括图像、图和点云。
5.2.1 图像。作为最普遍的模态之一,图像数据构成了各种计算机视觉应用的基础,例如面部识别、医学视觉[216]和遥感[21, 23]。从Mamba在序列建模方面的成功中汲取灵感,将这一成就从文本处理转移到图像分析是一个有趣的机会。它涉及将图像视为一系列补丁,可能为计算机视觉领域开辟新的探索途径。因此,最近开发了许多基于Mamba的视觉模型,以减轻沉重的计算资源和内存压力,同时展现出有竞争力的建模能力[114, 152, 180, 180]。例如,Vision Mamba[236]结合了双向SSM,以促进全局视觉语义建模,并引入了位置嵌入,以实现位置感知的视觉理解。不需要注意力机制,Vision Mamba在保持与Vision Transformers相当的建模能力的同时,显著降低了计算时间至亚二次方水平,并保持了线性内存复杂度。具体来说,它在高分辨率图像(1248×1248)的特征提取批量推理过程中,比DeiT[174]快2.8倍,并且GPU内存使用量减少了86.8%。此外,VMamba[121]引入了2D Selective Scan (SS2D),作为1D数组扫描和2D平面遍历之间的桥梁,使Mamba能够有效地处理视觉数据。
5.2.2 图结构数据。图建模在管理复杂结构和关系方面具有广泛的应用,包括社交网络[40, 41]、推荐系统[39]和分子相互作用[77]等领域。由于Mamba在长期建模和高效率方面的卓越能力,一些开创性的调查已经接受了选择性状态空间模型(SSM)用于非序列图数据[115]。这些研究利用状态空间模型在递归扫描期间通过隐藏状态编码上下文,允许输入流控制,这类似于图建模上下文中的注意力稀疏化,呈现了数据依赖的节点选择过程[210]。此外,Mamba预计将在大型图训练任务中提高模型效率。例如,Graph-Mamba[179]引入了一种新的基于Mamba的块作为图建模的基础组件。这个块结合了图展平机制和Mamba提供的选择机制,将子图转换为节点序列,并促进输入依赖的上下文过滤。在最近的一项工作中,Behrouz和Hashemi[9]提出了一个基于选择性SSMs的图Mamba网络(GMN),这是一种新的图神经网络格式。作者将选择性SSM重新格式化为图学习格式,并为所提出的网络的能力提供了理论论证。通过解决图消息传递中的关键步骤中的新兴挑战,GMN在多个基准数据集中取得了显著的性能,超越了GNNs和基于Transformer的模型,具有不同的图规模。此外,Huang等人[81]引入了图状态空间卷积(GSSC)作为SSMs的系统扩展,专门用于图结构数据。具体来说,GSSC将基于距离的图卷积核集成到SSM单元中,旨在增强表达能力并捕获长期依赖性。通过在十个基准数据集上进行的评估,研究[81]强调了GSSC作为图机器学习的强大且可扩展模型的潜力。
5.2.3 点云。点云是计算机视觉中的一个重要模态,具有广泛的实际应用,包括机器人技术、自动驾驶和增强现实[62]。与图像处理和图学习不同,点云分析面临的挑战源于点云的固有不规则性和稀疏性,这是一种3D非结构化数据。为了应对这些挑战,已经取得了显著的进展,特别是基于Transformer的模型[213]。然而,注意力机制的复杂度是二次的,带来了显著的计算成本,这对低资源设备不友好。注意到最近状态空间模型(SSMs)在处理1D序列(例如,语言和语音)和2D数据(例如,图像和图)方面的进展,已经有一些努力将Mamba的应用扩展到3D点云[212]。一般来说,这些基于Mamba的方法用于点云分析采用两步过程[63, 234]。首先,使用特定的扫描方法将点云数据标记化为离散令牌。然后,利用Mamba从序列化的点令牌中提取特征。例如,PointMamba[109]提出了一种分层扫描策略来编码3D点云的局部和全局信息,然后使用普通的Mamba作为主干来提取序列化点令牌的特征,而不需要额外的复杂技术。Point Cloud Mamba[222]将Mamba作为基础模型骨干,显著减少了内存使用量,与基于Transformer的同类产品相比,展现出(或更优越的)性能。
5.3 多模态数据
整合多种模态,如语言(序列数据)和图像(非序列数据),为人工智能感知和场景理解提供了有价值且互补的信息。最近,多模态大型语言模型(MLLMs)在继承大型语言模型[193]的先进能力方面引起了显著的研究关注,包括强大的语言表达和逻辑推理能力。虽然Transformer一直是这一领域的主导方法,但Mamba凭借其在对齐混合源数据和实现序列长度线性复杂度扩展方面的出色表现,已经成为Transformer的一个强有力的竞争者,为多模态学习[117, 208]提供了有前途的替代方案。例如,Qiao等人[145]提出了VL-Mamba,探索了利用Mamba高效架构解决视觉-语言任务的潜力,利用预训练的Mamba模型进行语言理解,并引入连接器模块将视觉补丁与语言令牌对齐。Wang等人[183]提出了文本控制的运动Mamba[183],它利用Mamba根据文本查询动态捕获全局时间信息,以增强人体运动理解。此外,Fusion-Mamba[32]和Sigma[178]尝试融合来自不同模态的互补信息,如热成像、深度和RGB。Fusion-Mamba专注于改进目标检测,而Sigma旨在增强语义分割。
6 应用
在本节中,我们将介绍基于Mamba模型的一些显著应用。为了提供全面的概述,我们将这些应用分类为:自然语言处理、计算机视觉、语音分析、药物发现、推荐系统以及机器人技术和自主系统。
6.1 自然语言处理
在自然语言处理领域,最近,一些基于Mamba的模型已经出现,作为处理长序列的语言建模[5, 14, 67, 111, 177, 202, 228]的Transformer基础模型的替代品,特别是在涉及广泛上下文的应用中,如问答系统和文本摘要。
6.1.1 问答系统。问答(QA)涉及AI模型理解、推理并使用广泛的知识库进行响应,实现连贯且内容丰富的对话,广泛应用于聊天机器人和虚拟助手。在多轮对话中,理解先前交互的上下文对于准确回答后续问题至关重要。然而,现有模型在推理速度和计算效率方面面临挑战,尤其是在复杂的推理任务中。这导致了显著的内存使用和计算开销,限制了可扩展性和实时应用效率。为了解决这些限制,最近的研究探索了基于Mamba的模型,以改善QA系统中的长期对话管理[111 111, 132]。例如,Mamba-Chat[132]是第一个使用状态空间框架的聊天语言模型。该模型通过使用状态空间表示来维护和更新其对对话的理解,确保上下文感知。Jamba[111]在Transformer和Mamba层之间战略性地交替,结合MoE来增强模型容量,同时优化参数利用。在常识推理和阅读理解任务中,Jamba实现了与更大的Llama-2模型相当的性能,但参数更少,展示了效率和有效性。同样,DenseMamba[67]引入了一种新方法,通过选择性地将较浅层的隐藏状态整合到更深层中,来丰富SSMs中隐藏信息的传播。与传统的基于Transformer的模型相比,这保留了关键的细粒度信息,用于在问答任务中提供更优越的性能。
6.1.2 文本摘要。文本摘要旨在通过保留关键信息来压缩长文本。在这项任务中,保持连贯性和相关性至关重要。基于Transformer的模型经常在处理长序列依赖性方面遇到困难,可能会损害连贯性和相关性。相比之下,基于Mamba的模型利用强大的长序列处理能力,使它们非常适合处理连贯且内容丰富的文本。它们强大的架构使它们能够在摘要任务中表现出色,通过准确地捕获和压缩大量文档的精髓。例如,LOCOST[14]基于状态空间模型,处理的序列比稀疏注意力模型长得多。在长文档抽象摘要中,LOCOST实现了与同等维度的最高性能稀疏变换器相当的性能,同时在训练期间减少了高达50%的内存使用,在推理期间减少了87%。此外,SAMBA[149]将Mamba与滑动窗口注意力结合起来,使选择性序列压缩成递归隐藏状态,同时通过注意力机制保留精确的记忆回忆。在处理128K输入长度时,SAMBA实现了比Transformer高出3.73倍的吞吐量,展示了在需要长上下文摘要的任务中的优越性能。
6.2 计算机视觉
除了NLP应用,基于Mamba的模型在计算机视觉领域也显示出潜力,代表性应用如疾病诊断和运动识别与生成。
6.2.1 疾病诊断。在临床实践中,医学图像和视频为器官或组织的形态提供了关键见解。有效分析生物医学对象,如CT和MR图像中的腹部器官、内窥镜图像中的器械以及显微镜图像中的细胞,显著增强了疾病诊断和临床治疗。然而,像U-Net这样的CNN基础模型在处理长距离依赖性方面面临挑战,因为它们的接受域受到限制。这在医学图像比自然图像通常更大、分辨率更高的挑战中加剧。同时,基于Transformer的算法计算密集,限制了它们在资源受限的临床环境中的实用性。为了克服这些限制,许多研究采用了基于Mamba的模型在真实的医疗环境中[110, 127, 152, 188]。例如,U-Mamba[127]和SegMamba[199]都结合了混合CNN-SSM块,将卷积层的局部特征提取能力与SSMs提供的长期依赖性建模结合起来。这种混合方法在任务如CT和MR图像中腹部器官的3D分割、内窥镜图像中的器械分割以及显微镜图像中的细胞分割中超越了现有模型。同样,CMViM[204]通过利用掩蔽Vim自编码器和跨模态对比学习来解决阿尔茨海默病(AD)诊断成像的挑战,在AD诊断成像分类中实现了最佳性能。此外,ProMamba[197]专门用于息肉分割。通过结合视觉Mamba架构和提示技术,该模型在精度和泛化方面超越了以前的方法。对于视频中动态医学对象分割,Vivim[207]有效地将不同尺度的长期时空表示压缩成序列,使用时态Mamba块。这种方法在疾病诊断如超声乳腺病变分割和结肠镜视频息肉分割中展示了增强的性能和计算效率。
**6.2.2 运动识别与生成。**运动识别与生成在运动监测[52]、计算机动画[165]、游戏开发[133]和电影制作[185]中至关重要。然而,基于Transformer的模型在处理计算和内存需求方面的挑战,限制了它们在资源受限环境中的适用性。此外,基于Transformer和GCN的模型在有效捕获视频和4D点云中的长期运动序列和复杂时空模式方面面临挑战。最近的研究探索了Mamba的使用,利用其强大的性能和较低的计算需求[18, 105, 226, 227]。例如,HARMamba[105]利用双向SSM架构处理可穿戴传感器的数据,显著降低了计算负荷和内存使用,同时在实时人体运动识别中保持了高准确性。同样,Simba[18]将Mamba集成到U-ShiftGCN框架中,有效地处理了更长的序列和复杂的时空交互,实现了视频中骨架动作识别的最佳结果。此外,Motion Mamba[227]和InfiniMotion[226]都用于运动生成。具体来说,Motion Mamba[227]利用层次化时间Mamba块处理时间数据,并引入双向空间Mamba块处理潜在姿势,确保帧之间的运动一致性,并提高时间帧内的运动生成准确性。InfiniMotion[226]引入了带有双向Mamba记忆的运动记忆变换器,提高了变换器的记忆能力,有效地生成了连续的、长时间的人体运动(长达一小时和80,000帧),而不会压倒性的计算资源。
6.3 语音分析
语音信号本质上包含数千个样本。虽然这种广泛的时间上下文提供了丰富的声学特征,但也带来了显著的计算需求。为了有效地处理语音信号,一些基于Mamba的模型已经成功地应用于多种语音应用中,尤其是在语音分离和标记以及语音增强方面。
6.3.1 语音分离和标记。语音分离涉及从多说话人环境中分离出个别语音信号。这对于提高音频通信的可懂度和质量至关重要。同时,音频标记或分类涉及将音频样本映射到相应的类别。两项任务都依赖于捕获短距离和长距离音频序列模式。尽管基于Transformer的模型一直是这些应用的领先架构,但它们面临着二次方计算和内存成本方面的挑战,由于自注意力机制,这限制了它们在处理长序列时的可扩展性。最近,有研究转向使用状态空间模型进行语音分离[87, 101]和音频标记[11, 224]。具体来说,DPMamba[87]利用选择性状态空间来捕获语音信号中的动态时间依赖性,包括短期和长期的前向和后向依赖性。SPMamba[101]集成了TF-GridNet模型,将其变换器组件替换为双向Mamba模块。DASS[11]将知识蒸馏与状态空间模型结合起来,允许对长达2.5小时的音频文件进行声音事件标记。同时,MAMCA[224]专注于自动调制分类(AMC),通过引入选择性状态空间模型作为其骨干,有效地解决了与长期AMC相关的准确性和效率挑战。通过采用状态空间模型,这些模型在捕获更广泛上下文信息和提高整体有效性方面表现出了定性改进,从而证明了SSMs在处理长持续时间方面的优势。
6.3.2 语音增强。语音增强(SE)旨在从失真信号中提取清晰的语音成分,产生具有改进声学特性的增强信号。作为前端处理器,SE在许多语音应用中至关重要,包括辅助听力技术[98]、说话人识别[7]和自动语音识别[129]。移动音频设备面临着资源有限的挑战。最近的研究探索了Mamba的应用,利用其强大的性能和降低的计算需求,在SE任务中[17, 148, 159, 168, 223]。例如,TRAMBA[168]利用混合架构结合了Transformer和Mamba,以改善移动和可穿戴平台上的语音质量,特别是针对声学和骨传导。与当前领先的模型相比,它实现了内存消耗的显著十倍降低。此外,oSpatialNet-Mamba[148]利用Mamba进行长期多通道语音增强,为静态和移动说话人提供了出色的结果。
6.4 药物发现
蛋白质设计、分子设计和基因组分析在推进药物发现和生物技术方面至关重要[100, 156]。利用基于Mamba的模型显著降低了在这些领域中对长序列建模的复杂性[61, 140, 140, 154, 154]。具体来说,PTM-Mamba[140]和ProtMamba[158]是基于Mamba架构的蛋白质语言模型。PTM-Mamba利用双向门控Mamba块和结构化状态空间模型,高效处理长序列,同时降低计算需求。ProtMamba旨在具有同源性意识但无需对齐,擅长处理数百个蛋白质序列的广泛上下文。两种模型即使在处理大型数据集时也保持高效率和准确性,为蛋白质设计提供了关键工具。同时,生成性分子设计旨在从特定分布中模拟具有定制特性剖面的分子。然而,当前模型缺乏优化高保真预言机所需的效率,直接导致成功率低。Saturn[61]应用Mamba架构,利用其线性复杂度和计算效率,在药物发现中超越了22个竞争模型。此外,理解基因组对于洞察细胞生物学至关重要。基因组建模的挑战包括捕获远距离标记之间的相互作用,考虑上游和下游区域的影响,以及确保DNA序列的互补性。Caduceus[154]和MSAMamba[173],两者都利用Mamba模型,在解决这些挑战方面表现出色。Caduceus,一个DNA基础模型,通过BiMamba和MambaDNA组件增强了Mamba架构,用于双向建模和确保反向互补等价性,在长期基因组任务中显著优于现有模型。同样,MSAMamba[173]针对基于Transformer的模型在DNA多序列比对方面的局限性,通过在序列维度上实施选择性扫描操作,扩展了以前方法的训练上下文长度八倍,允许更全面地分析广泛的DNA序列。
6.5 推荐系统
推荐系统广泛应用于电子商务[25, 221, 233]和社交网络[37, 38, 42],旨在捕获用户不断演变的偏好和他们过去行为之间的相互依赖性[39, 230]。尽管基于Transformer的模型在推荐系统中展示了有效性[169],但由于注意力机制的二次方复杂度,它们在处理长序列时面临计算效率挑战。最近,一些基于Mamba的模型已经被应用于分析长期用户行为以进行个性化推荐[16, 115, 166, 186, 205]。例如,Mamba4Rec[115]开创性地将选择性状态空间模型用于高效的序列推荐,提高了模型性能,同时保持了推理效率。同样,RecMamba[205]探索了Mamba在终身序列推荐场景(即序列长度≥2k)中的有效性,实现了与基准模型相当的性能,同时将训练时间减少了70%,内存成本降低了80%。此外,EchoMamba4Rec[186]将双向Mamba模块与频域过滤结合起来,准确捕获用户交互数据中的复杂模式和相互依赖性。它展示了比现有模型更优越的性能,提供了更精确和个性化的推荐。此外,Mamba4KT[16]专门为智能教育中的知识追踪而设计,利用Mamba模型捕获练习和学生知识水平之间的持久相关性。随着教育数据集的扩展,这种方法为提高知识追踪研究中的预测准确性、模型效率和资源利用提供了一个有前途的途径。
6.6 机器人技术和自主系统
机器人技术和自主系统的主要目标是开发能够理解视觉环境并执行复杂动作的模型。在机器人技术中使用的多模态大型语言模型(MLLMs)在两个主要方面面临挑战:1) 处理需要高级推理的复杂任务的能力有限;2) 在微调和推理任务中的计算费用高。由于Mamba在推理速度、内存利用和整体效率方面的优势,基于Mamba的模型正成为自主和智能系统的有前途的基础[15 85, 117],承诺提供优越的性能和巨大的扩展潜力。
例如,RoboMamba[117]将视觉编码器与Mamba集成,创建了一个端到端的机器人MLLM。这种方法通过共同训练将视觉数据与语言嵌入对齐,增强了模型的视觉常识和特定于机器人的推理能力,同时确保了有效的微调和推理能力。同样,Jia等人[85]引入了MaIL,这是一种使用Mamba作为骨干的模仿学习(IL)策略架构。MaIL弥合了处理观察序列时效率和性能之间的差距。在真实机器人实验的广泛评估中,MaIL展示了作为传统大型复杂基于Transformer的IL策略的有竞争力的替代品。
7 挑战与机遇
前面的部分全面回顾了Mamba的最新先进技术和多样化应用。然而,Mamba的研究仍处于起步阶段,存在相当大的挑战和机遇。
7.1 基于Mamba的基础模型
通过将模型规模扩大到数十亿级别,并在大规模混合源语料库上进行训练,基础模型(FMs)展现出了令人印象深刻的零样本学习能力,使FMs能够在广泛的通用任务中表现出色[13]。作为代表性的例子,最近几年见证了基于Transformer的大型语言模型的蓬勃发展,特别是ChatGPT,激发了对各个领域基础模型的探索热情。尽管Transformer是成功的主要驱动力,但它们面临着紧迫的计算和内存效率问题[172],这随着基于注意力模型的规模呈指数级增长的训练内存和劳动密集型的自回归解码而增长。作为Transformer的有前途的替代品,Mamba[28, 55]最近出现了。Mamba提供了Transformer的内容感知学习能力,同时将计算与输入长度线性扩展,使其在捕获长期依赖性和提高训练和推理效率方面有效。鉴于这些优势,开发特定领域的基于Mamba的基础模型具有巨大潜力,这为解决基于Transformer的模型所面临的问题提供了机会。
7.2 硬件感知计算
基础模型以其庞大的规模和密集的矩阵运算(如矩阵乘法和卷积)而闻名,需要使用GPU和TPU等尖端硬件进行高吞吐量的训练和推理。这些先进的硬件使研究人员能够使用更大的数据集并在各个领域取得最先进的性能。然而,现有的基础模型还没有充分利用硬件的计算能力,导致模型效率有限[172]。作为提高计算效率的有前途的替代品,Mamba-1[55]和Mamba-2[28]提出了硬件感知计算算法,即并行关联扫描和块分解矩阵乘法。这些算法考虑了GPU和TPU的固有特性,包括设备间消息传输等因素,为解决计算效率问题提供了新的视角。受此启发,探索新的硬件高效算法,如FlashButterfly[47],以优化硬件利用,为SSMs以及其他架构如Transformers和RNNs提供了节省资源和加速计算的有前途的途径。
7.3 值得信赖的Mamba模型
SSM的发展预计将为电子商务、医疗保健和教育等多个行业带来显著的好处。与此同时,像许多现有的架构一样,Mamba模型可能是数据依赖的,可能对用户和社会构成严重威胁[130]。这些威胁源于几个因素,如不稳定的决策制定、隐私问题等。因此,确保Mamba模型的可信任性在四个关键维度上至关重要[116]:安全性&鲁棒性、公平性、可解释性和隐私。
7.3.1 安全性&鲁棒性。大型基础模型已被证明对输入的小扰动高度敏感,这可能危及这些模型在安全关键应用中的安全性和鲁棒性[44, 135, 191]。同时,基于Mamba的模型也不免于这些漏洞[128]。在追求成为Transformer的可靠替代品的过程中,有必要研究和增强基于Mamba模型的安全性和鲁棒性。具体来说,模型输出应对输入的小扰动保持鲁棒。一个可能的解决方案可能涉及在将提示输入到基于Mamba的模型之前自动预处理它们。此外,作为一种代表性技术,对抗性机器训练[78]可以用来增强基于Mamba模型的安全性和鲁棒性。
7.3.2 公平性。大型基础模型在广泛的数据集上进行训练,往往会无意中暴露出训练语料库中存在的偏见和刻板印象[126],这可能在生成的输出中表现出来。例如,在LLMs领域,偏见可能导致受到用户档案属性如性别和年龄影响的歧视性回应,加强刻板印象并不公平地对待特定用户群体[86]。虽然最近已经做出了努力来解决LLMs中的公平性问题,但在Mamba模型的非歧视性和公平性方面的研究仍然存在差距。因此,需要进一步的探索和研究来弥合这一差距。
7.3.3 可解释性。深度学习模型经常因其“黑盒”特性而受到批评,深度学习模型的可解释性已经成为研究社区中的一个热门话题,它表示理解和解释模型生成的决策或预测的能力[34]。通过解释模型预测,用户可以基于模型的输出做出更明智的决策。为此,已经提出了几种技术来为基于注意力机制的神经架构提供合理的内在解释[74]。此外,研究人员还研究了基于Transformer的语言模型生成自然语言描述以解释其答案的能力[214]。尽管越来越多的研究试图充分利用Mamba,但对Mamba模型的功能进行理解的研究仍处于早期阶段,需要进一步的调查。
7.3.4 隐私。保护隐私在用户和基于Mamba的模型之间建立信任至关重要。当用户相信他们的隐私得到尊重时,他们更有可能与AI系统互动,分享相关信息,并在不担心数据被滥用的情况下寻求帮助。因此,这种信任对于Mamba模型的广泛采用和接受至关重要。一个有效的策略是交叉验证Mamba模型的输出并筛选敏感内容[93]。此外,联邦学习有望在Mamba模型的训练过程中加强隐私保护,其中模型在许多分散的边缘设备或服务器上进行训练,这些设备或服务器上存放着本地数据样本,而不进行数据交换。这种方法有助于保持数据的本地化和隐私。此外,将隐私意识的正则化技术(如差分隐私约束)整合到训练中,有望防止过度拟合敏感数据。
7.4 将Transformer的新兴技术应用于Mamba
Transformer作为主导的骨干,已经引领AI社区开发了许多旨在提高基于注意力模型性能的独特工具。幸运的是,通过SSMs和注意力的连接,Mamba-2[28]引入的SSD框架允许我们为Transformer和Mamba开发共享的技术和库。鉴于此,一个重要的未来方向出现了,即探索如何将为基于Transformer的模型设计的新兴技术有效地应用于基于Mamba的模型。
7.4.1 参数高效微调。大型基础模型将其参数规模扩大到数十亿,已经在多个领域取得了突破性进展。然而,它们的庞大规模和计算需求在为特定下游任务定制时提出了重大挑战。为此,已经提出了几种参数高效微调(PEFT)技术,包括LoRA[72]和Adapter家族[49, 91],这些技术涉及在微调期间最小化参数调整或对计算资源的需求。从最近在利用PEFT为基于Transformer层构建的大型语言模型方面取得的成就中汲取灵感,将PEFT应用于Mamba模型已经出现了一个有趣的话题,目标是扩大Mamba在下游任务中的应用范围。例如,LoRA(低秩适应)的部署预计将促进SSD模型的快速微调,从而实现Mamba在各个领域的广泛应用。然而,为Mamba基础模型实施这些PEFT技术的具体细节尚未确定,需要进一步的调查。
**7.4.2 缓解灾难性遗忘。**灾难性遗忘,也称为灾难性干扰,是指在机器学习模型中观察到的现象,当它们在新任务上进行训练时,会在以前学习的任务上经历显著的性能下降[92]。这个问题对于基础模型来说是一个挑战,因为它们需要保留预训练任务的知识,并在不同的下游领域展示一致的性能。作为基础模型的一个有前途的架构,Mamba需要进行彻底的调查以解决灾难性遗忘问题。最近的研究表明,通过奖励最大化和分布匹配策略[96, 97]来解决这一挑战。此外,还开发了持续学习方法来缓解基于Transformer的语言模型中的灾难性遗忘[90, 187]。这些技术也可以通过连接SSMs和注意力应用于Mamba模型,但尚未探索。
7.4.3 检索增强生成(RAG)。作为AI中最复杂的技术之一,RAG可以提供可靠和最新的外部知识,为多种任务提供重要的实用性[30, 99]。大型语言模型最近展示了突破性的语言理解和生成能力,尽管它们在内部知识过时和幻觉方面的固有局限性。鉴于RAG在提供当前和有价值的补充信息方面的强有力能力,检索增强的LLM已经出现,利用外部知识数据库来增强LLMs的生成质量[22]。同样,RAG可以与Mamba语言模型集成,协助它们产生高质量的输出,这是一个有前途的未来研究方向。
8 结论
Mamba作为一种新兴的深度学习架构,在多个领域,如语言生成、图像分类、推荐和药物发现等方面展现出了显著的成功,这得益于其强大的建模能力和计算效率。最近,越来越多的努力被投入到开发具有更强大表示学习能力和更低计算复杂度的基于Mamba的深度学习模型中。鉴于Mamba的快速发展,迫切需要一个系统的概述。为了填补这一空白,在本文中,我们提供了Mamba的全面回顾,重点关注其架构进步、数据适应性和应用领域,为研究人员提供了深入的理解和最新发展的概述。此外,鉴于Mamba研究仍处于起步阶段,我们还讨论了当前的局限性,并提出了未来的有希望的研究方向。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。