【论文笔记】Mamba: Linear-Time Sequence Modeling with Selective State Spaces

原文链接:https://arxiv.org/abs/2312.00752

1. 引言

基石模型(FM)的主干网络通常是序列模型,处理任意的输入序列。但现代FM主要基于Transformer这一序列模型,及其核心的注意力。但是,自注意力仅能在上下文窗口中密集地传递信息,而无法建模窗口外部的数据;此外,其尺度与窗口长度成二次方关系。注意力相关高效的改进牺牲了其有效性,因此也未被有效地用于不同领域。

最近,结构状态空间序列模型(SSM)作为序列建模的有前景方法,可被理解为RNN与CNN的结合,并受经典状态空间模型的启发。这类模型能高效计算,且尺度与序列长度成比例关系。此外,在部分模态下,还可建模长距离依赖关系,且在连续信号(如音频与视觉)下取得了成功。但对于离散且信息密集的数据(如文本)则不那么有效。

本文提出选择性状态空间模型,在前面的工作上做出改进,达到Transformer的建模能力,且尺度随序列长度线性增大。

选择机制:过去的方法缺乏以数据依赖的方式高效选择数据的能力(关注或忽视特定输入)。本文通过将SSM的参数基于输入参数化,设计选择机制,使模型过滤无关信息并记忆相关信息。

硬件感知的算法:所有之前的SSM需要是时不变和输入不变的,以高效计算。本文使用硬件感知的算法来克服这一问题,递归地使用扫描而非卷积计算模型,且不实现扩展状态以避免在GPU内存层次结构的不同层进行IO访问。这样,实施速度在理论上和现代硬件上均能超过过去的方法(伪线性时间)。

结构:本文将之前的SSM结构与Transformer的MLP组合为块(Manba),一种包含了选择性状态空间的简单而同质的结构设计。

选择性SSM与其扩展Manba均为完全递归的模型,适合作为以序列为输入的通用基石模型的主干网络。其关键属性为:

  1. 高质量:选择性能为密集模态(语言、基因组)带来强性能;
  2. 快速训练和推断:训练时的计算与存储尺度均随序列长度线性变化,推断时自回归地展开模型使得每步只需常数时间,因为无需过去元素的缓存。
  3. 长上下文:质量与效率使其能在1M长度序列上产生性能提升。

在语言、音频、基因组等领域上的实验表明,Mamba只需更少的参数量就能达到Transformer相同的性能,且速度更快。

2. 状态空间模型

结构状态空间模型(S4)与RNN、CNN以及经典状态空间模型相关。其受到特定连续系统的启发,该连续系统通过隐状态 h ( t ) ∈ R N h(t)\in\mathbb R^N h(t)RN映射1维函数或序列 x ( t ) ∈ R → y ( t ) ∈ R x(t)\in\mathbb R\rightarrow y(t)\in\mathbb R x(t)Ry(t)R

S4模型由4个参数定义( Δ , A , B , C \Delta,A,B,C Δ,A,B,C),包含序列到序列的两阶段变换(式(1)):
h ′ ( t ) = A h ( t ) + B x ( t ) ( 1 a ) h t = A ˉ h t − 1 + B ˉ x t ( 2 a ) K ˉ = ( C B ˉ , C A ˉ B ˉ , ⋯   , C A ˉ k B ˉ , ⋯   ) ( 3 a ) y ( t ) = C h ( t ) ( 1 b ) y t = C h t ( 2 b ) y = x ∗ K ˉ ( 3 b ) \begin{matrix} h'(t)=Ah(t)+Bx(t)&(1a)&h_t=\bar Ah_{t-1}+\bar Bx_t&(2a)&\bar K=(C\bar B,C\bar A\bar B,\cdots,C\bar A^k\bar B,\cdots)&(3a)\\ y(t)=Ch(t)&(1b)&y_t=Ch_t&(2b)&y=x*\bar K&(3b) \end{matrix} h(t)=Ah(t)+Bx(t)y(t)=Ch(t)(1a)(1b)ht=Aˉht1+Bˉxtyt=Cht(2a)(2b)

<think>嗯,用户想找Mamba模型的结构图,特别是在IT领域。首先,我需要回忆一下Mamba的基本架构。根据引用[2],Mamba是基于状态空间模型(SSM)的,特别是S6结构,类似于RNN,但结合了选择性信息处理和硬件优化算法。接着,引用[3]提到的QuadMamba可能是一个改进版本,引入了分块处理机制。用户可能需要结构图来直观理解这些组件如何连接。 接下来,我应该考虑用户可能的深层需求。他们可能是在做研究或者项目,需要架构图来辅助理解或展示。这时候,提供关键模块的描述会很有帮助,比如选择性机制、硬件感知算法等。同时,引用[3]提到的QuadMamba的分块扫描和递归分割,这也是结构图中的重要部分,需要详细说明。 然后,我需要确认现有文献中是否有公开的结构图。引用[3]提到QuadMamba的结构如图1(c),但用户可能无法直接访问该文献,所以应该建议他们查阅原论文或相关资源。此外,引用[4]指出Mamba作为通用架构,可能在不同领域有变体,因此提醒用户注意应用场景的差异。 最后,生成相关问题时要覆盖架构设计、优化方法、应用场景以及与其他模型的对比,这样能帮助用户进一步探索。同时,确保回答符合格式要求,正确引用资料,避免使用Markdown,保持自然的中文表达。</think>根据现有文献描述,Mamba模型架构的核心特征可概括如下: ### Mamba架构核心模块(IT领域) 1. **选择性状态空间层 (Selective SSM)** - 通过门控机制动态调整状态转移参数,实现对关键信息的优先级处理[^2] - 数学表达:$$ h_t = A_t \cdot h_{t-1} + B_t \cdot x_t $$ 其中$A_t,B_t$由输入数据驱动生成 2. **硬件感知扫描机制** - 采用并行化扫描算法加速长序列处理 - 通过分块计算和内存复用优化GPU利用率[^1] 3. **层次化特征融合** - 通过跨步卷积实现多尺度特征提取 - 动态路由机制连接不同抽象层级 ### QuadMamba改进架构(视觉领域特化) 根据文献[^3],其结构包含: 1. 四叉树划分模块 - 自适应窗口分割(粗→细粒度) - 局部邻接关系评估网络 2. 递归扫描路径 ```text 输入 → 特征提取 → 窗口评分 → 四分之一区域分割 → 递归细粒度扫描 → 特征融合 → 输出 ``` ### 结构图获取建议 1. 推荐查阅原始论文Mamba: Linear-Time Sequence Modeling with Selective State Spaces》图2 2. QuadMamba架构图详见《QuadMamba: Local-Global Scanning for Vision Mamba》图1(c) 3. 开源实现(GitHub搜索mamba-minimal)包含模块示意图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

byzy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值