Mamba (深度学习架构)

Mamba是一种用于序列建模任务的深度学习架构。它是由卡内基梅隆大学和普林斯顿大学的研究人员开发的，用于解决Transformer架构的一些局限性，尤其是在处理长序列方面。它基于结构化状态空间序列（S4）模型。 

 架构 
为了能够处理长数据序列，Mamba采用了结构化状态空间序列模型（S4）。S4可以通过结合连续时间、循环和卷积模型有效且高效地对长序列进行建模。这使得它能够处理不规则采样的数据和长上下文，并在训练和推理期间保持计算效率。

Mamba对S4模型在时序运算处理方面实现了突破性改进，其创新性的动态参数选择机制能够根据输入特征自适应调整结构化状态空间模型（SSM）的参数配置。这种机制使模型具备序列信息的选择性注意力能力，通过动态筛选关键特征实现对冗余数据的智能过滤。相较于传统时不变系统框架，Mamba采用的时变架构不仅提升了计算效率，更优化了复杂序列建模的能量消耗比，实现了模型性能的阶跃式提升。

Mamba采用一种硬件感知算法。该实现利用GPU去进行内核融合、并行扫描和重新计算来避免在内存密集型层中实现扩展状态，从而提高性能和内存使用率。与Transformer相比，该方法在处理长序列时效率明显更高。

此外，Mamba通过将SSM设计与MLP块相集成来简化其架构，从而形成相同质量但精简的结构，进一步增强了该模型进行跨文本、音频和基因组等数据类型进行通用序列建模的能力，同时保持了训练和推理的高效率。

 关键组件 

 选择性状态空间（SSM）：SSM是Mamba的核心，它是根据当前输入选择性处理信息的循环模型。这使得能够专注于相关信息，丢弃不相关的数据。
 简化架构：Mamba用统一的SSM块取代了Transformers的复杂注意力和MLP块。目的是降低计算复杂度并提高推理速度。
 硬件感知并行：Mamba采用循环模式，并采用专为提高硬件效率而设计的并行算法，从而进一步提升其性能。

+与 Transformer 的比较特征TransfromerMamba架构基于注意力基于SSM复杂高低推理时间复杂度O(n) O(1)训练时间复杂度O(n 2 ) O(n)

 变种模型 

 无token的语言模型：MambaByte 
由于要对每个字节大小的token进行操作，Transformer的扩展性较差，因为每个token都必须“关注”其他每个token，从而导致O(n 2 )的计算复杂度，因此，Transformer 选择使用子词分词器来减少文本中的token数量，然而，这会导致词汇表和词嵌入非常大。

这项研究探讨了一种新颖的语言建模方法：MambaByte，它不同于标准的基于token的方法。与依赖于将文本分解为离散单元的传统模型不同，MambaByte 直接处理原始字节序列。这消除了token化的需要，可能带来以下几个优点：

 语言独立性：tokenization通常依赖于特定于语言的规则和词汇，从而限制了其在不同语言中的适用性。 MambaByte 的字节级表示使其能够处理不同的语言，而无需特定于语言的适应。
 消除子词分词器带来的偏见：常见子词被过度代表，而罕见词或新词被低估或被分成意义较小的单元。这会影响模型的理解和生成能力，特别是对于形态丰富的语言或在训练数据中没有很好表现的token。
 预处理的简化：通过消除对复杂token和词汇管理的需求，简化了预处理流程，减少了预处理步骤和潜在错误。

子词分词器在LLM中引入了许多奇怪的问题，例如LLM无法拼写单词、反转某些单词、处理罕见token，而这些在字节级token化中是不存在的。

 MOE与Mamba模型的结合（Mamba Mixture of Experts，MOE） 

MoE Mamba代表了混合专家（MoE）技术与Mamba架构的开创性结合，增强了状态空间模型（SSM）在语言建模中的效率和可扩展性。该模型充分利用了MoE和SSM的优势，显著提高了训练效率——所需的训练时间比其前身Mamba减少了2.2倍，同时保持了与其相匹配的性能。MoE Mamba通过将选择性状态空间建模与基于混合专家技术的处理相结合，展示了更高的效率和性能，为未来扩展SSM来进行数百亿级别参数的模型研究提供了有潜力的途径。该模型的设计涉及互相交替的Mamba层和MoE层，使其能够有效地整合所有的序列上下文，并为每个token应用最相关的专家模型。

 Mamba在视觉上的使用（Vision Mamba，Vim） 
Vision Mamba（Vim）将SSM用于视觉数据处理。它采用双向Mamba块进行视觉序列编码并于此减少了视觉任务中通常与self-attention机制相关的计算需求。经过ImageNet分类数据集、COCO对象检测和ADE20k语义分割的测试，Vim展示了更好的性能，并且能够以较低的计算资源处理高分辨率图像。这使得Vim成为未来视觉表征学习进步的可扩展模型。

 Jamba 
Jamba是一种将Transformer和Mamba SSM架构相结合的新型架构，由AI21 Labs开发，拥有520亿个参数，是迄今为止创建的参数最多的Mamba变种。它有一个包含256k token的上下文窗口。 

 影响和未来方向 
Mamba模型显著影响了深度学习领域，通过其选择性状态空间模型（Selective State Space Model）提高了长序列处理的效率，在自然语言处理中用于长上下文语言建模和文本摘要，提升了推理速度 。在计算机视觉中，它应用于医学图像分割和疾病诊断，显著减少了GPU内存使用。部分学者认为,Mamba是Transformer架构挑战者，开创了大模型的一个新流派。但令人意外的是，它被ICLR顶会拒稿。不过仅仅6个月后,原作者提出了Mamba2架构。

未来方向包括探索硬件感知计算（如Parallel Associative Scan）优化资源利用。此外，增强模型的可信赖性（如安全性与公平性）是新兴研究重点。

 参见 

 语言建模
 Transformer（机器学习模型）
 状态空间模型
 循环神经网络

 注释 

 参考 
Category:語言模型
Category:神經網路架構