描述
Mamba 引入了一种新的状态空间模型 (SSM) 架构,该架构解决了先前亚二次方模型在处理语言建模等信息密集型数据方面的局限性。它建立在结构化状态空间模型的进展之上,并采用了受 FlashAttention 启发的、高效且硬件感知的ョ设计。这种方法使 Mamba 能够实现有前景的性能,成为 Transformer 架构的有力竞争者。
Mamba 的核心在于其选择性 SSM 层,该层在相关论文的第 3 节和算法 2 中有详细介绍。该层集成到 Mamba 架构块中,作为存储库中的主要模块。该实现针对效率进行了优化,利用了能够实现线性时间序列建模的技术。
Mamba 提供多种版本,包括 Mamba、Mamba-2 和 Mamba-3,每个版本都有特定的实现和参数配置。例如,Mamba-3 使用状态空间原理引入了改进的序列建模能力,并支持 MIMO(多输入多输出)模式。该存储库提供了这些块的代码,以及在 PyTorch 中使用它们的示例,演示了如何将它们集成到自定义模型中。
为了实际应用,Mamba 在 Hugging Face 上提供了预训练模型,涵盖了从 1.3 亿到 28 亿参数的各种规模。这些模型在 The Pile 和 SlimPajama 等大型数据集上进行了训练。该存储库还包括使用 lm-evaluation-harness 库进行零样本评估的脚本,允许用户在各种 NLP 任务上对模型性能进行基准测试。还提供了推理脚本,用于测试不同采样策略下的生成延迟和吞吐量。
Mamba 的目标受众包括从事自然语言处理、序列建模和深度学习的研究人员和开发人员。其效率和性能使其适用于需要长序列处理的任务,而传统 Transformer 在这些任务上可能在计算上变得不可行。该项目是开源的,鼓励社区贡献和进一步发展。
Mamba SSM 架构亮点
选择性状态空间模型 (SSM) 架构
用于高效实现的硬件感知设计
线性时间序列建模能力
Mamba、Mamba-2 和 Mamba-3 块实现
支持 PyTorch 集成
Hugging Face 上提供预训练模型
使用 lm-evaluation-harness 的零样本评估脚本
用于生成延迟和吞吐量基准测试的推理脚本
支持混合精度训练 (PyTorch AMP)
ROCm 支持 AMD GPU
Mamba SSM 架构入门
安装 PyTorch 和 CUDA:确保您已安装兼容的 PyTorch 版本和 CUDA 工具包。
安装 Mamba 包:使用 pip 安装核心 Mamba 包及其依赖项。
集成 Mamba 块:将 Mamba 模块导入您的 PyTorch 代码以构建模型。
加载预训练模型:利用 Hugging Face 下载并加载预训练的 Mamba 模型。
运行评估:使用 lm-evaluation-harness 脚本评估模型在 NLP 任务上的性能。
执行推理:使用提供的脚本生成文本并对推理速度进行基准测试。
Mamba SSM 架构的使用案例
- 语言建模
- 序列建模
- 信息密集型数据
- 深度学习研究
- 自然语言处理







