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
  • 專案
  • 專案