AppleがNVIDIAがやらなかったことを実現した

Apple・ティムクック
この記事は約17分で読めます。

Appleが静かにリリースしたThunderbolt上のRDMA機能と、Exo 1.0ソフトウェアの登場により、4台のMac Studioを組み合わせた合計1.5テラバイトのユニファイドメモリを持つAIクラスターが実現可能となった。このセットアップは、従来のイーサネット接続と比較してRDMAを使用することで推論速度が3倍以上に向上し、密なモデルでは15トークン/秒以上の処理速度を達成する。消費電力は北米の一般的な電源回路の半分未満に抑えられ、同等の性能を持つ従来のソリューションと比較してコストは大幅に低い。ただし、Mixture of Expertsモデルでは最適化の余地が残されており、開発ツールとの統合もまだ発展途上である。それでも、既存のハードウェアでソフトウェア最適化だけでこれほどの性能向上が得られることは、ローカルAI推論の未来において画期的な進展と言える。

Apple did what NVIDIA wouldn't.
Check out Boot.dev at and use code JAKKUH to get 25% off your first plan!Support me on Patreon! App...

AppleのRDMAとExo 1.0が実現するローカルAI革命

今回は一体何に手を出してしまったんでしょうか。AIに賛成であろうと反対であろうと、少なくともハードウェアとエンジニアリングの観点から見れば、これが超面白いものであることは否定しがたいですよね。確かに、OpenAIやGoogleのGeminiにサブスクリプション料金を払って、あなたのデータをスプーンで食べさせてもらう代わりにAIの恩恵を受けることもできます。でも、校庭にいるイケてる子たちのようになることもできるんです。

なんと、最近ではPewDiePieまでやっているんですよ。AIモデルをローカルで実行するんです。そう、あなたが今この動画を見ているコンピューターやスマホでさえ、大規模言語モデルを実行できます。でもね、もっとAIらしくできるものがあるんです。1台じゃない、2台でもない、正確に4台のMacintoshです。合計で1.5テラバイトのユニファイドメモリを持ち、最も重厚で最強の大規模言語モデルを実行できます。しかもサム・アルトマンにデータを渡す必要は一切ありません。

ハードウェアオタクだったり、AIに興味があるなら、チャンネル登録してください。当然ですよね。でも、こういうの見たことあるかもしれません。ただ、約束します。今回は何か大きな新しいものがあるんです。実際には2つあります。このMac Studioクラスターは、昨日と比べてさえ数倍速くなっているはずです。それでいて消費電力は北米の電源回路の約半分以下、コストは同クラスのモデルを実行できるソリューションの数分の一です。

価格と性能を考えると、基本的に独自のクラスにあると言えます。この時点でかなりバカげてるレベルです。1つ目は、Appleが最近のmacOS 26.2ベータ版でこっそりリリースしたThunderbolt上のRDMAです。大したことないと思うかもしれませんが、これが今日見る性能向上のほとんどを可能にしてくれるんです。

そして2つ目は、Exo 1.0のパブリックリリースです。これは、こういった4台のMac Studioを使って、あなたの夢のAIクラスターに変えるために使えるソフトウェアです。ただ、ちょっと先走りすぎましたね。ローカルでLLMを実行しようとしたことがあって、こんなクレイジーなハードウェアを持っていない場合、気づいたと思います。何というか、適切な言葉がないんですが、ちょっと頭が悪いというか、少なくともChatGPTやGeminiと話すときよりも知性が低いと感じるはずです。

誤解しないでください。小さなモデルにも用途はあります。防犯カメラやスマートフォンに、Mac Studioほどの性能やメモリを詰め込むことはできませんからね。大手サービスと競合できないのは当然です。なぜなら、ChatGPTを使うときに利用しているモデルは、数百ギガバイトから数千ギガバイトの範囲にあるからです。

非常に大きいので、小さなヨーロッパの国のGDPに匹敵する建設費用がかかるデータセンターで実行する必要があり、現実的にはそういったヨーロッパの国々よりも多くのエネルギーを使っているでしょう。でも、そのサイズのモデルをこれらで実行することもできるんです。ごめんなさい、スーパークラスター用のスペースを作ってるだけです。気にしないでくださいね。これ誰がやったの、兄弟?

ユニファイドメモリの力とAI推論への応用

