YouMind
ログイン

DGX Spark ハンドブック

@exolabs
英語2026年9月25日
160K
560
80
26
1.2K

TL;DR

ハードウェアのリンク、モデル選択、量子化、コスト分析を網羅した、NVIDIA DGX Spark ユニットを用いたローカル AI 推論デプロイのための包括的なハンドブックです。

著者: @0xSero

レビュアー: @alexocheema、@alexzfunk

スペシャルサンクス: @MiaAI_lab

ローカルで推論を実行することを検討しているなら、この興味深い「黄金のレンガ」について必ず耳にするはずです。これは AI をローカルで動かすために作られたマシンで、小型・シンプル・静音、そして比較的安価に設計されています(NVIDIA の DGX Spark ページ)。

DGX Spark のことを初めて聞いたとき、私はあまり魅力を感じませんでした。 128 GB のメモリを搭載しているにもかかわらず、273 GB/s というメモリ帯域幅は低すぎるように思えたのです。参考までに、RTX 5090 は VRAM が 32 GB しかないにもかかわらず、約 6.5 倍の帯域幅(1,792 GB/s) を持っています。

EXO Labs - inline image

Spark が発売された当初は、投機的デコーディングのような推論エンジニアリングの手法がまだ広く普及しておらず、小型モデルの能力も今ほど高くはありませんでした。

AI 業界が進化し成長するにつれ、知能はどんどん小さなサイズに圧縮されるようになり、こうした小さな箱のポテンシャルを最大限に引き出せるようになりました。

  1. 推論エンジニアリングの需要が高まっています。
  2. LLM が推論エンジニアリングにおいてより有能になっています。
  3. 高品質な推論がシステム全体を向上させます。

今や DGX Spark は、自宅やオフィスの快適な環境から、クラウドサービスと同等の速度で非常に賢いモデルを実行できるようになりました。コーディングを手伝ったり、確定申告をしたり、勉強をサポートしたり、あるいは単に楽しませてくれたりする AI ソフトウェアが豊富に存在します。

ここで言う「速度」とは、1 人のユーザーが体感する 1 秒あたりのトークン数のことです。クラウドのハードウェア自体はずっと高速ですが、プロバイダーはそれを多数のユーザーで共有し、トークンあたりのコストを最適化しているため、1 人あたりの取り分は少なくなります。一方、自宅ではその箱はあなた専用のものなので、すべての性能を独り占めできます。詳細は上級者向けノートで解説します。

Spark は連結するためにある

DGX Spark の消費電力は非常に少ないです。モデルを読み込んで稼働している状態でも、通常 95 W 前後に収まります。

そのため、大規模な冷却は不要で、ディスクリート GPU と比べるとかなり静かです。アメリカの標準的な電気回路であれば、心配することなく 2〜4 台を重ねて接続できます。重要なのは生の効率性ではなく、まさにこの点です。メモリ速度あたりの単位で見ると、データセンター向けの B300 は1 ジュールあたり約 2 倍の仕事をこなします(上級者向けノートを参照)。Spark は普通の壁のコンセントに挿すだけで動きます。

