state-spaces/mamba

Mamba SSM architecture

解决的问题

Mamba 解决了 Transformer 在处理信息密集型数据时的局限性,特别是长序列建模中二次复杂度带来的效率问题。它提供了一种次二次、线性时间的序列建模替代方案,在语言建模等任务中保持了高性能。

工作原理

Mamba 基于选择性状态空间模型(SSM)架构。它采用硬件感知设计和高效的 CUDA 实现——类似于 FlashAttention 的理念——以优化性能。该项目经历了多个迭代阶段:

  • Mamba-1:引入选择性状态空间,实现线性时间序列建模。
  • Mamba-2:引入结构化状态空间对偶性(SSD),将 Transformer 框架化为 SSM,从而构建更高效的算法。
  • Mamba-3:进一步利用状态空间原理,并采用以推理为导向的方法,提升序列建模性能。

适用人群

专为需要线性时间扩展效率但不牺牲 Transformer 典型性能的 AI 研究人员和开发者设计,适用于构建大规模序列模型或语言模型。

主要亮点

  • 线性时间扩展:提供比 Transformer 的二次复杂度更高效的替代方案。
  • 硬件感知设计:包含针对高性能 GPU 执行优化的 CUDA 扩展(selective_scan_cuda)。
  • 预训练模型:提供一系列在 Pile 和 SlimPajama 数据集上训练的预训练基础模型(参数量从 1.3 亿到 28 亿不等)。
  • 灵活的接口:提供多层级 API,从原始的选择性 SSM 层到完整的 Mamba 块,再到完整的语言模型示例。

相关

  • Dispatch
  • 项目
  • Dispatch
  • 项目
  • 项目