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
- 项目
- 项目