Mamba2のJAX実装をしていて気づいていることについて、もうAGIはすぐやってくるため…。
New
2024/10/30
Mamba2の発表から5か月の時を経てMamba2 Minimal JAXをGitHubにUPしました。
https://github.com/repyt-margorp/mamba2-minimal-jax
AGIへの道
AGIは3つの基本的なコンポーネントから構成されます。2024年、現在の言葉では
・LLMおよび基盤モデル
・プロングラミング言語
・RAG(Retrieval Augmented Generation)
です。これは量子コンピュータの基本的コンポーネントが
・量子ビット用論理ゲート
・量子テレポーテーション装置
・量子もつれ粒子
であったことと同様です。
LLMおよび基盤モデルはState Space Model系で実現できる可能性が高く、プログラミング言語には定理証明支援系(あるいは型理論で強力にコンパイル時計算のできる系)が必要です。RAGおよび推論時のPrompt Tree(私はもうChain of Thoughtとは言わないように、Tree構造を考えないとダメなのです。それに伴って、現在のシーケンシャルな言語データセットはSSM系では通用しないことを説明します。具体的にはTree構造をもったデータセットの開発が急務です)はある種の強化学習で手に入ると考えられます。
トランスフォーマーベースのプロンプトエンジニアリングは「ゲーム」でした。AssistantとUser間の対話は二者間で行われた論理推論ゲームであり、Userの会話を自動的なagentプロンプトにすることで自動化し、自動で推論のゲームを進行させます。これはSSMの系では論理推論のゲームのStateをプロンプトで誘導していたことに相当します。
LLMおよび基盤モデルが「自然言語を操っていること」が全ての誤りです。具体的には基盤モデルは「機械言語に自然言語をプラスしたものを使う」必要があります。つまり
lst := aize(“主要な世界の大統領をリスト形式でください“)
for x in lst:
print(x, “:”, aize(f”{x}を日本語に訳してstringとして返して”))
というような言語が必要だったのです。私はすでに実験用としてこの言語を持っています。このプログラミング言語の特徴は、構造化プログラムの順次、分岐、繰り返しは計算機実行され、非構造化部分を持つことです。(これに関してAGIと人類の違うところがあって、人類は内在的にニューラルネットなので自然言語そ使いますが、機械は内在的にオートマトンなので機械言語を使うのです。より一般にモデル化された実在は機械言語で表されますが、まだ物理学・自然科学は人類と宇宙の完全なモデルと予測力を持たないため、AGIとヒトは人倫上切り離されます。なぜならAGIはその挙動が人類にとって解明されているからです)また、プログラミング言語についてはまだあまり多くの人が気づいていないようですが、型レベルプログラミングはコンパイル時計算でした。ホモトピー型理論の観点からpropositional equalityを自動証明し数値を計算するのがコンパイルです。