All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 28s
6.1 KiB
6.1 KiB
sidebar_position, title, description, hide_table_of_contents, displayed_sidebar, image
| sidebar_position | title | description | hide_table_of_contents | displayed_sidebar | image |
|---|---|---|---|---|---|
| 3 | DGX SparkでQwen3-Coder-Next(80B MoE)を動かす | NVIDIA DGX Sparkの128GB統合メモリでQwen3-Coder-Next(80B MoE)をFP8量子化で動かす方法を解説 | false | null | ./banner.png |
DGX SparkでQwen3-Coder-Nextを動かす
はじめに
DGX SparkはNVIDIAのデスクトップAIワークステーション。Grace Blackwell(GB10)アーキテクチャで、128GB統合メモリを持つ。この記事では、最新のQwen3-Coder-Next(80B-A3B MoE)をDGX Spark単体で動かす方法を解説する。
対象読者
- DGX Sparkを持っている
- 大規模LLMをローカルで動かしたい
- コーディング用のAIモデルを探している
Qwen3-Coder-Nextとは
Qwen3-Coder-Nextは2026年2月にリリースされたMixture of Experts(MoE)コーディングモデル:
| 項目 | 値 |
|---|---|
| 総パラメータ | 80B(800億) |
| アクティブパラメータ | 3B(30億) |
| アーキテクチャ | 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モデルをBF16(16bit)で動かすには約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
- モデルダウンロード(初回のみ、約45GB)
- Safetensorsロード(40シャード、約10分)
- KVキャッシュ確保
- CUDAグラフキャプチャ
- 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.
:::
対処:
- FP8/NVFP4量子化版を使う
--max-model-lenを減らす(32768 → 16384)--gpu-memory-utilizationを減らす(0.85 → 0.75)- 他のプロセスを停止
メモリリーク
症状: 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-Next(80B MoE)を動かすポイント:
- NGC公式コンテナを使う(
nvcr.io/nvidia/vllm:25.11-py3) - FP8量子化版を使う(BF16は128GBに収まらない)
- 初回起動は時間がかかる(ダウンロード + ロードで15-20分)
- メモリ競合に注意(他のプロセスがGPUを使っているとOOM)
FP8で45GB程度なので、32Kコンテキストで余裕をもって動作する。コーディング用途に最適!
参考リンク
この記事は2026年2月時点の情報です。