イントロダクション
こんにちは!エンジニアのM.Y.です!!
Mambaについて、超分かりやすく解説させて頂きます!
本記事は「何となく理解する」を目的としており、正確でない表現や説明が含まれています。あくまでも参考情報としてご利用ください。
Mambaが生まれた経緯
Mambaは2023年12月1日に発表されたネットワークアーキテクチャです。
ネットワークアーキテクチャはコンピューターが人間のように考えたり判断したりできるようにするための、プログラムのようなものです。
現在、ネットワークアーキテクチャで人気なモデルはTransformerで、グーグル翻訳・chatGPT・GitHub Copilot等、様々な場面で使用されています。
Transformerの凄さは皆さん実感しているかと思います。
そんなTransformerの最大の欠点は、計算コストが入力の長さの2乗に比例して増えることです。
例えば、入力文字数が1,000文字で100万回の計算が必要な場合、入力文字数が2,000文字だと計算量は約400万回と4倍に増えてしまいます。
つまり、入力が長くなるにつれ、計算コストが非常に高くなっていきます。
この問題は、長い文書の要約や生成など、計算の際に長い入力が必要タスクにおいて深刻な課題となっています。並列化や階層化といった方法で改善はされますが、根本的な解決にはなっていません。
そんなTransformer最大の欠点を解決するべく生まれたのがMambaです!
Mambaの特徴
Mambaで最大の特徴は計算コストが入力の長さに比例することです!
Transformerと同じ例で例えると、
入力文字数が1,000文字で100万回の計算が必要な場合、入力の長さが2,000文字だと計算量は約200万回と2倍に抑えることができます。
これによって、長い入力が必要タスクの処理時間ではTransformerに勝っています。
しかし、いくら早くても、求める返答が返ってこなければ意味がないですよね。。。
Mambaは非常に長い文章やデータを処理する際、従来のTransformerより短い時間にもかかわらず、予測性能が優れていることが論文で示されています。
Mambaが短い時間で高い予測性能を実現できる要因は、必要な部分だけに集中して計算を行う仕組みを採用しているためです。
具体的には、長い文章の中から重要な部分を選び出し、その部分だけを詳しく計算します。
一方、重要でない部分は簡単な計算で済ませています。
また、Mambaはコンピュータのハードウェア(CPU/GPU)に合わせて最適化されたアルゴリズムを使用しており、コンピューターの負荷も抑えて、予測させることが可能です。
まとめ
Mambaは長い入力の処理に適しており、高速かつ効率的な推論が可能です。
まだ研究段階ですが、将来的に文書要約や動画のキャプション生成など、長文テキストを扱うAIシステムに広く活用されることが期待されています。
Mambaには計算効率や性能面での長所がある一方で、必要な部分を選択する仕組みなどが追加されているため、適切なハイパーパラメータ(学習を制御する設定値)を見けるのが大変といった課題も残されています。
今後の動向に注目ですね!