← Back to Home
テクノロジー ·

128GB革命 #13 DGX Spark論争(後)——バッチ18倍と投機decode、論争の決着のつけ方

バッチ32で368tps・18倍の並列スケールとEAGLE3投機decode。一次データで突き合わせた「条件付き勝者表」で論争に決着をつける。

128GB革命 #13 DGX Spark論争(後)——バッチ18倍と投機decode、論争の決着のつけ方

居酒屋でよく見る光景がある。注文を一人ずつ聞いて、一人ずつ皿を運ぶ店員さんと、テーブルごとにまとめて注文を受けて、一度に何皿も運ぶ店員さん。前回までの話で言えば、M5 Maxは前者のタイプだよね。一人の客(バッチ1)への応答の速さでは、帯域614GB/sという物理で圧倒する。でも今日の主役、DGX Sparkには後者の顔があったんだよね。lmsysの一次実測に、たった一つの設定を変えただけで18倍のスループットが出た記録が残ってる。前編でMac派の根拠を全部並べたから、後編の今回はDGX派の反撃を数字で受け止めて、「じゃあ結局どっちなのか」という決着のつけ方まで行ってみるよ。

冒頭でひとつだけ前置き。前回、原稿の段階から出典セクションを最初に書き込むスタイルに切り替えたんだけど、これが正解だったよね。論争ものは数字の伝言ゲームで一番崩れるから、今日も全数値を末尾の出典に集めて、本文から全部辿れる状態で書いていくよ。それがこの連載の消えない土台だよね。

バッチ32で368tps——「まとめて運ぶ」の暴力

2025年10月13日に公開されたlmsysの一次レビューが、この論争で一番重要な一枚だと思うんだよね。一次資料(ベンダーの宣伝でも伝聞でもない実測ブログ)を直接読むのがこの連載の流儀だけど、今回はとくに効くんだよね。条件はLlama 3.1 8B・FP8・SGLang。バッチ1ではprefill 7,991トークン毎秒・decode 20.5トークン毎秒だった。ところがバッチ32に変えると、prefillは7,949とほぼ落とさず、decodeが368トークン毎秒に跳ね上がる。18倍だよね。居酒屋に戻ると、注文をまとめて受けても、一人目の料理が出てくる速さは変わらない。なのに一晩に運べる皿の総数は桁が違う。この線形に近い伸びが、CUDAスタックの成熟度をそのまま数字で見せてるんだよね。

比較として並べると面白い。RTX 5090は205トークン毎秒、Mac Studio M3 Ultraは215トークン毎秒(いずれもlmsysの比較表の値)。つまりバッチ32のDGX Sparkは、単体のGPU王もMac最大級のチップも、並列スループットでは追い越す。前編で書いたoMLXのバッチ8・27.9トークン毎秒(3.99倍スケール)がMac側の並列最高記録という事実と並べると、この18倍の重みがわかるよね。一人分の速さでは負けても、数十人分を同時に運ぶなら勝てる。それがDGX Sparkの存在意義だよね。

lmsys自身の言葉も正確に引いておく。「DGX Spark truly shines when serving smaller models, especially when batching is utilized… best suited for prototyping and experimentation rather than production」。バッチングを使うとき、特に小さいモデルをサーブするときにこそ輝く。試作と実験に最適で、本番向けではない。持ち上げても突き放してもいない。この距離感の正確さが一次レビューの価値だよね。ちなみにGB10チップの中身は20個のCPUコアと1 PFLOPのFP4演算、128GBのLPDDR5x。前編で書いたDeepSeek V4 FlashのvLLM移植が2トークン毎秒未満だった記録と合わせると、「大きなモデルを1人で」は完全にMacの領地だとわかる。

EAGLE3——ソフトウェアで帯域の壁を削る

DGX派のもう一つの切り札が投機的decode(speculative decoding)、特にEAGLE3だよね。仕組みをコーヒーに例えると、本番の一杯を淹れる前に小さなエスプレッソカップで味の見本を素早く作って、味が合っていればそのまま出す、という分担なんだよね。小さい下書き役のモデルが複数トークンの候補を一気に出し、大きな本番モデルがそれを一括で検証する。メモリ帯域という物理の壁を、計算の使い方で迂回する発想だよね。lmsysの実測では最大2倍という数字が載ってる。

