DGX Sparkでllama.cppデュアルサーバー構築 — Qwen3-Coder-Next 80B + Gemma 4 26B同時運用


Written by Thierry K (human) · AI-assisted
🖥️ NVIDIA DGX Spark GB10 · Ubuntu 24.04.4 LTS · CUDA 13.0 · llama.cpp (Blackwellネイティブビルド) · 128GB Unified LPDDR5x

DGX Spark llama.cpp Qwen3-Coder-Next Gemma 4 MXFP4 デュアルサーバー

🔍 128GB統合メモリで80Bモデルを2つ同時に?

結論から言うと、NVIDIA DGX Spark1台で80Bクラスのコーディングモデルと26Bクラスの対話モデルを同時にサービスできます。APIコストはゼロ、レイテンシもゼロ。128GB統合メモリとBlackwellのMXFP4ネイティブサポートのおかげです。

この記事では、DGX Sparkにllama.cppデュアルサーバーを構成し、Qwen3-Coder-Next 80BとGemma 4 26B-A4Bを同時運用する全工程をまとめています。実測パフォーマンス、メモリ最適化、systemdサービス設定まで含みます。

以前の記事で取り上げたDGX Spark vs Mac Studio比較から一歩進んだ実践セットアップガイドです。

⚠️ 更新(2026-07-20):この記事の結論(デュアルサーバー構成が最善)は、2ヶ月後の実測で覆りました。Qwenを完全に停止し、Gemma4単独構成に落ち着いたのですが、速度はむしろ速くなりました(109 tok/s、約2倍)。最新の結論はGemma4ローカルLLM最適化を参考にしてください。以下のハードウェアスペックやビルド・チューニング方法自体は今も有効です。

📋 DGX Spark — なぜこのハードウェアを選んだか

DGX Spark GB10

NVIDIA Grace Blackwellアーキテクチャ搭載のデスクトップAIスーパーコンピュータ。CPUとGPUが128GB LPDDR5xメモリを共有する統合メモリ構造です。

主要スペックをまとめると以下の通りです。

項目 値
GPU NVIDIA GB10 (Blackwell, Compute 12.1)
メモリ 128GB 統合LPDDR5x (121GB利用可能)
帯域幅 273 GB/s
FP16性能 ~100 TFLOPS
CPU ARM 20コア (10× Cortex-X925 + 10× A725)
ストレージ 916GB NVMe
消費電力 ~4W アイドル / ~35W 負荷時
価格 $4,699 (2026年2月値上げ)

発売時は$3,999でしたが、LPDDR5xの供給不足によ2026年2月に18%値上げされました。それでも128GB統合メモリにBlackwell GPUをこの価格で使えるのはDGX Sparkだけです。

🛠️ デュアルサーバー構成 — 用途別モデル分離

1台のDGX Sparkで2つのllama.cppサーバーをポート別に分けて運用します。各サーバーは独立したsystemdサービスで管理されます。

項目 Port 8080 — Qwen3 Coder Port 8081 — Gemma 4
モデル Qwen3-Coder-Next 80B Gemma 4 26B-A4B
量子化 MXFP4 MoE MXFP4 MoE
モデルサイズ ~48GB ~16.7GB
アクティブパラメータ 3B / 80B合計 3.8B / 26B合計
コンテキスト 800K (スロットあたり200K) 200K
並列スロット 4 1
スレッド数 16 8
生成速度 43.5 tok/s 57 tok/s
用途 コーディング、汎用、サブエージェント 対話、AIエージェント

両モデルともMoE(Mixture of Experts)アーキテクチャのため、全パラメータに対して実際にアクティブになるパラメータが非常に少ないです。Qwen3は80Bのうち3Bのみ、Gemma 4は26Bのうち3.8Bのみがアクティブになります。これが128GBメモリでの同時運用を可能にする核心的な理由です。

モデル別ベンチマーク

ベンチマーク Qwen3-Coder-Next 80B Gemma 4 26B-A4B
SWE-Bench Verified 70.6% —
SWE-Bench Pro 44.3% —
LMArena — #6 (1441点)
Dense比性能 — 97% (8×少ない演算)

Qwen3-Coder-NextはSWE-Bench Verified 70.6%でDeepSeek-V3.2(70.2%)を上回りました。Gemma 4 26BはLMArena #6で、Dense モデルの97%の性能を8倍少ない演算で実現しています。

