一、基础环境
Mamba是基于SSM实现的序列数据处理模型,其核心算子包括选择性扫描( Selective scan)等目前只有Linux版本,所以基础环境必须是linux。 我们先来看一下[S6](GitHub - state-spaces/mamba: Mamba SSM architecture)中对基础环境的要求。
这里的pytorch版本不再赘述,需要注意的是cuda版本要求是11.6以上,如果我们设备的全局cuda版本不符合要求,推荐使用conda安装一个cuda runtime:
conda install -c nvidia cuda-runtime=11.8
,注意runtime无法使用nvcc编译cuda文件,所以只能下载安装编译好的mamba二进制文件。
二、安装causal-conv1d
mamba要求causal-conv1d>=1.4.0,一般来说直接使用pip install causal-conv1d
是无法安装的,我们最好手动下载其二进制文件安装。
- 首先进入causal-conv1d的[官网](GitHub - Dao-AILab/causal-conv1d: Causal depthwise conv1d in CUDA, with a PyTorch interface);
- 找到和自己机器环境(cuda版本、python版本、pytorch版本等)对应的causal-conv1d二进制文件。我的机器环境是:
ini
ubuntu 24.04;
cuda 11.8;
python 3.10;
pytorch 2.6.0
所以我选择的二进制文件是:
注意:一般服务器无法翻墙,使用
wget url
下载速度很慢,可以先在本地机器上挂梯子下载好之后,再传到服务器上。最后只需要执行pip install <文件名>
就可以安装成功了。
三、安装mamba_ssm
安装mamba_ssm有两种方式,一个是在github上下载源码,然后pip instal -e .
使用开发者模式安装。但是这个过程很慢,而且要求nvcc也符合版本要求。 我们可以直接下载对应版本的编译好的二进制文件,同理安装我的环境我下载的是:

检验mamba是否安装成功
如果causal-conv1d和mamba_ssm都成功安装没有报错,环境配置成功,我们可以检验一下是否配置成功: from mamba_ssm.ops.selective_scan_interface import selective_scan_fn
执行这段代码没有报错,并能够点进去查看源码,说明环境配置成功。