koide fd7fe6f991
All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 26s
Add: DGX SparkでQwen3-Coder-Next(80B MoE)を動かす
2026-02-19 11:31:37 +00:00

6.1 KiB
Raw Blame History

sidebar_position, title, description, hide_table_of_contents, displayed_sidebar
sidebar_position title description hide_table_of_contents displayed_sidebar
3 DGX SparkでQwen3-Coder-Next80B MoEを動かす NVIDIA DGX Sparkの128GB統合メモリでQwen3-Coder-Next80B MoEをFP8量子化で動かす方法を解説 false null

DGX SparkでQwen3-Coder-Nextを動かす

はじめに

DGX SparkはNVIDIAのデスクトップAIワークステーション。Grace BlackwellGB10アーキテクチャで、128GB統合メモリを持つ。この記事では、最新のQwen3-Coder-Next80B-A3B MoEをDGX Spark単体で動かす方法を解説する。

対象読者

  • DGX Sparkを持っている
  • 大規模LLMをローカルで動かしたい
  • コーディング用のAIモデルを探している

Qwen3-Coder-Nextとは

Qwen3-Coder-Nextは2026年2月にリリースされたMixture of ExpertsMoEコーディングモデル

項目
総パラメータ 80B800億
アクティブパラメータ 3B30億
アーキテクチャ Mamba + Transformer ハイブリッド
コンテキスト長 最大1M tokens

MoE構造により、80Bパラメータでありながら推論時は3Bしかアクティブにならないため、効率的。

ワンライナーでセットアップ

curl -sL https://docs.techswan.online/scripts/dgx-spark-qwen3-coder.sh | bash

:::tip 初回起動 モデルダウンロード約45GB+ ロードで15-20分かかる。docker logs -f qwen3-coder-next-fp8 で進捗確認。 :::

重要:コンテナ選定

:::danger NGCコンテナ必須 DGX Sparkでは必ずNGC公式コンテナを使う。pipインストールや野良ビルドは、ドライバー互換性問題を引き起こす。 :::

# ❌ やってはいけない
pip install vllm

# ✅ 正解NGC公式コンテナ
docker pull nvcr.io/nvidia/vllm:25.11-py3

量子化の選択

BF16は無理

80BモデルをBF1616bitで動かすには約160GBのメモリが必要。DGX Sparkの128GBでは足りない。

torch.OutOfMemoryError: CUDA out of memory.
GPU 0 has a total capacity of 119.64 GiB of which 994.07 MiB is free.

FP8を使う

FP8版Qwen/Qwen3-Coder-Next-FP8を使えば、約45GBで収まる。

量子化 メモリ DGX Spark単体
BF16 ~160GB
FP8 ~45GB
NVFP4 ~25GB

手動セットアップ

起動コマンド

docker run -d --name qwen3-coder-next-fp8 \
  --gpus all \
  -p 8000:8000 \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  --ipc=host \
  nvcr.io/nvidia/vllm:25.11-py3 \
  vllm serve Qwen/Qwen3-Coder-Next-FP8 \
  --max-model-len 32768 \
  --max-num-seqs 32 \
  --gpu-memory-utilization 0.85 \
  --trust-remote-code

パラメータ解説

パラメータ 説明
--gpus all - 全GPU使用
--ipc=host - 共有メモリ設定(必須)
--max-model-len 32768 最大コンテキスト長
--max-num-seqs 32 同時リクエスト数
--gpu-memory-utilization 0.85 GPUメモリ使用率
--trust-remote-code - カスタムコード許可

起動ログの確認

正常な起動シーケンス

docker logs -f qwen3-coder-next-fp8
  1. モデルダウンロード初回のみ、約45GB
  2. Safetensorsロード40シャード、約10分
  3. KVキャッシュ確保
  4. CUDAグラフキャプチャ
  5. API起動完了
INFO: Application startup complete.

進捗確認

# ダウンロード進捗
du -sh ~/.cache/huggingface/hub/models--Qwen--Qwen3-Coder-Next-FP8

# ロード進捗(ログに表示)
Loading safetensors checkpoint shards: 62% Completed | 25/40

推論テスト

ヘルスチェック

curl http://localhost:8000/health

チャット

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-Coder-Next-FP8",
    "messages": [
      {"role": "user", "content": "Pythonでフィボナッチ数列を生成する関数を書いて"}
    ],
    "max_tokens": 500
  }'

トラブルシューティング

OOMメモリ不足

:::warning 症状

CUDA out of memory. Tried to allocate X GiB.

:::

対処:

  1. FP8/NVFP4量子化版を使う
  2. --max-model-lenを減らす32768 → 16384
  3. --gpu-memory-utilizationを減らす0.85 → 0.75
  4. 他のプロセスを停止

メモリリーク

症状: OOM後に空きメモリが減ったまま

対処:

# 全コンテナ停止
docker stop $(docker ps -q)

# メモリ確認
free -h

gpu-memory-utilizationエラー

症状:

ValueError: Free memory on device (94.25/119.64 GiB) is less than desired GPU memory utilization

対処:

# 他のプロセスがGPUを使用中
# 全コンテナを停止してからリトライ
docker stop $(docker ps -q)

スペック情報

起動後のメモリ使用量

Mem: 119Gi total, 84Gi used, 21Gi free

KVキャッシュ

Available KV cache memory: 26.23 GiB
GPU KV cache size: 286,144 tokens
Maximum concurrency for 32,768 tokens per request: 32.91x

まとめ

DGX SparkでQwen3-Coder-Next80B MoEを動かすポイント

  1. NGC公式コンテナを使う(nvcr.io/nvidia/vllm:25.11-py3
  2. FP8量子化版を使うBF16は128GBに収まらない
  3. 初回起動は時間がかかる(ダウンロード + ロードで15-20分
  4. メモリ競合に注意他のプロセスがGPUを使っているとOOM

FP8で45GB程度なので、32Kコンテキストで余裕をもって動作する。コーディング用途に最適

参考リンク


この記事は2026年2月時点の情報です。