AppleはMシリーズのシリコンをユニファイドメモリで設計しました。これはCPUとグラフィックスコアの両方で共有されるメモリです。これにより、これらのMac Studioに搭載されているM3 Ultraチップの発売時に、なんと512GBのRAMを持つSKUをリリースできました。これは私たちが持っているユニットの半分です。残りの半分は256GBです。どちらもクレイジーなAIモデルを実行するのに十分でした。

コーディングチャレンジをワンショットでクリアするようなモデルです。そしてそれらはどんどん良くなっています。だからこそ、ソフトウェアエンジニアでも完全な初心者でも、今日の動画のこの部分をスポンサーしてくれたboot.devをチェックすべきなんです。彼らは、プログラミングを楽しく魅力的に学べるようにするコードを、言ってみれば解読したんです。基本的にビデオゲームに変えることでね。

クレイジーに聞こえるかもしれませんが、想像してみてください。PythonやSQL、Goを学んでバックエンドのウェブ開発を学習しながら、同時にXPを獲得しているんです。レベルアップして、クエストをクリアしています。なんと、学習しながらボス戦までやっているんです。あらゆる経験レベルの開発者向けのコースがあり、カリキュラムは非常に深く掘り下げられていながら、簡単でわかりやすいフォローができます。

コースでは作業しながら業界のツールも教えてくれます。だから、LinuxやGit、Dockerの使い方を学べるんです。ちょっとクレイジーですが、もっとクレイジーなのは、ウェブサイト上のすべてのコース教材、レッスン、ビデオチュートリアル、スターターコードを無料で提供していることです。だから、財布にリスクをかけずに、本物のウェブプロジェクトの構築方法を学び始めることができます。

もし彼らのインタラクティブな学習スタイルがあなたに合っていたら、私に合っているように、コードJakuを使って年間プランを25%オフで利用すべきです。ハンズオンコーディング、AIアシスタンス、進捗追跡、すべてのコースのゲーミフィケーション機能など、すべての素晴らしいインタラクティブ機能が得られます。説明欄のリンクからどうぞ。マジで最高に素晴らしいです。あの人たち大好きです。

初期テスト:llama 3.3の実行

完全なFP16での700億パラメータのllama 3.3モデルのようなものです。Mac Studioの1台でどれくらい速く動くか見てみましょう。BMWがどれだけかっこいいかについて1000語のストーリーを書いてくれますか。オイル漏れについての議論も含めてください。ああ、神様。

最初の応答まで約2秒かかり、1秒あたり約5トークンの速度で実行されています。これは世界最速というわけではありませんが、150GBもある実行が簡単ではないモデルです。でも今は、DeepSeekのように700GBのモデルや、Mistral 3 largeとKimmy K2のように完全な重みで1テラバイトを超えるモデルがあります。クレイジーですね。でもこのセットアップなら対応できます。

現在、すべてに10ギガビットイーサネットを接続しています。残りのマシンでExoを起動すれば、自動的にクラスターを形成してくれるはずです。そうしたら、同じモデルでどれだけ速くできるか見てみましょう。それから大きなモデルのいくつかを試してみます。行け、我が子よ。

残りのMacでExoを起動すれば、クラスターができます。他のマシンからの追加メモリは必要ありませんが、他のマシンの計算能力を利用して、同じ700億パラメータモデルをはるかに速く実行できます。少なくとも理論的には。

4台全部を試す前に、2台のマシンで同じllama 3.3モデルをロードして、それだけでどれだけ速度が上がるか見てみます。それから4台全部でやってみましょう。よし、漏れやすいBMWについて1000語のストーリーを書いてくれ。もっと速くなるかな?

イーサネット接続での限界と課題

実質的に同じ速度です。開始まで2秒で1秒あたり5トークン。ちょっと変ですよね。両方で実行されています。各Mac Studioで100ワットの消費電力が出ているのがわかりますし、モデルは両方のメモリに分散されています。でも、4台全部で実行したらどうでしょう。うーん、まだ1秒あたり5トークンですね。何が問題なんでしょうか。

モデルのデータを本だと想像してみてください。その本をクラスター全体にロードするとき、各マシンは独自の章を受け取りますが、必ずしも本全体にアクセスできるわけではありません。つまり、各コンピューターはアクセスできる章でプロンプトへの応答を計算し、その応答または部分的な応答をクラスター内の次のコンピューターに渡してから、次のコンピューターが何かをする前に待たなければなりません。

