広告

同一の397BモデルのためにデュアルDGX SparksとMac Studio M3 Ultraをセットアップするのに96時間費やしたが、どちらも勝てなかった

Reddit r/LocalLLaMA / 2026/3/28

💬 オピニオンDeveloper Stack & InfrastructureIdeas & Deep AnalysisTools & Practical Usage

要点

  • 著者は、Mac Studio M3 Ultraがセットアップ後4時間でQwen3.5-397Bの推論を提供し始めた一方で、デュアルDGX Sparksは複数の運用失敗(ネットワーク/ IPの不安定さ、古いコンテナビルド、OOMによるクラッシュ、設定の再帰が暴走、非対話型sudoの問題)により4日経ってようやく稼働準備が整ったと報告している。
  • 生成速度については、双方ともQwen3.5-397Bでのコンテキスト長に対して実質的に同程度(約27〜29 tokens/second)となり、著者のテストでは出力が区別できないほどだった。
  • プリフィル(長いプロンプトの取り扱い)では、DGX Sparksの方が大幅に高速で(4Kで730 tok/s、Macは317 tok/s)、長い文脈のワークロードに対してより機敏に感じられた。
  • 埋め込みスループットは著者を驚かせた。埋め込みはメモリ帯域に律速されるため、M3 Ultraの帯域優位が期待していたCUDAの恩恵を上回り、Mac StudioがSparksを上回った(112文/s 対 76.6文/s)。
  • 著者は「exo」を使わなかった。互換性のない量子化フォーマット、MoEモデルがネットワーク越しに見せるアクセス挙動の予測不能さ、さらに推論と並行してバックグラウンドRAGを動かす運用上の制約が理由だった。

前回の投稿で、この2つのプラットフォームを比較した続きです。今回は、両方のマシンを同時に動かした状態で、最初の1週間に実際に何が起きたのかを記録します。「一対一の同等比較をしていない」と文句を言っている人たちには、言いたいことがあって、これらはそもそも同等の製品ではないので、両方に対してそれぞれ個別にデプロイを最適化したのだと言っています。この投稿では、得られた結果と、それが私の考え方をどう変えたかをもう少し詳しく書きます。

すべてを物語るギャップ

Mac Studioは、電源を入れてから4時間後にQwen3.5-397Bの推論を提供できていました。DGX Sparksは4日かかりました。私は5種類の明確な失敗カテゴリに遭遇しました。リブートで消えてしまうエフェメラルIP、3日前の古いコンテナビルド(最先端の地獄の血の中では古代史)、0.1GB刻みでメモリ割り当てを二分探索する必要があったOOMクラッシュ、S3上で1.9MBの設定が895MBに化けた再帰的シンボリックリンク、そして自動化のあらゆるステップで非対話sudoが無言で失敗する件。どれもそれ自体が“物語”になるタイプのトラブルです。「あなたのやり方が間違っている。自分は1時間で立ち上がった」と言う人もいましたが、そういう人たちはおめでとう、そして運が良かったね、で終わりです。

誰も予想しなかったベンチマーク

生成速度は引き分けです。どちらのプラットフォームも、Qwen3.5-397Bにおいて全コンテキスト長で27〜29 tok/sを提供します。出力を見れば違いは分かりません。

一方で、PrefillはSparksが支配的です。4Kで730 tok/s、Macは317です。Blackwellのテンソルコアは、Applebee'sの小さなサンプラープレートみたいに、大きなプロンプトを食べ尽くしていきます。長い会話やドキュメントをコンテキストに放り込むなら、Sparksの方が明らかにキビキビしています。

そして驚きがもう一つ。埋め込みスループット(Qwen3-Embedding-8B)はMac Studioに軍配が上がりました。112文/sに対してSparksは76.6です。埋め込みは純粋にメモリ帯域がボトルネックです。M3 Ultraの819 GB/sが、Sparksのノードあたり273 GB/sを粉砕します。CUDAが勝つと思っていましたが、そうはなりませんでした。ただし、数字を見直せば想像していたほど大差ではありませんでした。

なぜexoを使わなかったのか

人は聞いてくるだろうというのは分かっています。理由は4つあります。まず、各プラットフォームで別の量子化を使っているからです(INT4 AutoRound vs 6 bit)。推論を互換性のない形式で分割できないため、組み合わせるのが難しい。次に、397BのMoEはメモリアクセスのパターンが予測不能で、ネットワークリンクに対してうまく分割できない。さらに、推論の際にこれらをまとめると、バックグラウンドのRAGジョブを回す能力が死んでしまう。そして最後に、exoはINT4 AutoRoundやMoEアーキテクチャをうまくサポートしていません。エンジニアリングは素晴らしい。ただ、提示されていた問題とは別の問題を解いているだけです。

私が見つけたアーキテクチャ

私の当初の計画は、埋め込みスループットをベンチマークして、負けた方を戻すことでした。Macが埋め込みで勝ちました。私自身の基準では、Sparksは引き返していたはずです。

しかし、私が解こうとしていた本当の問題は速度ではありませんでした。隔離(アイソレーション)です。Macでバッチ埋め込みを実行しつつ、397Bモデルをサーブすると、メモリ競合、サーマルスロットリング、そして推論の劣化が発生します。SparksはRAG用(埋め込み、再ランキング、ベクタ検索、BM25)に専用のハードウェアを提供してくれます。そこでは推論用のメモリに一切触れません。ええ、火炎放射器でハエを倒しているのと同じです。でも、これらのデバイスを支えるだけの資金と帯域はあります。

Mac Studio=純粋な推論アプライアンスで、モデル用に最大512GBを確保。Sparks=常時稼働するRAGエンジンで、バックグラウンドで埋め込みと再ランキングを動かします。クエリが入ってくると、Sparksが取得して再ランキングし、チャンクをMacに送ります。Macが29 tok/sで生成します。これは当初設計されたアーキテクチャではありません。失敗を通じて見つけたものです。

完全版の中身

上記5カテゴリすべての詳細な失敗談、あらゆるコンテキスト長にわたる完全なベンチマーク表、そして、そもそも“摩擦”が私がわざわざ設計したはずのより良いアーキテクチャを結果として強制した理由の考察です。

全文:https://open.substack.com/pub/alooftwaffle/p/96-hours-with-dual-dgx-sparks-and

質問には喜んで答えます。前回の投稿は素晴らしい議論を生み、そこから学びました。

submitted by /u/trevorbg
[link] [comments]

広告