Linux 环境下 Mamba 配置

whl 文件离线安装方式奏效

Mamba

Mamba is a new state space model architecture showing promising performance on information-dense data such as language modeling, where previous subquadratic models fall short of Transformers. It is based on the line of progress on structured state space models, with an efficient hardware-aware design and implementation in the spirit of FlashAttention.

Mamba 模型介绍不在这里多说,此文主要讲 Mamba 环境的搭建。简单来说,其核心在于通过输入依赖的方式调整SSM参数,允许模型根据当前的数据选择性地传递或遗忘信息,从而解决了以前模型在处理离散和信息密集型数据(如文本)时的不足。这种改进使得Mamba在处理长序列时展现出更高的效率和性能,并与 Transformer 可以打平手的情况下,比 Transformer 复杂度更低。

环境搭建

本人 Linux 相关信息:

  • pip 24.2
  • python 3.10
  • torch 2.4.0
  • CUDA Version: 12.4
image.png

由官方推荐的安装方式可知,Mamba 的使用需要安装两个相关依赖:

  • causal_conv1d
  • mamba_ssm

如果使用官方安装的方式,则基本上都会出现问题。问题较为多样,但是归根到底是 CUDA 版本或者网络的问题,所以不推荐使用 pip install 进行,即使使用国内镜像源也会出错,因为在后面会有校验操作,结果还是安装不上。

那么直接进入正题,这边强烈推荐使用 .whl 文件进行离线安装,可以很好地解决网络原因导致的安装问题。一开始尝试了以下搭配下载(根据自己的系统、软件版本信息下载,一般选择 abiFalse)并附上下载链接:

image.png

两个都成功安装上了,但是在项目导入 mamba_ssm 库时发生如下错误:

image.png

搜查一圈,是版本不兼容问题。于是重新卸载 mamba_ssm,打算重新安装。但是选什么版本呢?我选择了最新版本,这个无解,只能自己去尝试。成功安装,并且项目运行成功,最后我安装的版本如下:

  • causal-conv1d -> 1.0.1
  • mamba-ssm -> 2.2.2

总结

看了太多参考资料,也只有离线安装才能 sucessfully installed,特此记录一下。

Some rights reserved
Except where otherwise noted, content on this page is licensed under a Creative Commons Attribution-NonCommercial 4.0 International license.