リレー競走のようなもので、自分の区間を走りますが、次の人が始められるようにバトンを渡さなければなりません。ただ、私たちの状況では、クラスターが1周完了するごとに、出力トークンを1つだけ得られます。これは出力の約1文字に相当すると想像できます。私たちの場合、競技場は基本的に、これらすべてのマシンを接続しているネットワーキングです。

現在は10ギガビットイーサネットとUniFi Pro XG8スイッチを使用しているのがわかります。今日紹介した他のすべてのハードウェアと一緒に、説明欄にリンクを貼っておきます。その10ギガビットネットワーキングは、基本的に文字の一部を転送するには十分すぎる帯域幅です。ここでの仮想のリレーランナーたちは非常に速いので、標準的なイーサネット経由で通信させることは、バトンを渡すたびに空港のセキュリティを通過させるようなネットワーキングの同等物です。

1000語のストーリーを書くように頼むとき、その1000語の中の各文字について、私たちのクラスターは基本的に少なくとも4回TSAを通過していると想像できます。これは大量の完全にランダムな検査に相当し、エンタープライズでInfinibandを使用する理由です。はるかに低いレイテンシです。

スイッチ付きのイーサネットを使用するのではなく、Thunderboltケーブルですべてのマックを直接接続するだけで、これよりも良くできます。Apple Stackではレイテンシが少し低くなります。または、RDMAを使用することで、この仮想的なセキュリティ問題を完全にバイパスできます。基本的に同じ話です。

RDMA設定とケーブリング

すべてのMacをThunderboltで直接接続しますが、Macのリカバリメニューにドロップダウンして実際に有効にする必要があります。macOS 26.2ベータ版が必要で、Thunderbolt 5を搭載したマシンを使用している必要があります。これには、M4 Pro以上、およびM3 Ultraが含まれます。ガイドに書かれている通りに接続します。正直、ちょっと奇妙です。

これはどうやって機能するんでしょうか。この人です。えーと、ケーブルが足りないのはなぜ。1、2、3、5。6本目のスパゲッティはどこ。全部こんな感じで接続されています。やったー。各システムに3つのThunderbolt 5接続があるので、それぞれから両方向で約240ギガビットの集約接続について話しています。

ただ、その近くを利用することはありません。ここでの本当のストーリーは、RDMAを有効にすると、レイテンシが99%削減されることです。それは巨大です。ねえ、Arlo、速いAI好き。ああ、ぶーぷ。捕まえた。さて、同じllama 3.3の700億パラメータモデルを取れます。MLX RDMAとテンソルシャーディングを選択します。そうだよ、Arlo。

ねえ、RDMAがすぐに機能するかどうかさえわかりません。誰が知ってる。ケーブルを間違って接続したかもしれません。破るべき記録は1秒あたり5トークンです。200語のストーリーを書いてください。すごい、1秒あたり9トークン。1台だけで実行していた速度のほぼ2倍です。ちょっとショックを受けています。すべてを動かすのはちょっとした大失敗でした。

大規模モデルのテスト:Kimmy K2

では、4ビット量子化のKimmy K2インストラクトモデルのような、もっと大きなものを試してみませんか。量的な540GBです。ベースラインとして、標準パイプラインMLXリングシャーディングから始めます。そうすれば、RDMAを使用する前にどんな感じかよくわかります。どれくらい速く動くかわかったら、RDMAで試してみます。

これはめちゃくちゃクールだよ、マジで。新しいMistralのコーディング用モデルを試すのが楽しみです。明らかにナイスらしいです。あまり速くならないと思いますが、やってみましょう。ああ、そうだ。いいね、見てください。これは今イーサネット経由ですが、20メガビット、25メガビットくらいしか送信していません。それだけです。

そして、1秒あたり約22トークンを得ています。私はアンクル・ジムで、猫がお風呂を嫌うようにオイルのシミが嫌いです。では、RDMAを試して実際にどれくらい速く動くか見てみましょう。そしたらクラッシュしたようです。早送りして、ああなんてこった、約12時間のトラブルシューティングと、このセットアップを思っていた通りに動作させようとした試行錯誤。