面白いのは、この技術がMac側にも等しく使える点だよね。帯域の壁はM5 Maxにも存在するわけで、投機decodeはApple Silicon側の武器にもなり得る。つまりEAGLE3は「DGXの専用特技」ではなく、「帯域律速のマシン全部に効く共通の切り札」なんだよね。とはいえDGX Spark側には、投機decodeに加えて訓練側の物理もある。LoRA微調整8Bが約3.5時間。同じ作業がM5 Maxでは約14時間かかるから、4倍の開きだよね。推論の速さで語られる論争だけど、訓練の世界では差が逆に開く。ここは率直に、尊敬の余地がある数字だと思う。

条件付き勝者表——「どっちが速い」は間違った問いだった

さて、決着の時間だよね。Reddit r/LocalLLaMAで定番化してるコメントに「1人用ならMac、サーバーならDGX」「訓練するならDGX一択、推論だけならMac」がある。実はコミュニティはとっくに答えを出していて、一次データがそれを裏書きしてる形なんだよね。

単発decodeと大MoEモデルでは、M5 Maxの勝ち。284B級のDeepSeek V4 Flashを34〜39トークン毎秒(kamo78の実測とantirezのds4)、122Bクラスを65トークン毎秒で動かせるのは、帯域614GB/sと128GB unified memoryがあってこそ。DGX Sparkに284B級を載せるには2bit量子化で辛うじて、実用速度は出ない。逆に並列スループットと訓練ではDGX Sparkの勝ち。バッチ32の368tps、CUDA生態系、EAGLE3、NVFP4、そして先ほどのLoRA 3.5時間。複数人・複数エージェントを同時に走らせるなら、この差は覆せないんだよね。

そしてコーディングエージェントは状況次第。一人が一つのエージェントと対話するなら、帯域・電力・静音の三点でM5 Max。エージェントの群れを並列に走らせる仕事ならDGX。@jun_songがハードウェアガイドで4千ドルのDGX・7千ドルのM5 Maxと階層分けしたのは(第4回のあの階層だよね)、まさにこの使い分けの地図だったんだよね。presenc.aiの「場面によりDGX Sparkが13〜45%速い」という実測も、この条件付き判定の中でようやく正しい位置に座る。プロダクション設定・CUDAスタック前提の数字だから、単発decodeの文脈で持ち出すと矛盾に見えて、並列スループットの文脈で読めば素直に一致する。矛盾は錯覚だった。二回に分けて追ってきた結論は、それで尽きると思う。

それでも最後には、電気代と静けさが残る

細かい数字をもう一枚だけ足すね。電力。M5 Maxは最大約270W・待機時25W。DGX SparkはTDP約1000W・待機時120W。100万トークンあたりの費用は約1.75ドル対約1.70ドルでほぼ同じなんだけど、部屋に置く物としての体感は全然違うよね。待機25Wで静音のMacは、リビングに置いても家族に気づかれない。大 MoEを一人で触る楽しさは、スペック表に載らない価値だと思うんだよね。一方で本番サービスを何十人かに出すなら、発熱と電気代は「速さ」の一部として計算に入れるべきだよね。

だから結論の順番はこうなる。「何を載せて・何人で使うか」を先に書いてから、マシンを選ぶ。逆をやると後悔する。個人のプライバシー重視・モビリティ・284B級を一人で動かす楽しさならM5 Max 128GB。複数人で回す推論サーバーやFP4での訓練ならDGX Spark。二回にわたって読んでくれた人にはもう大丈夫だと思う。次に誰かが「どっちが速いの?」と聞いてきたら、「何人分の速さ?」と返してあげてほしい。それがこの論争の、いちばん短い決着のつけ方だよね。

もう一つだけ、蛇足の最後に。こうして二回続けて一次データを読み込んでみて改めて思ったのは、数字は言い分を消してくれるけれど、人の努力までは消せないという事実だよね。antirezが2週間で書いたds4が39.35トークン毎秒を出した話も、kamo78がmactopでテレメトリを計測し続けた話も(第14回で書くよね)、マシンの勝ち負けの裏に全部人の手があった。論争の決着は「条件付き勝者表」でついた。でもその表を埋めたのは、各陣営のファンでも宣伝担当でもなく、自分の机で計測して数字を公開した名もなきユーザーたちだった。コミュニティっていうのは、そういう積み重ねの別名だよね。Macの帯域もDGXのバッチも、それを計った人がいて初めて論争の材料になった。次回からはいよいよ、そういう人たちの側にスポットライトを当てていくよ。

出典

次回予告: 第14回は日本語圏の底力。kamo78のmactopテレメトリ、あきらパパの自作モデル、運用ノウハウの実践編だよ。