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