ようやくたどり着いたようです。私の変更だけではありませんでした。実際に、この2日間で約40もの異なるバージョンアップデートを行って、これをもう少し安定して動作させようとしています。明らかに、この技術の最前線にいます。Jeff Gearlingが彼のFramework Desktopビデオで素晴らしく強調したように、これに対する他の解決策は実際には存在しません。

また、私のMacが彼らが期待していたのとは異なる名前を付けられていたことがわかりました。ケーブリング画像で言われていた通りに名前を付けられることを期待していました。将来的にはこれは消えるべき制限ですが、これは明らかに技術デモの領域なので、そういった奇妙な癖があります。また、このセットアップに自分のカスタムモデルをアップロードすることもできません。

彼らが事前にキュレーションし、このセットアップで適切に動作すると判断した一連のモデルです。また、Appleデバイスでこれが適切に動作するには、RDMAでMLX形式のモデルである必要があります。とはいえ、これにどれだけのAIを詰め込めるか見てみましょう。この悪い女の子に、こっちにも、あっちにも、あそこにも。

性能測定とベンチマーク

前にお見せした通り、私が使ってきたFP16重みでllama 3.3の700億パラメータを持つこれらのMac Studioの1台は、起動に約2~2.5秒かかり、推論で1秒あたり約5トークンで動きます。しかし、Thunderbolt上のRDMAでテンソルシャーディングを使って2台のMac Studioで実行すると、1秒あたり約9トークンまでジャンプします。

ただし、これは密なモデルであることに注意する価値があります。つまり、直感に反するように見えても、本当に良いスケーリングが得られるということです。はい、できました。起動にちょうど1秒以上、1秒あたり約15.5トークンです。3.25倍速くなりました。Kimmy K2はどうでしょう。それについてたくさん話しました。

4ビット量子化のインストラクトバージョンでは、実際には1台のマシンだけでこれを実行することはできません。4ビットでも、600GBに近いです。だから、私たちのベースラインは、VRAMの改善のためだけに2台のマシンにモデルをパイプライン化することになります。これは基本的に、イーサネットだけだったときに見た結果と同じです。そして、1秒あたり約25トークンという結果になりました。

4台すべてに分割すると、1秒あたり約35トークン近くになります。スケーリングは密なモデルほど良くありませんが、それでも大きなパフォーマンスの向上です。そして、最初のトークンまでの時間が約6.5秒から1.5秒に短縮されたことも示しています。これはユーザーや何であれ、応答を見始める前に待たなければならないレイテンシの種類です。

問題は、これらのモデルが総パラメータプール内で大きく移動することです。つまり、少なくとも密なモデルと比較して、多くの小さな計算を行い、少なくとも現在のソフトウェアセットアップでは多くのオーバーヘッドが追加されます。Exoの人たちは最適化に取り組んでいると言っていますが、彼らが簡単に説明してくれたことに基づいて、これらで見る結果はそれほど良くならないだろうと予想しています。

でも、文句を言うのは難しいです。この時点で代替案は何でしょうか。たとえば、8台のNvidia DGX Sparkユニットを購入することもできますが、そうするとはるかに多くの電力を消費します。これらのMac Studioの1台と同じ量のVRAMしか持てず、コストは3万2000ドルです。私の言いたいことをお見せしましょう。

Mixture of Expertsモデルのパフォーマンス

DeepSeek v3.1から始めます。2台のMacで8ビット量子化で実行します。何らかの理由で、このモデルをパフォーマンスの向上ではなく、VRAMの改善のためだけに複数台にまたがってパイプライン化するオプションがありません。だから、これより少ない比較ポイントがありません。ただ、この構成で2台対4台を試して、どうなるか見てみましょう。

私が言っていることはこういうことです。DeepSeek v3.1は総パラメータ数6710億ですが、推論を行っているときに実際にアクティブなのは370億パラメータだけです。わずか5%程度です。最初のトークンを得るのに3.5秒かかり、1秒あたり約20トークンで動いています。では、4台全部で起動してみましょう。

わかるでしょう。以前に見ていたかなり線形的なスケーリングの代わりに、1秒あたり20トークンから1秒あたり24トークンになりました。確かに、最初のトークンまでの時間は3.5秒から2秒未満に大きく短縮されましたが、これらのMixture of Expertsモデルを並列化するのが、密なモデルを並列化するよりも、少なくとも今のところどれだけ効率が悪いかわかります。

