Mamba
状態空間モデルの一種?
Transformerと比べて何かしらの良い点があると謳われているが,どうなのか
Github >
の解説は正誤はさておき,結構詳しいように見える
大量に論文を集めているレポジトリを発見 > https://github.com/XiudingCai/Awesome-Mamba-Collection
Mambaの普及とか利用に関するRedditの議論
https://www.reddit.com/r/MachineLearning/comments/1hpg91o/d_why_mamba_did_not_catch_on/?tl=ja
mistralを見てみろ:mambaアーキテクチャを試したけど、結局戻った。今、どれだけの組織があるかのほんの一例だよね? ssmアーキテクチャは1年以上前からあるのに、主要な組織からはまだ採用されてないじゃん
前のチームは、同じデータでハイブリッドssmモデルと同等以上のパフォーマンスを出すtransformerを訓練したんだ。今のところ、切り替えることによる本当の質的なメリットはないよ
look at mistral: tried mamba arch, went back. just 1 example out of how many orgs now? ssm architectures have been out for > 1 year and still no adoption from major orgs
my previous team trained a transformer to >= performance as a hybrid ssm model on the same data. there's no real qualitative benefit to switching at this time
例にとっているのはこれかな? > https://huggingface.co/mistralai/Mamba-Codestral-7B-v0.1
他の面白いコメント
非Transformerモデルに関する面白いことのほとんどは、Transformerと他のアーキテクチャを組み合わせることに基づいているようで、主にオーディオやビジュアル処理で見られます。そこでは、Transformer以前のモデルの方がずっと人気があり、効率的なエッジデプロイメントが非常に重要です。
NLP以外,音声系のタスクとかはMambaも結構行けるのか?
状態空間モデルは古典的な音声系のモデルアーキテクチャだったような
Mamba って名前はめっちゃカッコいいけど、今の SSM の文献読むのは博士課程レベルだよな。
以下の発言は客観的じゃない(↑は皮肉ね)、でも Mamba は普通の Transformer より複雑な要素が多いんだよね。Transformer に勝ちたかったら、パフォーマンスで圧倒しないとダメ。同じくらいじゃダメだし、速いだけじゃダメ。Transformer にはもうリソースが使われてるし、とか。
それに、テキストって力学系じゃないし。 Mamba NLP は Vision Transformer より自然じゃない気がする。
個人的には、スタンフォードの PR と Mamba の宣伝もちょっと苦手だった。著者のことは言ってないよ、技術的な仕事は全体的に質が高くて、本当に価値があるんだけどね。 The Well とか物理データからは、RNN 全般にとって、何かすごいものが生まれるかもしれない。LRU とかも見てね…
Mambaに存在する問題の話? よくわからない
固定状態メモリは、実際のアプリケーションでは制限事項となります。トークンが処理されると、状態メモリに含まれるか無視されるかのどちらかになり、無視されたトークンにアクセスする必要がある場合は、お手上げです。これは、コピータスクにとって特に重要です。特に、Transformerにはこの問題はなく、推論時のバッチ処理の改善と効率的なアテンション(フラッシュ、ウィンドウ、ハイブリッドなど)により、Transformerは高いパフォーマンスを維持できています。また、大規模なトレーニング実行には多額の投資が必要であり、実績のあるアーキテクチャを使用する方が安全であるというスケーリングの議論もあります。
Just read twice (arxiv:2407.05483) は、有限状態メモリの問題を克服するための有望な解決策のようです。しかし、これはO(N + M)であり、最悪の場合O(N*M + M^2)になる可能性があります。Mが大きい場合、新しいトークンごとに、入力を見直す必要があるかもしれません。
結局のところ、どちらの方法も、特に情報効率が良いわけではないので、いずれは他のものに置き換えられるでしょう。
問題点を解決したモデルもあるみたい?
中身は正直何をいっているのかよくわからない. abstractの時点で
cf. https://www.reddit.com/r/MachineLearning/comments/1gy0hbh/r_unlocking_statetracking_in_linear_rnns_through/
概要: Mamba、RWKV、GLA、mLSTM、DeltaNetなどの線形リカレントニューラルネットワーク(LRNN)は、大規模言語モデリングにおいて、シーケンス長に対する線形スケーリングとトレーニング効率の向上を提供し、Transformerの効率的な代替として登場しました。しかし、LRNNは状態追跡の実行が難しく、コード評価やチェスゲームの追跡などのタスクでパフォーマンスが低下する可能性があります。LSTMなどの非線形RNNが効果的に処理する最も単純な状態追跡タスクであるパリティでさえ、現在のLRNNでは解決できません。最近、Sarrofら(2024)は、MambaなどのLRNNがパリティを解決できないのは、対角状態遷移行列の値の範囲を0,1に制限しているためであり、負の値を組み込むことでこの問題を解決できることを実証しました。私たちはこの結果を、最近DeltaNetなどのモデルで有望であることが示されている非対角LRNNに拡張します。我々は、正の固有値のみを持つ状態遷移行列を持つ有限精度LRNNはパリティを解決できないが、3を法として数えるには複素固有値が必要であることを証明した。特に、LRNNの状態遷移行列が、それぞれが範囲-1,1の固有値を持つ単位行列とベクトル外積行列の積である場合、LRNNは任意の正規言語を学習できることも証明した。我々の実験結果では、MambaやDeltaNetなどのモデルの固有値の範囲を拡張して負の値を含めると、パリティを解決できるだけでなく、状態追跡タスクでのパフォーマンスが一貫して向上することが確認された。さらに、言語モデル化のために拡張された固有値の範囲を持つLRNNを事前トレーニングすると、同等のパフォーマンスと安定性が得られ、コードや数学データでも有望であることが示された。我々の研究は、最新のLRNNの表現力を高め、トレーニングや推論のコストを変えることなく、その適用範囲を広げる。