Mamba(マンバ)
2023 年に発表された状態空間モデル(SSM)ベースの LLM アーキテクチャ。Transformer の二次計算量(O(n²))問題を線形計算量(O(n))で解決し、長いコンテキストでの高速推論と低メモリ使用を実現する。
Mamba とは
Mamba は、2023 年 12 月に Albert Gu(Carnegie Mellon University)と Tri Dao(Princeton University)が発表した論文「Mamba: Linear-Time Sequence Modeling with Selective State Spaces」で提案された新しい言語モデルアーキテクチャです。
現代の LLM の大半は Transformer アーキテクチャを採用していますが、Self-Attention メカニズムに二次計算量 O(n²)という根本的な問題があります。コンテキスト長が 2 倍になると計算量は 4 倍(n² スケール)になり、128K のコンテキスト長では A100 80GB でもメモリが限界に近づきます。Mamba はこの問題を選択的状態空間モデル(Selective SSM)で解決します。
主な特徴・仕組み
- 線形計算量 O(n): コンテキスト長が 2 倍になっても計算量は 2 倍(4 倍ではない)
- 選択的ゲーティング: 各トークンが「状態に記憶するか忘れるか」を動的に選択
- 定サイズ状態: 固定サイズの隠れ状態(hidden state)で長文を処理
- 並列スキャン: CUDA カーネルで並列実行可能
- 推論時メモリ: KV キャッシュ不要(定数メモリで推論)
Transformer vs Mamba 比較
| 項目 | Transformer | Mamba |
|---|---|---|
| 計算量 | O(n²) | O(n) |
| 推論時メモリ | O(n)(KV キャッシュ) | O(1)(定状態) |
| 長文推論速度(100K+ トークン) | 遅い | 5× 高速 |
| 理解精度(短文) | 高 | 同等〜高 |
| 主要な採用例 | GPT-4, Claude, Llama | Jamba, FalconMamba, Zamba |
Mamba のモデル系統(2025 年現在)
| モデル | 規模 | 特徴 | 発表 |
|---|---|---|---|
| Mamba | 130M〜2.8B | オリジナル SSM | 2023.12 |
| Mamba-2 | 〜8B | SSD(State Space Dual)理論で改良 | 2024.05 |
| Jamba | 52B(MoE) | Mamba + Transformer ハイブリッド | 2024.03 |
| FalconMamba | 7B | 純粋 Mamba、Falcon チームが開発 | 2024.08 |
| Zamba-2 | 2.7B〜7B | 軽量ハイブリッド | 2024.10 |
インストールと使い方
from transformers import MambaForCausalLM, AutoTokenizer
model = MambaForCausalLM.from_pretrained(
"state-spaces/mamba-2.8b-hf",
torch_dtype=torch.float16, device_map="cuda",
)
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neox-20b")
inputs = tokenizer("Mambaは", return_tensors="pt").to("cuda")
output = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(output[0]))
よくある質問(FAQ)
Q1: Mamba は Transformer を置き換えますか? A: 長文処理(50K〜1M トークン)や低リソース推論では有望な代替ですが、GPT-4 や Claude 4 規模での実績はまだ限られます。Jamba のようにハイブリッド化する方向が現実的です。
Q2: Mamba で PEFT(LoRA等)を使えますか? A: はい。Hugging Face の PEFT ライブラリが Mamba の LoRA 対応を 2024 年に追加しています。
Q3: GPU なしで Mamba を動かせますか? A: 小型(Mamba 130M)なら CPU でも動作しますが、mamba-ssm パッケージは CUDA カーネルのコンパイルを要求します。llama.cpp の Mamba 対応版なら CPU でも実行可能です。
まとめ
- O(n) の線形計算量で Transformer の O(n²) 問題を解決する次世代 LLM アーキテクチャ
- 100K+ トークンの長文処理で Transformer 比 5 倍以上の推論速度を実現
- Jamba・FalconMamba・Zamba など複数の商用モデルが 2024 年に登場
- Transformer との完全代替ではなくハイブリッド化が現実的なトレンド