Repolode
state-spaces

state-spaces/mamba

Mamba 是基于选择性状态空间模型(SSM)的 PyTorch 序列建模架构,可作为 Transformer 的线性时间替代方案。

Star
18,939
Fork
1,831
未关闭 Issue
640
最近提交
3个月前

这是什么?

Mamba 是一种基于选择性状态空间模型(SSM)的序列建模架构,主要面向语言等信息密度较高的数据。此前的次二次复杂度模型在这类任务上通常落后于 Transformer,Mamba 则借鉴 FlashAttention 的思路,采用感知硬件的高效实现。

仓库提供核心的选择性 SSM 算子,以及 Mamba、Mamba-2 和 Mamba-3 模块,并包含把这些模块堆叠起来、带语言模型头的完整模型封装。安装时可以选择编译 CUDA 选择性扫描扩展,也可以只安装纯 Python 核心包;AMD ROCm 环境也有对应的补丁说明。预训练权重(130M 至 2.8B 参数)托管在 Hugging Face 上,同时附有生成、推理基准脚本和 lm-evaluation-harness 评测步骤。

这个项目适合需要训练或运行 SSM 序列模型,并希望与 Transformer 基线进行对比的研究人员和工程师。

核心功能

  • 01带硬件感知扫描实现的选择性状态空间层
  • 02提供 Mamba、Mamba-2 和 Mamba-3 模块,接口统一于 PyTorch
  • 03包含将 Mamba 块与语言模型头组合的完整语言模型封装
  • 04Hugging Face 上提供 130M 至 2.8B 参数的预训练权重
  • 05可选编译 CUDA 选择性扫描扩展,也支持纯 Python 核心安装
  • 06附带生成速度基准脚本和零样本评测说明

适用场景

  • 以 Transformer 的替代方案训练长序列语言模型
  • 研究状态空间模型架构及其效率权衡
  • 加载预训练 Mamba 权重进行文本生成
  • 在相同条件下对比 SSM 与 Transformer 的生成延迟和吞吐量

快速上手

  1. 1

    先安装 PyTorch

  2. 2

    安装 mamba-ssm 核心包

    pip install mamba-ssm --no-build-isolation

使用前须知

  • CUDA 选择性扫描功能需要 Linux 系统、NVIDIA GPU 以及 CUDA 11.6 或更高版本。
  • 默认安装不包含 CUDA 版 selective_scan_cuda 扩展,需通过环境变量手动开启。
  • 安装时需要已配置 CUDA 的 PyTorch,设置过程可能较繁琐。

标签

常见问题

mamba 是什么?
Mamba 是基于选择性状态空间模型(SSM)的 PyTorch 序列建模架构,可作为 Transformer 的线性时间替代方案。 Mamba 是一种基于选择性状态空间模型(SSM)的序列建模架构,主要面向语言等信息密度较高的数据。此前的次二次复杂度模型在这类任务上通常落后于 Transformer,Mamba 则借鉴 FlashAttention 的思路,采用感知硬件的高效实现。
mamba 可以免费使用吗?用的什么许可证?
mamba 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
mamba 还在维护吗?
半年内有更新。mamba 最近一次提交是在 2026年7月22日。
mamba 适合用来做什么?
以 Transformer 的替代方案训练长序列语言模型 研究状态空间模型架构及其效率权衡 加载预训练 Mamba 权重进行文本生成 在相同条件下对比 SSM 与 Transformer 的生成延迟和吞吐量
mamba 怎么安装和运行?
先安装 PyTorch 安装 mamba-ssm 核心包: pip install mamba-ssm --no-build-isolation
在哪里获取 mamba?
源代码和安装说明在 GitHub 上:https://github.com/state-spaces/mamba

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目