共通サーバー設定

両サーバーで共有する最適化フラグです。

# 共通 llama-server オプション
--host 0.0.0.0
--n-gpu-layers 999          # GPU完全オフロード
--flash-attn                # Flash Attention ON
--no-mmap                   # DGX Sparkでのmmap性能低下を回避
--cache-type-k q8_0         # KVキャッシュ量子化
--cache-type-v q8_0
⚠️ DGX Sparkでは--no-mmapが必須です。統合メモリ構造ではmmapがむしろ性能を低下させます。HuggingFaceコミュニティでも確認されています。

Qwen3サーバー起動スクリプト

Port 8080サーバーの起動スクリプトです。800Kコンテキストを4スロットに分けて同時リクエストを処理します。

#!/bin/bash
# start-qwen.sh — Port 8080
MODEL="/mnt/nas/Data_Vol1/models/"
MODEL+="Qwen3-Coder-Next-MXFP4_MOE.gguf"

/home/terry/llama.cpp/build/bin/\
llama-server \
  --model "$MODEL" \
  --host 0.0.0.0 \
  --port 8080 \
  --n-gpu-layers 999 \
  --flash-attn \
  --no-mmap \
  --ctx-size 800000 \
  --parallel 4 \
  --threads 16 \
  --cache-type-k q8_0 \
  --cache-type-v q8_0 \
  --samplers "top_k;top_p;temp" \
  --temp 0.7 \
  --top-p 0.95 \
  --top-k 20

Gemma 4サーバー起動スクリプト

Port 8081サーバーは対話特化で、1スロット・8スレッドで軽量運用します。

#!/bin/bash
# start-gemma4.sh — Port 8081
MODEL="/mnt/nas/Data_Vol1/models/"
MODEL+="gemma-4-26B-A4B-it-MXFP4_MOE.gguf"

/home/terry/llama.cpp/build/bin/\
llama-server \
  --model "$MODEL" \
  --host 0.0.0.0 \
  --port 8081 \
  --n-gpu-layers 999 \
  --flash-attn \
  --no-mmap \
  --ctx-size 200000 \
  --parallel 1 \
  --threads 8 \
  --ubatch-size 512 \
  --cache-type-k q8_0 \
  --cache-type-v q8_0 \
  --samplers "top_k;min_p;temp" \
  --temp 0.6 \
  --min-p 0.05 \
  --top-k 40

systemdサービスへの登録

起動時に両サーバーが自動起動するようにsystemdに登録します。

# /etc/systemd/system/llama-server.service
[Unit]
Description=Qwen3-Coder-Next (Port 8080)
After=network.target

[Service]
Type=simple
User=terry
ExecStart=/home/terry/start-qwen.sh
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
# llama-server-gemma4.serviceも同じ構造
# ExecStartをstart-gemma4.shに変更するだけ

sudo systemctl enable llama-server
sudo systemctl enable llama-server-gemma4

⚡ 5つの重要な最適化

1. Blackwellネイティブビルド

llama.cppをCMAKE_CUDA_ARCHITECTURES=121a-realでビルドすることでBlackwell専用カーネルが使用できます。

cmake -B build \
  -DGGML_CUDA=ON \
  -DCMAKE_CUDA_ARCHITECTURES=\
"121a-real" \
  ..
cmake --build build -j20

2. MXFP4量子化

BlackwellのネイティブMXFP4サポートによりプロンプト処理が最大25%高速化します。FP4テンソルコア命令を直接使用するためです。

3. KVキャッシュq8_0量子化

--cache-type-k q8_0 --cache-type-v q8_0でKVキャッシュのメモリを47%削減します。800Kコンテキスト運用の鍵です。

💡 q4_0でさらに削減もできますが、統合メモリ構造ではdequantizationのオーバーヘッドで生成速度が34〜37%低下します。q8_0がメモリ節約と性能の最適バランスです。

4. NVMe read-ahead最適化

デフォルト128KBから8192KBに上げることでモデルロード時の順次読み取り性能が大幅に向上します。

# 即時適用
echo 8192 | sudo tee \
  /sys/block/nvme0n1/queue/\
read_ahead_kb

# 永続適用 (udevルール)
# /etc/udev/rules.d/
#   99-nvme-readahead.rules
ACTION=="add|change", \
  KERNEL=="nvme0n1", \
  ATTR{queue/read_ahead_kb}="8192"

