岩、紙、シリコン:235BのAIモデルをMacBookで動かした方法
多くの人は、コンシューマー向けハードウェアで最先端(フロンティア)のAIモデルを動かすことはできないと言います。
Qwen3-235Bのようなモデルを動かすには、470 GBのRAMが必要です。ハイエンドのMac Studioでも、搭載されているのはわずか192 GBです。業界では、代わりにクラウドGPUをレンタルすることを推奨しています。
私はウェブ開発者であり、システムエンジニアではありません。GPUカーネルや低レベルのメモリ管理を扱う仕事もしていません。しかし、ある疑問が浮かびました。「もし、実際に稼働するモデルの一部だけをロードしたらどうなるだろうか?」
Mixture of Experts (MoE) モデルでは、ほとんどのパラメータは時間の大部分において休止状態にあります。そこで私は、重み(weights)が必要になる直前にロードするシステムを構築することにしました。
C++コードの記述にはAIエージェントを活用しました。私が好奇心を持ち込み、エージェントが実装の深さをもたらしてくれました。
インスピレーションの源は、Filippo Biondiによる衛星に関する論文でした。彼はレーダーを使用してギザの大ピラミッドの内部を調査しました。レーダーは岩を透過することはできませんが、岩に当たった際に発生する振動を測定することはできます。彼はその振動を測定することで、内部のマップを作成したのです。
私はこのロジックをAIのメモリに応用しました。
私はこれをS-MoE (Seismic Mixture of Experts) と呼んでいます。これは3つのストリームを使用して動作します。
• The Scout(偵察役):RAM上で動作するモデルの軽量な部分。次にどのエキスパートがアクティブになるかを予測します。 • The Streamer(ストリーマー):SSDから特定のエキスパート・ブロックをメモリにロードするI/Oスレッド。 • The GPU:届いたばかりの重みを使用して計算を実行します。
このシステムは、Direct I/Oを使用してOSのキャッシュをバイパスします。実行時のヒープ割り当て(heap allocations)は行わず、OSのミューテックス(mutexes)も一切回避します。
結果はどうなったか? 16 GBのMacでも512 GBのMacでも、235Bモデルから全く同じ知能を引き出すことができます。単に、一方が他方よりも高速であるという違いだけです。
AIを取り巻く「メモリの壁」は、自然界の法則ではなく、ソフトウェア上の想定に過ぎません。すでに所有しているハードウェアで、最先端のモデルを動かすことができるのです。
S-MoEはオープンソースです。
Optional learning community: https://t.me/GyaanSetuAi