すべての Spark には ConnectX-7 ネットワークカード(QSFP ポート 2 基)が搭載されており、200 Gb/s(25 GB/s) の通信が可能です。これにより、[Spark 同士をケーブルで連結](https://docs.nvidia.com/dgx/dgx-spark/spark-clustering.html)して、メモリ容量と実効メモリ帯域幅を増やすことができます。

EXO Labs - inline image

DGX Spark の連結方法

テンソル並列処理では、すべての重み行列が各 Spark に分割され、それぞれの Spark が他の Spark と同時に、自分のメモリから自分の担当分だけを読み取ります。そのため読み取り速度は合算されていきます(NVIDIA 公式のスケーリングテスト):

  • 2 台で 546 GB/s
  • 3 台で 819 GB/s
  • 4 台で 1,092 GB/s

これはほぼ線形にスケールします。NVIDIA のテストでは、書き込み速度は 2 台で 2 倍、4 台で 3.7 倍になりました(表 3)。これがうまく機能するのは、ConnectX-7 のリンクが遅延が非常に少なく、CUDA が GPU コード内から直接 Spark 間でデータを移動できるからです(理由の詳細はこちら)。

メモリも同様に合算されます。1 台 128 GB なので 4 台で 512 GB となり、1 台あたり約 120 GB が AI ワークロードに実際に使用可能です。

Spark を積み重ねられることで、最大の弱点であったメモリ帯域幅の低さが解消されます。通常のコンセントで使える低い消費電力は、個人ユーザーや小規模な家庭にとって非常に魅力的です。

EXO Labs - inline image

現実世界で連結された DGX Spark

Dense vs MoE

現在、モデルのアーキテクチャには主にスパース(Sparse)とデンス(Dense)の 2 種類があります。Qwen3.6-35B のような Mixture-of-Experts(MoE)モデルは、1 トークンの生成につきわずか 3B のパラメータしか活性化しません。これは Qwen3.8-27B よりも 9 分の 1 です。

この特性により、スパース LLM は DGX Spark と特に相性が良いと言えます。低めのメモリ帯域幅とうまく噛み合い、モデル全体のサイズが大きくなっても、ユーザーに高速な体験を提供してくれます。

MoE が優れているのは DGX Spark に対してだけではありません。データセンターにおいても優れたアーキテクチャです。ローカル環境で変わったのは「閾値」です。私たちには一定の速度への期待があり、十分に賢いデンスモデルは、自宅でその速度を出すには大きすぎました。MoE モデルはそのラインを越えたため、今ではローカルハードウェア上で実用的かつ高速に動作するようになったのです。デンスモデルもいずれはその領域に到達するかもしれません。

EXO Labs - inline image

Dense LLM と MoE の比較

投機的デコーディング

MTP、DSpark、DFlash をサポートする LLM は、より適しています。ドラフトモデルは通常非常に小さく、正しいトークンを生成するための計算量も少なくて済むからです。

これにより、Spark が持つスループット能力が大幅に向上します。コストとしてメモリを 1〜2 GB 消費しますが、Spark には十分な余裕があります。

MoE と同様、投機的デコーディングは自宅だけでなくあらゆる場所で役立ちます。しかし、この 2 つの組み合わせこそが、ローカル AI を実用レベルへと押し上げた要因です。かつて最高のオープンモデルは、家庭用ハードウェアでは苦痛なほど遅く動作していました。

EXO Labs - inline image

投機的デコーディングによるスループットの向上

複数のエージェントを同時実行

1 台の Spark で 8 つ以上のリクエストを同時に処理でき、それぞれが会話レベルの速度を維持します。たとえば、基本的なコーディング、PC やブラウザ操作、動画・画像編集、一般的なサポートが可能な Qwen3.6-35B は、最大 8 セッションを同時処理し、それぞれ約 40 tok/s を出力できます。

参考までに、ChatGPT Pro サブスクリプションでは、GPT-6-Astra の平均速度は 37 tok/s です。

EXO Labs - inline image

Astra の平均速度

これが可能なのは、Spark がメモリ速度に対して豊富な計算能力を持っているからです。8 人に提供する場合でも、ステップごとにモデルを読み取るのは 1 回ですが、計算量は 8 倍になります。そして Spark には計算能力の余裕があるのです。16 ビットの場合、273 GB/s に対して約 100 TFLOPS を持ち、メモリ 1 バイトの読み取りあたり約 370 回の演算が可能です。M3 Ultra は 819 GB/s に対して約 26 TFLOPS、つまり約 32 回です(EXO の数値)。これは Spark の 4 ビットハードウェアを含める前の数値で、Mac にはその機能がありません。つまり、バイトあたりの計算能力は約 11 倍ということになります。

実際の作業

1 台の Spark 上の Qwen3.6-35B が作成した動画は、1 日で 80,000 回以上再生されました。かかった時間はわずか 3 分。3 つの動画が入ったフォルダを受け取り、それらを結合し、X の制限内にフレームレートを抑えながら 4 倍速に加工しました。

https://x.com/0xSero/status/2072206209323802746

コスト

DGX Spark の当初の定価は $3,999 でしたが、[$4,699 に値上げ](https://videocardz.com/newz/nvidia-officially-raises-dgx-spark-founders-edition-msrp-to-4699)されました。2026 年はあらゆるハードウェアで価格が上昇しています。

実際にかかる費用はさらに高いです。 NVIDIA の公式ストアはすでに在庫切れです。私が見つけた最安値は約 $5,000、中古品は約 $6,000 で取引されており、9 月 21 日には、5 週間前に私が $4,699 で購入したのと同じ本体が NVIDIA のサイトで $7,999 で販売されているのを確認しました。

EXO Labs - inline image

GX10 の価格設定

9 月 21 日時点の NVIDIA マーケットプレイス。投稿

EXO Labs - inline image

$4,000 から $4,700 へ

購入アドバイス

  • GB10 チップ搭載機ならどれでも OK。 ASUS、Dell、MSI などが同じチップの独自バージョンを販売しています。動くソフトウェアや手順(レシピ)は同じです。SSD の容量を確認してください。大きなモデルをいくつか保存すると 1 TB はすぐに埋まります。4 TB をおすすめします。
  • 2 台目の Spark を買うときはケーブルも一緒に購入しましょう。 2 台を連結するために必要です。
  • OEM によっては、エアフローが改善された Spark を提供しているところもあります。

電力、騒音、そして電気代

ディスクリート GPU が発生させる騒音と熱は侮れません。3090 を 4 枚使えば、5 分の 1 のメモリ容量で簡単に 1,600〜2,000 W を消費します。私は RTX Pro 6000 を積んだタワー型 PC を書斎から追い出さなければなりませんでした。部屋が定期的に 35℃ まで灼熱地獄になっていたからです。

アメリカの一般的な家庭用回路は、1 日中安全に約 1,440 ワットを供給できます(米国電気コード)。それ以上は新しい回路が必要になり、電気工事士を呼ぶことになります。

  • 1 台の Spark でモデルを実行すると、約 90〜200 ワットを消費します(ServeTheHome)。24 時間つけっぱなしにした場合、月額約 $12 です。
  • 4 台の Spark は合計で約 500 ワットを消費し、スイッチが約 240 W 使います。月額約 $66〜100 で、すべて 1 つのコンセントに収まります。
  • 私の 4 枚構成 GPU リグはピーク時 1,600 ワットに達します。これは 1 回路で扱える限界を超えており、月額約 $300 かかります。
EXO Labs - inline image

これらの数字の根拠。 それぞれ異なる種類の測定値なので、ここに並べて比較します。月額コストは、1 kWh あたり 18 セントで、マシンが 24 時間その消費電力で稼働し続けたと仮定した場合のものです。

EXO Labs - inline image

私のテスト結果

なぜ 4 台の Spark は 90 W × 4 よりも多く消費するのか。 90 W という数値は、1 台の Spark が単独でモデルを提供している場合のものです。1 つの巨大なモデルを 4 台に分割すると、すべての Spark がすべての単語を処理し、ネットワークリンクを常にフル稼働させるため、それぞれの消費電力が増加します。私の測定では平均約 125 W でした。したがって、月額 $12 や $66 は 24 時間フル稼働させた場合のコストです。アイドル時間を含む実際の使用では、もっと安くなります。

電気代も安くはなっていません。米国の家庭用電気料金は、今年は約 5% 上昇し、1 kWh あたり約 18 セントになっています。その一因は新規データセンターの急増です。8 月には、GPU リグ、2 台の Spark、4 台のエアコンをすべて稼働させた結果、私自身の請求額が月額 $1,000 に倍増しました。

EXO Labs - inline image

DGX Spark の動作音

では騒音はどうでしょうか? 私の GPU リグはジェットエンジンのような音がします。4 台の Spark が最もうるさくなったときの音がこちらです:

いくつかの実用的なメモ:

  • あらゆる種類の AI モデル、ワールドモデル、画像生成などに活用できます。
  • 横向きに立てて設置しましょう。 メッシュの周りにスペースができ、私の環境では温度が下がりました。
  • デバッグで困ったら Discord / Reddit / X のコミュニティに参加しましょう。
  • 所有する全マシンに Tailscale をセットアップしましょう。
EXO Labs - inline image

私が実際に使っている 6 つのモデル

数十個試しましたが、いつも戻ってくるのはこの 6 つです。

EXO Labs - inline image

1 トークンはだいたい単語の 4 分の 3 程度で、30 tok/s を超えれば普通の会話のように感じられます。

なぜすべての数値にタスク名が添えられているのか。 これらのレシピのほとんどは投機的デコーディングを使用しており、小さな補助モデルが先読みを行います。コードや JSON は予測しやすいですが、自然な文章はそうではないため、同じマシン上の同じモデルでも、タスクによって 2 倍の速度差が出ることがあります。プロンプトが長くなると速度も落ちます。そのため、ここでの速度は「何を生成していたか」「プロンプトがどのくらい長かったか」を示しています。

多くのタスクにまたがってこれを正確に測定するには、NVIDIA の SPEED-Bench が適しています。これは 11 カテゴリの実際のプロンプトと、1K から 32K トークンの入力長で投機的デコーディングをテストするものです。私はまだ Spark で実行していません。

EXO Labs - inline image

2 台の Spark 上でアニメーションと小さなゲームを構築する Qwen3.8-Flash-Next。(9 月 21 日)投稿

入手先。 各モデルには公式ページがあり、セクション 6 にはそれぞれテスト済みの Spark 用レシピがあります。

巨大なモデルがなぜ収まるのか

答えは量子化(Quantization)です。量子化はモデルの重みを圧縮しますが、非可逆的です。各重みがより少ないビット数(たとえば 16 ではなく 4)で保存されるため、モデルサイズは 4 分の 1 に縮小しますが、一部のディテールが失われます。目的は、重みを圧縮しながら、元のモデルの挙動に可能な限り近づけることです。

圧縮するほど品質は劣化します。turboderp が Qwen3.8-27B でこれを測定しました。各ドットは 1 つの圧縮バージョンを表します。左に行くほどサイズが小さく、下に行くほどオリジナルに近いことを意味します。

EXO Labs - inline image

複数のプロバイダーによる Qwen3.6-35B-A3B の圧縮バージョンにおける、ディスクサイズに対する平均 KL ダイバージェンス。対数スケール。グラフ出典:https://huggingface.co/turboderp/Qwen3.8-27B-exl3

Spark で重要になるフォーマットは 2 つです。

  • NVFP4 は NVIDIA の 4 ビットフォーマットで、Spark のチップが直接読み取れます。Qwen3.6-35B は 72 GB から 24 GB に縮小し、1 台の Spark に余裕を持って収まります。
  • EXL3 は使用するビット数を細かく指定できます。GLM-5.3-Flash の 4 ビット版は 176 GB で、2 台の Spark に収まります。2 ビット版なら 85 GB となり 1 台に収まりますが、少し精度が落ちます。
EXO Labs - inline image

ヒント:

小型モデルには 4 ビット、大型モデルには 3 ビットがスイートスポットです。

圧縮されたモデルがまだ優秀かどうかを見極める方法。 優れたモデルカードには、小型版がどれだけオリジナルに近いかを示す指標が記載されています。注目すべき 2 つの数値があります。

  • Top-1 一致率: 小型モデルがオリジナルと同じ次の単語を選ぶ頻度。高いほど良いです。私の 1 台用 GLM-5.3-Flash は約 80% の確率で一致します。
  • KL ダイバージェンス: 予測がオリジナルからどれだけ乖離しているか。低いほど良いです。私の 枝刈りなし 3 ビット版 GLM-5.3 は 0.089 です。枝刈り済みの 197 GB 版は 0.511 です。これが少ない台数に収めるための代償です。

6. 1 台から 4 台へ:ステップバイステップガイド

ここが一番よく質問される部分です。一歩ずつ進めていきましょう。各ステップは独立して機能するので、満足したところで止めて構いません。

EXO Labs - inline image

以下のレシピのほとんどは MiaAI Lab によるものです。彼らは最適な Spark セットアップをリポジトリにまとめ、1 つのスクリプトでクローンして始められるようにしてくれています。いくつかは私自身のものです。すべて、どの環境でテストされ、どのくらいの速度が出たかが記載されています。

まず、すべての Spark に対して以下の作業を 1 回ずつ行ってください。

  1. アップデートする。 DGX Dashboard で更新を実行し、再起動します。
  2. ノート PC からアクセスできるようにする。 NVIDIA Sync または通常の SSH を使用します。家の外からアクセスするには、NVIDIA が提供する Tailscale の Playbook があります。
  3. Hugging Face のアカウントとトークンを作成する。 ほとんどのレシピはこれでモデルをダウンロードします。トークンは .env ファイルに記述し、リポジトリには絶対に含めないでください。
  4. ディスク容量を確認する。 モデルは巨大です。1 台用のレシピには約 25〜130 GB の空き容量が必要です。4 台用の DeepSeek レシピでは、最初の Spark に約 476 GB 必要です。
  5. Docker はすでにインストール済み。 DGX OS には標準で含まれており、ほぼすべてのレシピがその中で実行されるため、Python パッケージを手動でインストールする必要はありません。

ステップ 1:1 台の Spark

まずは LM Studio から始めましょう。 NVIDIA のステップバイステップガイドに従い、Qwen3.6-35B をダウンロードしてチャットを開始します。所要時間は約 1 時間です。難しいことに手を出す前に、まず本体が正常に動くことを確認できます。

次にレシピに移行します。 レシピは vLLM や SGLang を使用しており、LM Studio よりも高速で、複数のエージェントに同時に提供できます。以下から 1 つ選びましょう。

  1. Qwen3.6-35B (4-bit NVFP4) MiaAI Lab 1 ユーザーで 95 tok/s、8 人で合計 317 tok/s、約 50 GB
  2. Qwen3.8-27B (4-bit NVFP4) MiaAI Lab DSpark ヘルパー使用時のコード生成で約 51 tok/s、チャットで約 23 tok/s、約 24 GB
  3. Qwen3.8-Flash-Next (4-bit NVFP4) MiaAI Lab 1 ユーザーで 48.7 tok/s、8 人で合計 162.9 tok/s、約 130 GB
  4. GLM-5.3-Flash (2-bit EXL3) 私のレシピ、または Mia のレシピの 1 台版 10〜25 tok/s、262K コンテキスト、ビジョン対応、約 85 GB

最初のが一番簡単です。たった 3 行です。

bash
1git clone <https://github.com/MiaAI-Lab/Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark.git>
2cd Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark
3./start.sh

起動すれば、Spark 上に OpenAI 形式のエンドポイントが立ち上がります。Pi、opencode、Open WebUI など、普段使っているツールからそこを指定してください。

ヒント:

モデルが起動しない場合、原因はほぼ間違いなくメモリ不足です。先に他のモデルを終了させてください。1 台の Spark では、一度に 1 つの巨大モデルしか動かせません。

ステップ 2:2 台の Spark

私が最もおすすめする構成です。8 月にこう言いました。「DGX Spark が 2 台あれば完璧だ。」

EXO Labs - inline image

2 台の DGX Spark

ケーブル。 2 つの QSFP ポート間を繋ぐ短い QSFP ケーブルが 1 本必要です。以下のいずれかで動作します(ケーブルガイド)。

  • NVIDIA 純正: DGX Spark 用 QSFP ケーブル 0.4 m、$99.99。よく在庫切れになります。
  • NVIDIA ドキュメント指定のもの: Amphenol NJAAKK-N911 または Luxshare LMTQF022-SD-R、0.5 m、約 $159〜$187。
  • より安い 200G 対応品: NVIDIA MCP1650-V00AE30、約 $84。

どれを買ってもリンク速度は 200 Gb/s です。USB-C や 10 GbE ポートは使わないでください。圧倒的に遅すぎます。

リンクを設定する。 NVIDIA の 2 台の Spark を接続する Playbook に従ってください。各ポートにアドレスを割り当て、速度を確認します。その後、1 台目の Spark(「ヘッド」)から 2 台目(「ワーカー」)へパスワードなしで SSH 接続できるように設定します。2 台構成のレシピはすべてこれを前提としています。

この設定は Claude や GPT にやってもらうのがおすすめです。ずっと楽ですよ。

レシピを選ぶ:

  1. Qwen3.8-Flash-Next (4-bit NVFP4) MiaAI Lab MTP 使用で 1 ユーザーあたり 52.1 tok/s、最大 1M コンテキスト
  2. GLM-5.3-Flash (4-bit EXL3) MiaAI Lab 1 ユーザーで 62.9 tok/s、4 人で合計 146.5 tok/s、850K コンテキスト
  3. DeepSeek-V4.1-Flash (2.9-bit EXL3) MiaAI Lab コード生成で 38.8〜43.0 tok/s、600K コンテキスト
  4. GLM-5.3 (3-bit EXL3、197 GB に枝刈り) 私のモデルカード 収まります。速度は未測定

2 台構成のレシピはどれも似ています。サンプル設定をコピーし、両方の Spark のアドレスを入力し、ダウンロードして起動するだけです。GLM-5.3-Flash の例は以下の通りです。

bash
1cp .env.example .env # HEAD_IP と WORKER_IP を設定
2./download.sh
3./start.sh

注意:

Spark の連結自体はうまく機能しますが、ソフトウェア面で最も洗練されていない部分でもあります。テスト済みのレシピに従い、最初は半日ほど時間を確保しておきましょう。

ステップ 3:3 台の Spark

3 台の Spark にはスイッチが不要です。各 Spark には QSFP ポートが 2 つあるため、A から B、B から C、C から A へと三角形にケーブルで繋ぎます。必要なケーブルは 3 本です。NVIDIA はこれをスイッチレスリングとしてサポートしています。

3 台で約 384 GB になります。これは 2 台では収まらなかったものに十分です。

  • ネイティブ精度の DeepSeek-V4.1-Flash。 MiaAI Lab のレシピは、3 台の三角形構成で 1 ユーザーあたり 51.0 tok/s、256K コンテキストで実行します。起動前に SSH、Docker、ネットワークリンクをチェックしてくれる doctor コマンドが付いています。
  • より余裕を持たせた GLM-5.3-Flash。 2 台用 EXL3 レシピには、3 台用の start-tp3.sh が用意されています。
  • 枝刈りなしの GLM-5.3。 私の 293 GB ビルドには、約 3 台分のメモリが必要です。

DeepSeek のレシピは、大規模な構成がどのように動作するかを示す良い例です。1 つのコマンドではなく、いくつかのステップに分かれています。

bash
1./start.sh doctor # ssh、docker、リンク、ディスクをチェック
2./start.sh share # 他の Spark とモデルフォルダを共有
3./start.sh serve # ワーカーを起動してからヘッドを起動

ヒント:

モデルによっては 2 または 4 でしか均等に分割できないものがあります。3 台目を購入する前に、レシピに「3x」と記載されているか確認してください。

ステップ 4:4 台の Spark

4 台で約 512 GB になります。接続方法は 2 通りあります。

オプション A:スイッチを使う(私が採用している方法)。 各 Spark から 200 GbE スイッチへ 1 本ずつケーブルを繋ぐため、すべてが 1 ホップで繋がります。NVIDIA にはこのための Playbook があります。よく使われているスイッチは以下の通りです。

9 月に私が言った通りです。「MikroTik のスイッチと組み合わせた 4 台の Spark よりお得なものは市場にないと思う。」

EXO Labs - inline image

オプション B:スイッチを使わない。 4 台をリング状に配線し、各 Spark を隣接する 2 台とケーブルで繋ぎます。隣接していない Spark 同士は、間の Spark を経由して通信します。スイッチ代は節約できますが、セットアップはより複雑になります。

  • SparkRing は、スイッチレス構成のペアおよび 4 台 Spark リング向けのフルソフトウェアスタックです。アルファ版なので、バージョンを固定して使ってください。
  • この GLM-5.3-Flash レシピ は、短い 100G ケーブル 4 本とパッチ適用済み NCCL を使った 4 台 Spark リングで動作します。通常は約 45 tok/s、ウォームアップ後は最大約 100 tok/s に達します。

レシピを選ぶ:

  • DeepSeek-V4.1-Flash (ネイティブ) MiaAI Lab, start-tp4.sh 1 ユーザーで 45.4 tok/s、16 ユーザー合計で 134.2 tok/s、コンテキスト 1M
  • GLM-5.3-Flash (4-bit NVFP4) スイッチレスリング 通常約 45 tok/s、ウォームアップ後約 100 tok/s

私自身が 4 台構成で出したベスト記録は、DFlash2 ヘルパーを使った GLM-5.3-Flash で 118 tok/s、短いプロンプトでの DeepSeek-V4.1-Flash で 83.8〜95.3 tok/s です(投稿)。

EXO Labs - inline image

各ステップで役立つツール

  • \\sparkDash:\\ すべての Spark を 1 つのウィンドウで管理できる Web ダッシュボード。GPU、メモリ、ネットワーク、リアルタイムのトークン/秒を表示します。本ガイドに記載した速度のいくつかはこれで計測しました。
  • \\NVIDIA の Spark プレイブック:\\ LM Studio、Ollama、vLLM、Spark の連結などに関する公式ガイド。
  • \\local-ai-registry:\\ 私のレシピと、私が実施したすべての速度テスト結果。
  • \\b12x:\\ 多くの Spark レシピの根底にある高速演算ライブラリ。自分でインストールする必要はなく、レシピ側が自動で行います。詳細は後述の「上級編」を参照してください。
EXO Labs - inline image

まとめ

Spark は「メモリの箱」です。巨大なモデルを収め、家庭用電源で静かに動かし、1 台追加するたびに性能が上がっていきます。

今日から始めるなら:

  1. まずは 1 台買い、初日から LM Studio で Qwen3.6-35B を動かしてみましょう。
  2. 速度や多数のエージェントが必要になったら、レシピに移行します。
  3. GLM-5.3-Flash や DeepSeek-V4.1-Flash を使いたくなったら、2 台目の Spark とケーブルを購入します。ほとんどの人にとって、ここで止めるのが正解です。
  4. 3 台・4 台へ増やすのは、最大のモデルを使いたい場合や、複数モデルを同時に動かしたい場合だけです。

もう一度買うか? もちろんです。もし最初からやり直すなら、初日に 2 台買います。

上級編:Spark を連結するとどうスケールするのか

Spark を使うだけなら、このセクションは不要です。数字のカラクリを知りたい人向けの内容です。

生成はほぼ線形にスケールする

モデルが 1 語生成するたび、メモリからアクティブな重みを読み出す必要があります。モデルを複数の Spark に分割すれば、それぞれが自分の担当分を同時に読み出すため、読み出し速度が合算されます。

NVIDIA がこれを測定しています。Spark を 1 台から 2 台、4 台へと増やすと、1 語あたりの生成時間は 269 ms → 133 ms → 72 ms と短縮されました。2 台で 2.0 倍、4 台で 3.7 倍の高速化です(NVIDIA ブログ表 3)。

EXO Labs - inline image

ここまで線形に近づく理由は、ConnectX-7 リンクの遅延が非常に低く、Spark 間のデータ交換を GPU コード内部で完結できるからです。Mac 向けのこちらの解説でも同じ仕組みが詳しく説明されています。

各レイヤーの処理後、次のレイヤーに進む前に Spark 間で部分的な計算結果を交換します。交換量は小さいものの、全レイヤー・全トークンで発生します。この交換には一定の時間がかかり、Spark を増やしても短縮されません。

  • リンクは 200 Gb/s、約 25 GB/s です。 Spark 単体のメモリ帯域の 10 分の 1 ですが、交換量が少ないので問題ありません。
  • RDMA を使用します。 CPU がコピーすることなく、ある Spark のメモリから別の Spark のメモリへ直接データが転送されます。各 QSFP ポートは 100 Gb/s のレーン 2 本として認識されるため、フル 200 Gb/s を得るにはソフトウェア側で両方を使う必要があります(詳細)。NVIDIA のライブラリである NCCL がこれを処理します。
  • 読み込み(Prefill)は生成ほどスケールしません。 同じ NVIDIA のテストでは、32K トークンのプロンプト読み込みは 2 台で 1.6 倍、4 台で 2.1 倍の高速化にとどまりました。読み込みではステップごとに Spark 間で移動するデータ量がはるかに多いためです。
  • リング構成ではホップ数が増えます。 3 台の三角形構成では、すべての Spark が他の 2 台と直接ケーブルで接続されます。4 台のリング構成では、一部のペアが隣のノードを経由して通信します。スイッチを使えばすべて 1 ホップになります。SparkRing は、リング構成を高速化するために独自の交換コード(SIRCL)を実装しています。
  • MoE(Mixture-of-Experts)モデルでは 2 段階の分割が行われます。 レシピではテンソル並列と「エキスパート並列」を組み合わせることが多く、異なる Spark が異なるエキスパートを担当します。

高速化する残り 2 つの方法

  • 同時ユーザー数を増やす。 Spark はステップごとにモデルを 1 回読み込むだけで、その結果を使って全ユーザーに応答します。そのため、合計スループットはシングルユーザー時の速度よりもはるかに速く伸びます。
  • 先読み推測を行うスペキュレーティブデコーダモデル。 MTP、DSpark、DFlash2 はいずれもこれを行います。小さくて高速なヘルパーモデルが複数語をドラフトし、大きなモデルが 1 回の読み込みでまとめて検証します。推測が当たれば、1 語分のコストで複数語を得られます。同じレシピ内で、GLM-5.3-Flash が散文の 27 tok/s から構造化出力で 65 tok/s まで跳ね上がるのはこの仕組みによるものです。
EXO Labs - inline image

1 台の Spark で 4-bit 動作する Qwen3.6-35B-A3B、高速化ヘルパー有効。出典:local-ai-registry 速度テスト、2026 年 8 月。

クラウド AI とローカル AI は別物

クラウド GPU は Spark よりずっと高速です。しかしクラウド事業者は 1 つの GPU を多数のユーザーで共有しており、トークンあたりのコストとユーザーあたりの速度のトレードオフのどこに点を打つかを決めています。大半はコスト優先のため、ハードウェア本来の性能からすれば 1 人が得られるトークン/秒は少なくなります。InferenceX は Qwen3.8-Flash-Next におけるこのトレードオフを図示しています。

自宅では、このトレードオフが存在しません。マシンは自分だけのものなので、全性能を 1 人に割り当てられます。ハードウェア性能では劣っていても、Spark がクラウドサービスと同じくらい速く感じられるのはそのためです。

sm_121:Spark のソフトウェアが独立した世界である理由

NVIDIA GPU には「コンピュートケイパビリティ」という番号があり、どの命令セットに対応しているかをソフトウェアに伝えます。Spark の GPU は 12.1、つまり sm_121 です(Simon Willison のファーストインプレッション)。RTX 5090 や RTX PRO 6000 は近い存在の sm_120 です。一方、NVIDIA のデータセンター向けチップ B200 や B300 は sm_100 および sm_103 であり、別系統に属します。

これが重要なのは、最速の AI コードは特定のアーキテクチャ世代に向けて書かれるためです。Spark 発売当初は、多くのコードが動かないか、低速でしか動きませんでした(NVIDIA フォーラム、vLLM の issue)。

解決策は、Spark 専用コードを書く人々の登場でした:

  • Local Inference Lab による b12x は、sm_120 および sm_121(DGX Spark、RTX Spark、RTX 5090、RTX PRO 6000)向けのカーネルライブラリです。4-bit 行列演算(NVFP4、MXFP4)、DeepSeek 系モデル向けのアテンション、MoE レイヤー、高速モデルローダーをカバーします。pip install b12x でインストールでき、vLLM レシピでは flashinfer_b12x のようなフラグで有効化します。Qwen3.6-35B レシピで使用されています。
  • SparkInfer は b12x の旧称です。古いリンクは現在 b12x へリダイレクトされます。私の 1 台構成 DeepSeek レシピは、読み込みと生成の両方でこのアテンションコードを使用しています。RTX カード(sm_120 のみ)向け別ランタイムである gittensor の sparkinfer と混同しないでください。
  • ExLlamaV3 は EXL3 モデルを動かすための基盤です。MiaAI Lab が Arm(GB10)移植とヘルパーモデル対応を含む フォーク を管理しています。
  • lil は Local Inference Lab のランチャーです。マシンの構成を読み取り、1 台または連結された Spark グループに適した vLLM コマンドを自動生成します。

上級編:研究用マシンとしての Spark

これは予想外の発見でした。Spark は生成が遅い反面、読み込みは非常に得意です。そしてモデルに関する研究作業のほとんどは「読み込み」なのです。

Spark が最も得意なこと:Prefill

モデルは 2 つの異なる処理を行います。

  • Prefill(プリフィル) はプロンプトの読み込みです。プロンプト全体を一度に処理するため、ボトルネックは純粋な計算能力になります。GB10 にはそれが十分備わっており、4-bit 演算で最大 1 ペタフロップスを発揮します。
  • Decode(デコード) は回答を 1 語ずつ生成する処理です。1 語ごとにメモリからモデルを再読み出しする必要があるため、ボトルネックはメモリ速度になります。ここが Spark の弱点です。

したがって、Spark は生成の 13〜41 倍の速度でプロンプトを読み込みます。

EXO Labs - inline image

4 台の Spark での DeepSeek-V4.1-Flash:32K トークンのプロンプト読み込みで 3,360 tok/s、131K で 3,273 tok/s。一方、生成は 70〜95 程度にとどまる。(9 月 20 日)投稿

なぜそれが研究に必要なのか

私がモデルを小型化する際に行う作業のほぼすべてが、生成ではなく読み込みです。

  • 量子化(ビット数の削減)。 EXL3 や NVFP4 のビルドは、サンプルテキストをモデルに通し、各ビット幅で各レイヤーがどれだけ精度を失うかを測定して作成します。これは読み込みです。
  • プルーニング(エキスパートの削減)。 REAP はサンプルテキストを MoE モデルに通し、各エキスパートの使用頻度を記録します。最も使われないエキスパートが削除されます。私の 197 GB の GLM-5.3 は 256 個中 168 個のエキスパートを残しています。これも読み込みです。
  • 品質チェック。 Top-1 一致率や KL ダイバージェンスは、同じテキストを元のモデルと小型モデルの両方に読み込ませ、予測結果を比較することで得られます。やはり読み込みです。
  • ロングコンテキストテスト。 262,000 トークンの中から 1 つの事実を見つけられるかの検証は、ほぼ「非常に長い 1 回の読み込み」です。

まさにこの理由から、私のワークフローは移行しました。「今はプルーニング/exl3/ベンチマークをすべて DGX Spark で行い、6000 は推論専用にしている。遅いけど、2〜3 日が 12 時間になるなら上等だ。」 ダウンロード数 10 万を突破した 1 台構成の DeepSeek は、REAP でプルーニングし EXL3 で圧縮したモデルです。

研究目標との結びつき

モデルについて何かを学ぶことが目的なら、Spark は非常に適しています。

  • 巨大モデルをそのまま格納できる。 クラスタを借りることなく、1〜2 台のマシンで 300B モデルを測定できます。
  • 家庭用電源で何日も稼働させられる。 長時間のキャリブレーションや評価も、高額な電気代を気にせず無人で回せます。
  • 高速なハードウェアを解放できる。 私の GPU は推論提供に使い、Spark が時間をかける慎重な作業を担当します。
  • 手持ちのデータでキャリブレーションできる。 私は 自分のエージェントセッションや文章でモデルをプルーニングしていますが、これらは非公開でデスクの上から出ません。
  • 研究エージェントのホストとして優秀。 Spark 上で 4 つのエージェントが同時に研究タスクに取り組んだことがあり、それぞれ約 120 tok/s を出ていました。
  • 学習は Spark 間でよくスケールする。 NVIDIA のテストでは、ファインチューニングが 2 台で 2 倍、4 台で 4 倍高速化しました。Spark 間の同期がステップごとに 1 回だけだからです(表 5)。NVIDIA の プレイブックでは PyTorch を使ったファインチューニングも解説されています。私自身はまだ学習時間を計測していません。

上級編:GB10、GB300、そして追加メモリとしての Spark

「GB」は Grace Blackwell の略で、Arm CPU と Blackwell GPU が 1 パッケージに収まり、NVLink-C2C という高速リンクでメモリを共有する構造を指します。Spark に搭載される GB10 はその最小構成版で、MediaTek と共同開発した 20 コアの Arm CPU を備えています。

GB300 はデータセンター版で、Grace CPU と Blackwell Ultra(B300)GPU の組み合わせです。NVIDIA の GB300 NVL72 ラックに搭載され、1 基の GB300 が DGX Station を駆動します。GB10 は GB300 を切り出したものではありません。同じ設計を小型化したものであり、だからこそ同じソフトウェアが両方で動くのです。

EXO Labs - inline image

まとめ

DGX Spark は私の自宅に確かな居場所を作り、サポート・実用性・性能のすべてが日々向上しています。

情報源とさらに読むべき記事

ワンクリック保存

YouMindでバイラル記事をAI深読み

ソースを保存し、的を絞った質問をし、主張を要約して、バイラル記事を再利用できるノートに変えます。すべてを1つのAIワークスペースで行えます。

YouMindを探索
クリエイターのために

あなたの Markdown をきれいな 𝕏 記事に

自分の長文を投稿するとき、画像・表・コードブロックを 𝕏 向けに整形するのは手間がかかります。YouMind は Markdown 全体を、そのまま投稿できるきれいな 𝕏 記事に変換します。

Markdown → 𝕏 を試す

解読すべきパターンをもっと

最近のバイラル記事

バイラル記事をもっと見る