3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

数式一切なしのMamba-3概念解説

3
Last updated at Posted at 2026-03-23

はじめに

つい先日(2026年3/16)に、Mamba-3がArXivに投稿されました。これは大注目だ!ということで、早速論分を読んで、ちょっとコードを触ってみたので、せっかくなので皆様と共有しようと思います。私の咀嚼した解釈が多分に入っていますので、もしかすると正しくない部分も多々あるかもしれませんので、ぜひご指摘をいただけると幸いです。それがこの記事を投稿した理由でもありますので。
さて、本記事では、この状態空間モデル(SSM)の最新進化形である Mamba-3 について解説します。Mamba-3は、複素数演算と台形近似を組み合わせることで、従来のモデルが抱えていた長期記憶の課題を数学的に解決した革新的なアーキテクチャです。
詳細な理論的背景については、以下の元論文を参照してください。
元論文: Mamba-3: Multi-Input Multi-Output Complex State Space Models (arXiv:2408.00714)

1. Mamba-3とは

複素数の回転と数学的に正確な更新により、情報の劣化を防ぎながら無限の文脈を扱うことができるLLMのベースとなるモデルです。

2. Mamba-3にできること

Mamba-3は、従来のTransformerやMamba-2が抱えていた「長距離依存関係の忘却」や「計算コストの増大」という課題を解決します。
超長大なシーケンスの処理: 複素数平面上での回転を利用することで、長いシーケンスの末尾でも情報が薄まっていくことを防ぎ、鮮明な記憶を保持します。
推論速度の高速化: Transformerのような $O(L^2)$ の計算量を必要とせず、Recurrentな特性を活かした高速な推論が可能です。
高精度な記憶保持: 元論文の Figure 1(下図) に示されている通り、台形近似(Trapezoidal Rule)を適用することで、連続時間系のダイナミクスを極めて正確にシミュレーションできます。
image.png

3. Mamba-3で新しく導入されたこと

Mamba-3では、前世代のMamba-2から以下の重要な技術的革新が導入されています。

複素数値状態空間モデル(Complex-valued SSM)

従来のMamba-2では実数ベースの状態空間モデルが使用されていましたが、Mamba-3では状態ベクトル $h_t$ を複素数として保持します。複素数平面上の「回転」を利用することで、情報が時間とともに減衰・消失する問題を根本的に解決しています。

台形近似(Trapezoidal Rule)による離散化

連続時間の微分方程式を離散時間に変換する際、従来はオイラー法やZOH(Zero-Order Hold)が用いられていましたが、Mamba-3では台形近似を採用しています。これにより、複素回転の精度が数学的に厳密に保たれ、長いシーケンスでも状態の劣化が極めて小さくなります。

MIMO(Multi-Input Multi-Output)定式化

Mamba-2のSISO(Single-Input Single-Output)構造から、Mamba-3では多入力・多出力(MIMO)の定式化へと拡張されました。これにより、複数の入力チャンネルと出力チャンネルの間で情報のやり取りが可能になり、表現力が大幅に向上しています。

4. Mamba-3のアルゴリズム解説

Mamba-3の核心は、複素数値状態空間モデル(Complex-valued SSM)と、複素演算に最適な形へとデータを整える投影レイヤーの順序にあります。
詳細な内部構造については、論文内の 以下のFigure 2 を参照してください。
image.png

ブロック構造のフロー

Figure 2に示される通り、アルゴリズムの処理順序は以下の通りです:

  1. Linear Projection: 入力 $x_t$ を高次元の特徴空間へ投影し、メモリ用とゲート用の2系統に分岐させます。
  2. MIMO Projection: 多入力・多出力(Multi-Input Multi-Output)の構造へ変換し、複素数演算への橋渡しを行います。
  3. RoPE (Rotary Positional Embedding): MIMO投影の直後、SSMに入る直前に適用され、各特徴に「位置情報としての位相(角度)」を刻み込みます。
  4. Complex-valued SSM (Trapezoidal Update):
    • 状態 $h_t$ を複素数として保持します。
    • 台形近似を用いて更新を行うことで、回転の精度を数学的に厳密に保ち、ステップが進むにつれて情報が薄まって消えてしまう現象を抑制します。
  5. Output Merge: 最後に、活性化関数を通した右ブランチと要素ごとの積($\odot$)をとることで、最終的な出力を得ます。

5. Mamba-3の使い方

公式リポジトリ(state-spaces/mamba)のPull Request(#871-874)に、簡易的なテストと図の出力、また、インタラクティブなテストができるスクリプトを実装しました。

インタラクティブ・スクリプトによるテスト実行

Pull Request#873に含まれるスクリプト(predict_next_token.py)を以下のように使用することで、Mamba-1,2の挙動を直接確認したり、合成タスクを用いた検証をインタラクティブに行うことができます。Mamba-3のモデルの重みは現状公開されていないので、Mamba-1,2のみでテストできます。

python examples/predict_next_token.py --model "state-spaces/mamba2-130m"

実装の簡易的な利用イメージ

スクリプト内では、以下のようにMamba-3のブロックを呼び出し、複素SSMと台形近似の効果を検証できる構成になっています。

from mamba_ssm import Mamba3

# モデルの初期化
model = Mamba3(
    d_model=512, 
    d_state=64,
    expand=2,
).to("cuda")

# 入力テンソルの準備
x = torch.randn(2, 1024, 512).to("cuda")

# 順伝播の実行
# 内部でMIMO投影、RoPE、台形近似を用いた複素SSM更新が順次適用されます
output = model(x)

6. テスト結果

元論文で報告されている評価実験の結果、Mamba-3は以下の優れた特性を示しています。
記憶の保持力: 長いシーケンスにおける情報の検索タスクにおいて、複素回転の効果により情報の「薄まり」が劇的に改善されています。
実行スループット: MIMO定式化の導入により、複素数演算を伴いながらも従来の Mamba-2 と同等の高速な処理速度を維持しています。

また、私自身でRTX4080 laptopを使用してbenchmarkを実行した結果は以下です。

Mamba-1の130Mと370MモデルのLatency計測結果

text_generation_latency.png
1秒あたり80-140 tokenの処理ができることがわかるので、十分リアルタイムで動くことがわかります。また、GPUのVideo RAM (VRAM)使用量は非常に低いことがわかります。

Mamba-1,2,3の速度比較

test_results_rtx4080.png
Mamba-3 single-input single-output (SISO)モデルは、Mamba-1,2と比べてスピードの劣化はほとんど見られません。また、mamba-3は1,2同様にVRAM使用量は低いです。backward passがmamba-2,3で遅いのは単に私のGPU用の最適化が行われていないためと思われます。

7. まとめと感想

Mamba-3は、位置情報のエンコード(RoPE)と長期記憶の保持(Complex SSM)を、無駄のないレイヤー構造で統合したモデルです。従来のSSMで課題となっていた精度の問題を「台形近似」という数学的なアプローチで解決しており、今後の大規模言語モデルや長文解析の基盤となる可能性を秘めています。実用のTransformerも近々SSMに置き換わるんでしょうかね。まあこれまで通りTransformerと併用されることが一番ありうる使われ方かもしれませんが。引き続き注目度大ですね!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?