明らかに、パフォーマンスはかなり素晴らしいです。将来の最適化により、理論的には同じハードウェアでさらに進むことができるでしょう。それを考えるだけで本当にクールです。しかし、これを何に使うのか、ですよね。あの派手なOpenAIモデルやGoogleモデル、Claudeなどを使っている場合、Cloud Codeで使えます。Cursorで使えます。VS Codeで使えます。しかし、このセットアップにはそのインフラストラクチャがありません。

OpenAI互換APIとコーディングエージェント

幸いなことに、ExoはOpenAI互換のAPIを提供しており、複数のモデルがロードされている場合でも、直接モデルとやり取りできます。これは、私が最初にこれを試したときには機能しなかったもので、彼らの無数のアップデート後にはるかに良く機能しています。同時に複数のモデルをロードできます。

しかし、いくつかの異なるAIコーディングエージェントを試しましたが、どれも適切に通信できないようでした。Open Codeが最も近く、実際に良い応答を与えてくれました。しかし、ツールの使用がまったく機能しませんでした。Exoの人たちは、それに取り組んでいると言っていました。つまり、少なくともJanで使用できます。「ねえ、ウェブサイトを生成してください」と。

そして、実際にそうします。これをコピーペーストするだけでいいと言っています。これを取ってウェブサイトに貼り付けて、開いて、YouTubeチャンネルを登録できます。当然です。待って、なぜLewigを選んだのか。あれ、Lewigを登録してなかった。ああ、でもファイルに直接入ったり、ファイルを読んだり、そのコンテキストを持ったりしてほしいのに、まだそこまで達していません。

ただ、これの実際の消費電力がどれくらいかを見るのが興味深いです。だから、もっと長いストーリーを書くように頼みましょう。約115~125ワットを消費しています。全部合わせると、Mixture of Expertsモデルで約480ワットです。すべてのハードウェアを完璧に活用できていません。

llamaに戻って、実際にハードウェアを本当にうまく活用できるところで実行しているときの消費電力がどうなるか見てみましょう。とても、ああ、失敗しました。何。妄想です。AppleがこのようなMLXモデルを実行するときにCPUとGPUを同期させるために追加した非常にベータ版の機能を使っています。そして明らかに、宇宙で最も安定したものではありません。

だから、すべてのマシンでExoを閉じて、また起動して、試してみます。ああ、ワット数がめちゃくちゃ上がってます。変なこと言っちゃった。密なllama 3.3の700億で、消費電力は600ワットに近いです。実際、これはNvidiaのH200 GPU 1つよりも少ないです。

FP16の代わりにFP8で1つのH200で1秒あたり約50トークンできます。つまり、モデルサイズの半分です。では、クラスター全体でそれを試してみませんか。参考までに、H200は米国で約3万ドルです。そうです。1秒あたり26トークン。

システムの可能性と実用性

だから、ちょうど半分くらいです。既存のハードウェアと少し、率直に言えばおそらく多くのソフトウェア最適化で何ができるかを見ることができるのは本当にクールです。これは今年の3月にずっと購入できたのと同じハードウェアで、今これだけのパフォーマンス向上を得ているんです。本当に、本当にめちゃくちゃクールです。

私は嘘をついて、このような最適化を推進している理由が、多くの人が悪いことに使っているものではないといいなと思う部分がないとは言いません。しかし、人々がAIで行う悪いことがあるからといって、良いこともないわけではないということを、頭の中で折り合いをつけようとしています。

彼らがこのセットアップを試す機会を提供してくれたときの最初の思考は、「おい、これを使ってAlexaを置き換えて、めちゃくちゃ最高のホーム音声アシスタントを構築すべきだ」でした。しかし残念ながら、Home AssistantをOpenAI互換のAPIに接続するためのアプリは、私にはうまく機能しないようでした。

だから、わかりません。チャンネル登録してみませんか。あと2ヶ月くらいこれを持っているので、それを機能させる時間を費やせます。それから、たぶん何台か買わなきゃいけないかも。音声アシスタント用に700ギガバイトのモデルを実行する必要はありませんが。そして、そこにいる間に、この動画をスポンサーしてくれたboot.devをチェックするのを忘れないでください。

コーディングの学習をゲーム化する素晴らしいツールです。そこにいる間にいいねボタンも押せます。そしてコメントしてください。これだけの絶対的にすごい計算能力で何をするか教えてください。

コメント

タイトルとURLをコピーしました