5. –no-mmapは必須

DGX Sparkの統合メモリ構造ではmmapが不要なページフォルトを引き起こします。--no-mmapで直接メモリにロードする方が明確に高速です。

📊 性能比較 — DGX Spark vs Mac Studio M4 Ultra

ClaudieとSiwolがDGX Sparkデュアルサーバー構成とAPI削減コストについて4コマ漫画で話し合う場面

Skorppioのベンチマークをもとに2つのプラットフォームを比較しました。

項目 DGX Spark Mac Studio M4 Ultra
メモリ 128GB LPDDR5x 192GB LPDDR5x
帯域幅 273 GB/s 819 GB/s
FP16演算 ~100 TFLOPS ~26 TFLOPS
プリフィル速度 3.8倍速い 1×
生成速度 1× 3.4倍速い
CUDAサポート ✅ (PyTorch, vLLM) ❌
価格 $4,699 ~$6,299

Mac Studioはメモリ帯域幅が3倍でトークン生成が高速ですが、DGX SparkはFP16演算が4倍でプリフィル(プロンプト処理)が圧倒的です。ファインチューニング、vLLM、PyTorchなどCUDAワークロードが必要な場合はDGX Sparkが唯一の選択肢です。

EXO 1.0でDGX SparkとMac Studioをクラスタリングすれば両者の長所を組み合わせることも可能です。DGXの高速プリフィルとMacの高速生成で4倍速い推論を実現した事例もあります。

🔮 CES 2026ソフトウェアアップデート

NVIDIAのCES 2026発表によると、ソフトウェア最適化だけでDGX Sparkのパフォーマンスが発売時比2.5倍向上しました。

  • NVFP4 + Eagle3推論加速: FP8比2.6倍のスループット増加
  • 動画処理: 8倍の速度向上
  • 適用方法: TensorRT-LLM + アグレッシブ量子化 + 推論デコーディング最適化

ハードウェア変更なしにソフトウェアだけでこれだけの性能向上が可能なことは、このプラットフォームの将来的な価値を示しています。

💾 実測メモリ — デュアルサーバー運用状況

構成 メモリ使用量 残り
Qwen3 80B (800Kコンテキスト) ~70GB —
Gemma 4 26B (200Kコンテキスト) ~22GB —
合計 ~92.65GB ~28GB

121GB利用可能メモリのうち92.65GBを使用し、28GBの余裕があります。OSや他のプロセスに十分なヘッドルームです。MXFP4量子化 + q8_0 KVキャッシュのおかげでこの密度が実現できています。

🌐 APIエンドポイント — OpenAI互換

両サーバーともOpenAI APIと完全互換です。APIキーなしですぐに使えます。

# Qwen3 Coder — コーディング/汎用
curl http://{DGX_IP}:8080/v1/\
chat/completions \
  -H "Content-Type: application/json"\
  -d '{
    "model": "Qwen3-Coder-Next",
    "messages": [{"role": "user",
      "content": "Hello"}]
  }'

# Gemma 4 — 対話/エージェント
curl http://{DGX_IP}:8081/v1/\
chat/completions \
  -H "Content-Type: application/json"\
  -d '{
    "model": "gemma-4-26B-A4B",
    "messages": [{"role": "user",
      "content": "Hello"}]
  }'

OpenAI SDK、LangChain、Ollamaクライアントなど、どのツールでもbase_urlを変えるだけですぐに接続できます。

📚 参考文献

✅ まとめ

DGX Spark1台でQwen3-Coder-Next 80B(コーディング)とGemma 4 26B(対話)を同時にサービスする構成が完成しました。核心はMoEアーキテクチャの低アクティブパラメータ + MXFP4量子化 + q8_0 KVキャッシュの組み合わせです。92.65GBで両モデルを動かしても28GBが残ります。

APIコストゼロで43〜57 tok/sのローカル推論が実現できることは、個人開発者にとって非常に魅力的なセットアップです。$4,699は決して安くはありませんが、クラウドAPIコストと比べれば回収期間は思ったより短いです。

Claudieが地図の上で2つの輝くサーバー星座を結ぶデータパスを描いているイラスト

Discover more from AI-Girls Lab

Subscribe to get our latest posts delivered to your inbox.