~ / blog / series / DGX Spark
❯ ls ~/blog/series/dgx-spark
38 篇文章
- #日期標題
- 02026-04-13[DGX Spark] 從開箱到跑起來:完整部署指南
從密封箱到跑出第一個 LLM 的所有步驟。硬體檢查、Ollama 快速上手、vLLM 正式部署、模型選擇、5 個會浪費你整天的坑。
- 12026-02-19[Benchmark] DGX Spark 跑 8 個模型:找出最適合 AI Agent 的組合
在 NVIDIA GB10(128GB 統一記憶體)上,用 7 個任務類別評測 8 個本地 LLM。量化的意外結論、一個連 JSON 都出錯的 120B 模型,以及把整個 token budget 用來思考的 thinking model。
- 22026-03-05[vLLM] Qwen3.5-35B 跑到 47 tok/s:從 Ollama 遷移到 vLLM
TTFT 從幾秒降到 0.12s。DGX Spark GB10 上 Qwen3.5-35B 從 Ollama 換到 vLLM 的實戰筆記,含六個坑:SSM + chunked prefill 陷阱、記憶體衝突、docker 重啟順序。
- 32026-03-13[vLLM] 單顆 GB10 跑 Nemotron-3-Super-120B:一天的除錯記錄
在 ASUS GX10(SM121,128GB)上跑 NVIDIA Nemotron-3-Super-120B-NVFP4。四個 SM121 專屬坑、一個沒有任何作用的環境變數,以及最終可用的 docker 指令。
- 42026-03-17[vLLM] 為什麼你的 DGX Spark 只會輸出「!!!!!」:SM121 上的 NVFP4 除錯記錄
CUTLASS FP4 kernel 是針對 SM120(GB200)編譯的。在 SM121(GB10,DGX Spark)上它會靜默執行,但輸出垃圾。完整除錯過程——4 個 bug、row-identical 失敗特徵,以及有效的修正方案。
- 52026-03-21[vLLM] GB10 上的 FP8 KV Cache:為什麼輸出會在 500 Token 後崩成重複迴圈
vLLM serve script 加了 --kv-cache-dtype fp8,GB10 上輸出在約 500 token 後退化成重複字。根本原因:沒有 calibration data,q_scale 預設 1.0。
- 62026-04-02[DGX Spark] 過熱、100W 功耗上限、30W 安全模式 — 完整診斷指南
DGX Spark 的供電和過熱問題在 Carmack 批評後引爆社群。這篇整理三種不同症狀的診斷方法:30W PD controller 缺陷(需 RMA)、100W 功耗上限(散熱降頻)、5W driver bug(可修)。一個指令 30 秒確認。
- 72026-04-05[vLLM] Gemma 4 26B-A4B NVFP4 跑在 DGX Spark:52 tok/s,模型只佔 16 GB
在 GB10 上用 vLLM 0.19 部署 Gemma 4 26B-A4B MoE NVFP4 — 52 tok/s decode、16.5 GB 模型、82 GB KV cache 可用。包含 Phase 0 決策過程和完整踩坑記錄。
- 82026-04-05[Benchmark] 同模型 vLLM vs Ollama:為什麼 GB10 上差 30%
同一個 Gemma 4 26B-A4B、同一張 GPU,vLLM NVFP4 跑 52 tok/s,Ollama Q4_K_M 只有 40。根因:Marlin kernel、CUDA graphs,以及 Ollama 靜默的 CPU/GPU split 陷阱。
- 92026-04-05[Benchmark] Gemma 4 31B Dense 跑在 DGX Spark:7 tok/s 和頻寬之牆
Gemma 4 31B-IT NVFP4 在 GB10 上只有 7.0 tok/s — 273 GB/s 頻寬是天花板。算術預測 4.4 tok/s,NVFP4 壓縮多了 60% 但逃不出牆。請選 MoE。
- 102026-04-07[Benchmark] 從 19 到 50 tok/s:我們搶先做了全球首個 Gemma 4 E4B NVFP4 量化
Gemma 4 E4B NVFP4A16 在 DGX Spark 上跑 49.9 tok/s — 比 BF16 快 2.6 倍。HuggingFace 上第一個 NVFP4 checkpoint。PLE 架構解析、FP8 vs NVFP4、以及差點讓我們放棄的 llm-compressor 版本地獄。
- 112026-04-07[Benchmark] Gemma 4 E2B vs E4B:三台機器實測,記憶體頻寬決定一切
Gemma 4 E2B 在 M1 Max 跑到 81 tok/s,比 E4B 快 44-82%。三台機器、相同方法論、每輪獨立 prompt,排除 Ollama 快取干擾後的真實數據。
- 122026-04-08[Benchmark] 4 台機器、4 個模型、1 個答案:記憶體決定一切
Gemma 4 E2B 到 31B 在 RTX 5090、M1 Max、DGX Spark、M4 上用 Ollama 完整測試。E2B 在 5090 上 310 tok/s。31B 在 MBP 上 1.5 tok/s — swap 殺死一切。記憶體容量 > 頻寬速度。
- 132026-04-08[Benchmark] 拯救 Gemma 4 31B:在 32GB MacBook Pro 上從 1.5 加速到 12.8 tok/s
Gemma 4 31B 在 MBP M1 Max 上用 Ollama 只有 1.5 tok/s(swap)。解法:降 context window(9 tok/s)或用 oMLX(12.8 tok/s)。真正的兇手是 KV cache 分配,不是模型大小。
- 142026-04-13[Benchmark] Gemma 4 全家桶 on DGX Spark — 哪個版本適合你?
Gemma 4 E2B / E4B / 26B MoE / 31B Dense 在 DGX Spark、RTX 5090、MacBook Pro 上的完整對照表。一張表看完速度、記憶體、量化格式。附選擇建議。
- 152026-04-13[AI Agent] Gemma 4 從 40 次失敗到 9 步修好 Bug — 只換了一個東西
可行性測試:開源模型能免費在本地跑 SWE-Bench 嗎?Gemma 4 26B 在 OpenHands 上失敗(40+ 錯誤),但在 SWE-agent 上 9 步修好測試 bug。同一個模型,差別在 action 格式。
- 162026-04-15[AI Agent] Gemma 4 26B 跑通 SWE-bench Lite 單題:兩天 28 次 run,2 次真的算數
在 GX10 用 mini-swe-agent + vLLM 跑 SWE-bench Lite 單題,從假成功的 doc 一路修到 Gemma 4 38 步乾淨 submit 正確 patch 的 scaffold engineering 紀錄。
- 172026-04-17[Benchmark] 26B 地端模型在 SWE-bench Lite 拿到 38.67% — 差 Claude 3.5 Sonnet 系統 0.33%
Gemma 4 26B-A4B FP8 在 SWE-bench Lite 解了 116/300 題,全球排名 #16。跑在 DGX Spark 上,零 API 費。差距在 scaffold 設計,不是模型大小。
- 182026-04-20[Benchmark] 同 Scaffold、三個模型:SWE-bench Lite 16% → 38% → 48%
一套 scaffold(backticks + edit-tool + budget prompt),三個模型(Gemma 4 E4B、Gemma 4 26B、Qwen 3.6 35B),跑之間零程式碼改動。Qwen 3.6 拿到 48.33%——超越 SWE-agent + Claude 3.7 Sonnet。Scaffold 是固定成本,模型是變數。
- 192026-04-21[Benchmark] NVFP4 在 GB10 上是陷阱:FP8 快 32%(vLLM + SGLang 雙引擎實測)
NVFP4 理論上更快——位元更少、頻寬更省。但在 DGX Spark 的 GB10 (SM121) 上反而慢 32%。根因:缺硬體指令。vLLM 和 SGLang 雙引擎驗證。
- 202026-04-22[實作] 用 Triton 讓 NVFP4 在 GB10 上快 17%:FP8 Tensor Core 繞路攻略
Part 19 證明 NVFP4 在 DGX Spark 上是陷阱。這篇直接動手:寫 Triton kernel 把 NVFP4 轉成 FP8,餵 FP8 tensor core。從 40.8 提升到 47.6 tok/s,附完整程式碼。
- 212026-04-25[Benchmark] 繁中 LLM 實測:Qwen 3.6 35B 在 TMMLU+ 51 個子科目全勝 Gemma 4 26B
同一台 DGX Spark、同一套 harness、同樣 22,690 題。Qwen 3.6 35B-A3B 拿到 75.07%,Gemma 4 26B-A4B 拿到 46.30%。Qwen 在 51 個子科目上一個都沒輸——連我原本以為 Gemma 會贏的台灣題目都沒贏。
- 222026-04-26[Benchmark] Qwen 3.6 35B 做了 abliteration 之後:繁中總分掉 1.85 分,信託實務掉 7.7 分
把 huihui-ai 的 abliterated Qwen 3.6 35B 丟進 Part 21 同一套 TMMLU+ 測下去。總分從 75.07% 掉到 73.22%。代價分布不平均:規範性題目(信託 −7.7、行政法 −7.1)失血最重,純邏輯反而略好。台語也變更差——abliteration 解不了資料缺乏。
- 232026-04-28[llm-compressor] 自量化 abliterated 35B FP8 on DGX Spark:4 次 OOM、3 個 prefix bug、最終 51 tok/s
把 huihui-ai 的 Qwen3.6-35B-A3B abliterated BF16 量化成 FP8,部署到 DGX Spark GB10。從 4 次 OOM 到 1.68× over BF16 的完整旅程:UMA 物理上限、save_pretrained 的 50GB shard 陷阱、語言模型 prefix bug、MTP speculative decoding,以及為什麼第一個成功的版本根本沒做 FP8 cast。
- 242026-04-27[SWE-bench] Qwen 3.6 35B 檢討考卷:155 題答錯,76% 是「找對檔案、改錯邏輯」
Qwen 3.6 35B-A3B 在 SWE-bench Lite 拿 48.33%(145/300),貼近 SWE-agent + Claude 3.7 Sonnet。但剩下的 155 題告訴你模型還差什麼:76% 是「找對檔案、改錯邏輯」。Gemma 4 26B 同一套 scaffold 拿 38.67% — 9.66% 落差大概率來自不同失敗類型的比例不同。
- 252026-05-01[vLLM] DGX Spark 跑 Nemotron 3 Nano NVFP4:74.75 tok/s,比公開值快 11.5%
十天前我說 NVFP4 在 DGX Spark 上是個坑、FP8 比較快。今天同一台機器跑 Nemotron 3 Nano W4A16 飆到 74.75 tok/s,連我自己之前的 FP8 hack 紀錄一起踩過去。這篇講 4 層 patch、quant variant 怎麼選、跟記憶體頻寬天花板的算法。
- 262026-05-01[vLLM] DGX Spark 跑英文影片:Nemotron Omni 多模態實戰
同一台 DGX Spark,這次不拚速度,改拚「看完英文影片講給我聽」。3 分鐘 Karpathy 演講 89 秒處理完,5 萬 4 千 prompt token,逐字稿和畫面內容都對。記錄兩個踩過的雷:use_audio_in_video flag 放錯位置會幻覺音訊、b12x patch 過的 image 在 Omni 上會吐 NaN。
- 272026-05-06火箭起飛:Gemma 4 在 DGX Spark 跑出 670 tok/s 總吞吐(單流 108 tok/s)
Google 2026-05-05 發 Multi-Token Prediction drafter,vLLM PR 同日開、官方 preview docker 同日有。DGX Spark 上實測 Gemma 4 26B-A4B-it FP8 + MTP γ=4:單流 108 tok/s(2.66× baseline)、8 路並行 674 tok/s 總吞吐。一個沒寫進文件的雷:drafter 不能配 base model,要配 -it。
- 282026-05-09想用 MTP 加速 abliterated Gemma 4?vanilla draft 對不上被改過的 body
自量化 huihui Gemma 4 26B-A4B abliterated 成 FP8 ship 上 HF。完整 n=1..4 sweep 後發現:abliterated body 跟 vanilla baseline 完全一樣快,n=1 上 MTP 加成也一樣;但 n=4 deep speculation 上 huihui 因為 per-position decay 陡(每 step 22pp)而被 vanilla 拉開兩倍。Tax 的真實樣貌是 conditional on num_speculative_tokens,不是固定百分比。
- 292026-05-14在 DGX Spark 上 30 行 docker 拿 +34%:huihui Gemma 4 FP8 + vanilla MTP n=1 部署 recipe
Part 28 是 mechanism,這篇是 recipe:abliterated Gemma 4 26B-A4B FP8 跑在 GB10 上,搭官方 vanilla draft 開 num_speculative_tokens=1,baseline 39.3 → 52.6 tok/s (+34%),不用重訓 drafter。30 行 docker run + bind-mount PR #41745 head 的 gemma4_mtp.py 就能拿到。包含 sanity check 跟什麼時候 n=1 不夠用的判斷。
- 302026-05-16Fine-tune EAGLE-3 drafter 在 abliterated Gemma 4 上 — Round 1 拉平 acceptance 曲線(+ 一個 measurement lesson)
在 DGX Spark GB10 上把 RedHatAI EAGLE-3 drafter fine-tune 對齊 huihui Gemma 4 26B-A4B abliterated FP8 body 的 distribution。1 epoch / 50k Magpie samples / 11h 訓練。Inference bench(raw `/v1/completions`)pos 3 acceptance 從 vanilla 的 20.5% → 72.7%、n=4 throughput 從 50 → 100.36 tok/s aggregate。**後續 paired bench 發現原 throughput 比較 baseline 跟 retrain 用了不同 endpoint(chat vs raw)— production chat workload 上 retrain drafter 的真實提升遠小於 2×,詳見文首 endpoint correction**。Part 28 證實的「abliterated body deep speculation acceptance 散開」這個機制觀察仍成立。順帶找到 Speculators upstream create_empty_sample dtype bug + Phase 0 整理 6 個社群 prior art。
- 312026-05-21Round 2 EAGLE-3 retrain 沒打破天花板 — 60 小時訓練的 null result + 教訓
Round 1 在 chat workload 上沒有 2× speedup 後,Round 2 加 30K 中文 instruction data + huihui body 重生 response,訓練 41 小時。結果:Round 2 B drafter chat EN 45 tok/s / ZH 29 tok/s,跟 v1 基本相同,**遠輸 vanilla MTP n=4 的 EN 53 / ZH 45**。確認 EAGLE-3 small head 對上 abliterated body 的架構天花板,more data 救不了。順帶找到 vLLM Gemma 4 preview image(`gemma4-0505-arm64-cu130`,內部 build `0.20.2rc1.dev49+g9b4e83934`)在 long-run extract_hidden_states 的 scheduler deadlock(三次踩到 + watchdog 補完)。
- 322026-05-30[Benchmark] NVFP4 在 DGX Spark 比 FP8 快 1.5 倍——但贏在壓縮,不是那顆 FP4 運算單元
GB10 DGX Spark 上,純 dense 模型單流 decode,NVFP4 比 FP8 快約 1.5 倍。但快的是頻寬(權重檔變小),不是 FP4 tensor core——最快那條路根本沒碰它。
- 332026-06-01[Benchmark] NVFP4 W4A4 在 DGX Spark 上超車 FP8:拔掉 enforce-eager,MoE 從 23 衝到 67 tok/s
GB10 上 NVFP4 W4A4 拔掉 --enforce-eager 後從 23 衝到 67 tok/s,贏 FP8 29% 還省 16GB。Part 32 說 cudagraph 沒用——那只對 dense,MoE 完全相反。
- 342026-06-01[Benchmark] NVFP4 把影片模型砍小三分之一,速度卻一點沒快——因為 diffusion 是 compute-bound
NVFP4 把蒸餾版 Sulphur 2(LTX-2.3)影片模型從 29 砍到 19.5 GB,在 GB10 DGX Spark 上畫質速度都沒掉。影片 diffusion 是 compute-bound,跟 LLM decode 剛好相反。
- 352026-06-02[AI Agent] 本機 agent 生圖一直發瘋,問題在工具不在模型
本機 35B agent 生圖生影片一直亂試,我差點跑去微調它。動手前先讀 tool-call log:格式 0% 出錯。模型沒問題,是一個壞掉的 ComfyUI 工具逼它即興。解法是一個乾淨的 ACI skill,不是微調。
- 362026-06-04[Benchmark] Gemma 4 12B omni 上 DGX Spark:weight-only NVFP4 贏 W4A4,還保住多模態
我在 DGX Spark GB10 上量化 Google 新的 omni Gemma 4 12B。weight-only NVFP4 只要 7.7GB、跑 24.9 tok/s,而且圖片/語音/影片都還能用 —— 全 W4A4 反而沒比較快,還把多模態弄壞。
- 372026-06-05[Benchmark] NVFP4 量化砍繁中比砍英文兇兩倍:gemma-4-12B 實測
我在 DGX Spark 上把 gemma-4-12B 量化成 BF16 / FP8 / NVFP4 weight-only,分別測英文 MMLU 跟繁中 TMMLU+。FP8 兩邊都近無損;NVFP4 繁中掉 6 分、英文只掉 3 分。