GPTのTransformerのように並列学習できる、RNN型言語モデルアーキテクチャRWKVの公式学習・リファレンスコード。
state-spaces/mamba
Mambaは、選択的状態空間モデルを基盤とするPyTorchのシーケンスモデリングアーキテクチャで、言語などのシーケンス処理においてTransformerに代わる線形時間の手法を提供します。
- スター
- 18,939
- フォーク
- 1,831
- 未解決の Issue
- 640
- 最終コミット
- 3 か月前
これは何?
Mambaは、選択的状態空間モデル(SSM)を基盤とするシーケンスモデリングアーキテクチャです。言語のような情報密度の高いデータを対象としており、これまでTransformerに後れを取っていた二次未満の計算量を持つモデルに対し、FlashAttentionに着想を得たハードウェアを考慮した実装を採用しています。
このリポジトリには、選択的SSMのコア演算子、Mamba、Mamba-2、Mamba-3の各ブロック、さらにブロックを積み重ねて言語モデリングヘッドを組み合わせた完全な言語モデルのラッパーが含まれています。インストール方法として、CUDA selective scanのビルドと純粋なPythonのコアパッケージの両方に対応しており、AMD ROCmのビルドについてはパッチに関する注記もあります。Hugging Faceでは、130Mから2.8Bパラメータまでの学習済みチェックポイントを公開しており、生成・ベンチマーク用スクリプトとlm-evaluation-harnessの実行手順も用意されています。
このコードは、SSMベースのシーケンスモデルを学習・実行したり、Transformerをベースラインとして比較したりしたい研究者やエンジニアを対象としています。
主な機能
- 01ハードウェアを考慮したscan実装を備える選択的状態空間レイヤー
- 02共通のPyTorchインターフェースを持つMamba、Mamba-2、Mamba-3のブロックモジュール
- 03MambaブロックとLMヘッドを組み合わせた完全な言語モデルラッパー
- 04Hugging Faceで公開されている130M〜2.8Bパラメータの学習済みチェックポイント
- 05任意で利用できるCUDA selective scan拡張と、純粋なPythonのコアインストール
- 06生成ベンチマーク用スクリプトとゼロショット評価の手順
ユースケース
- Transformerに代わる手法として、長いシーケンスを扱う言語モデルを学習する
- 状態空間モデルのアーキテクチャと効率上のトレードオフを研究する
- 学習済みMambaチェックポイントを使ってテキスト生成を推論する
- Transformerをベースラインとして、SSMによる生成のレイテンシとスループットをベンチマークする
クイックスタート
- 1
先にPyTorchをインストールします
- 2
mamba-ssmのコアパッケージをインストールします
pip install mamba-ssm --no-build-isolation
使う前に知っておきたいこと
- CUDAのselective scanを使用するには、LinuxとCUDA 11.6以降に対応したNVIDIA GPUが必要です。
- 環境フラグで有効にしない限り、コアのインストールにはCUDAのselective_scan_cuda拡張機能は含まれません。
- 既存のCUDA対応PyTorchが必要なため、セットアップが少し面倒な場合があります。
トピック
よくある質問
- mamba とは?
- Mambaは、選択的状態空間モデルを基盤とするPyTorchのシーケンスモデリングアーキテクチャで、言語などのシーケンス処理においてTransformerに代わる線形時間の手法を提供します。 Mambaは、選択的状態空間モデル(SSM)を基盤とするシーケンスモデリングアーキテクチャです。言語のような情報密度の高いデータを対象としており、これまでTransformerに後れを取っていた二次未満の計算量を持つモデルに対し、FlashAttentionに着想を得たハードウェアを考慮した実装を採用しています。
- mamba は無料で使えますか?ライセンスは?
- mamba は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- mamba は今もメンテナンスされていますか?
- 半年以内に更新あり。mamba の最終コミットは 2026年7月22日 です。
- mamba は何に使えますか?
- Transformerに代わる手法として、長いシーケンスを扱う言語モデルを学習する 状態空間モデルのアーキテクチャと効率上のトレードオフを研究する 学習済みMambaチェックポイントを使ってテキスト生成を推論する Transformerをベースラインとして、SSMによる生成のレイテンシとスループットをベンチマークする
- mamba のインストール方法は?
- 先にPyTorchをインストールします mamba-ssmのコアパッケージをインストールします: pip install mamba-ssm --no-build-isolation
- mamba はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/state-spaces/mamba
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
GPU上でTransformerモデルを学習・推論するための、メモリ効率に優れた厳密なattentionカーネルFlashAttentionの公式実装。
画像分類などのビジョンタスク向けに、Vision Transformer(ViT)と多数の派生モデルを実装したPyTorchライブラリです。
WebGPUを使ってブラウザー内でLLM推論を完結させるTypeScriptエンジン。OpenAI互換APIを提供します。
学習と推論サービングの両方を対象に、量子化、スパース化、float8学習を提供するPyTorchネイティブのライブラリ。
量子化、プルーニング、スパース化でニューラルネットワークを圧縮し、OpenVINO、PyTorch、ONNXでの推論を高速化するPythonフレームワーク。