DGX单机也有春天——Qwen3.8-27B at 34-38 tok/s on DGX Spark (GB10) — one-command SGLang + NVFP4 + DSpark
-
DGX的低功耗、安静、CUDA原生支持是我选择它的原因,但跑起本地大模型者实拉垮,直到我看见github上这个项目——Qwen3.8-27B-SGLang-DGX-Spark

NVIDIA的官网也有推荐

行动不如行动,火速通知Hermes——搞起!

结果是这个样子

按照惯例,此时应该由亲爱的Deepseek V4 Flash做总结陈词:
这个RadixArk版NVFP4模型可以理解成:为了在DGX Spark上跑出极致速度,而用“几乎无损的精度换数倍性能”的工程优化版本。
它并非简单的“低精度阉割版”,而是一个经过精密设计的混合精度方案。下面从三个维度来帮你拆解:
精度与性能的平衡:为什么说“几乎无损”
它不是纯4-bit:虽然名字叫NVFP4,但RadixArk的这个检查点是混合精度的。模型里关键的注意力投影(Attention projections)和语言模型头(lm_head)等部分保持FP8精度,只有MLP(多层感知机)层使用了4-bit。实际平均下来大约在6.5 bits/参数,比纯4bit精度更高。这种策略保护了对精度最敏感的部分。官方精度数据支撑:NVIDIA官方博客指出,在代码生成、长文本等关键任务上,采用NVFP4 KV Cache的模型与BF16/FP8基线相比,精度损失不到1%。Unsloth团队的数据也显示,NVFP4方案的top-1精度恢复率能达到92%–97%(其中代码任务为96.68%,聊天为92.15%)。
实测能力不降级:从你实测的benchmark来看,这个模型在数学推理能达到43.6 tok/s,代码生成稳定在34 tok/s,且Hermes的tool calling评测得分达到92/100。这些都印证了它在实际智能体(Agent)和推理任务中的能力保持得很好。
NVFP4的核心价值:专为Blackwell架构优化的“快车道”
NVFP4不只是简单的4-bit量化,它是NVIDIA为Blackwell架构(如你的DGX Spark)专门设计的格式。硬件级加速:它利用Blackwell的FP4 tensor core,相比传统FP8,GEMM(通用矩阵乘法)吞吐量有巨大提升。
更精细的缩放:它采用更小的微缩块和E4M3缩放因子,相比同类4-bit格式(如MXFP4),能更有效地保留离群值信息,量化误差更小。
为什么DGX Spark需要它
核心在于内存带宽墙。你实测35 tok/s的速度,已接近DGX Spark物理带宽的理论上限。如果用BF16或FP8模型,会被带宽严重限制;而NVFP4将权重从~28.5GB(FP8)压缩到~16.5GB,让数据搬运更快,DSpark投机解码才能发挥威力。
总结
所以,精度的“代价”被控制在极低水平,而速度的“收益”是巨大的。它并非官方FP8的降级版,而是为你的DGX Spark硬件量身定制的、用微小精度换极致性能的最优解。它的高分推理成绩和稳定的35 tok/s表现,足以证明它在实际使用中是高度可靠的。
-
prefill 呢?
少过1000的prefill 个人觉得很难用hermes cold start 要等20-30秒会要命
@applejuice 没那么久的,我双机跑 deepseek v4 falsh 原版,首 token 在 2-8秒,单流50-80tps,6并发可以150-200tps
-
@applejuice 没那么久的,我双机跑 deepseek v4 falsh 原版,首 token 在 2-8秒,单流50-80tps,6并发可以150-200tps
-
@terry x上 dgx spark 的开源氛围还是蛮好的,有好几个博主在做调优,通常一周内会出一个非常可用的版本。我用的是这个仓库的配方: https://github.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Spark
-
prefill 呢?
少过1000的prefill 个人觉得很难用hermes cold start 要等20-30秒会要命
@applejuice
這個配方我也在用, 初始prefill大概29xx t/s上下.
目前一個複雜任務用codex cli跑超過兩天, 沒有出現衰退或崩潰的現象, 但是也還沒解出來.
跟3.6相比, 我覺得進步的是他更加嚴謹, 可控. 更會遵循賦予他的提示詞, 比較不會跑偏或遺漏.
不過問題是他想很多, 太多. 導致進度緩慢, 並且知識面相較deepseek, glm確實有點不足. 想得很多但是太困難的任務又無法全面掌握該有的技術. 可能還需要再優化下, 至少讓他完成任務的時間短一點.
補個測試數據;

-
@ LeonZhao 有希望,而且希望不小——两者架构同源,但差距全在软件栈,先给你结论再拆。
先说硬件账:AGX Thor 和 DGX Spark 的 GB10 都是 Blackwell GPU + 128GB LPDDR5X 统一内存(256-bit,273GB/s),FP4 都支持。也就是说本帖里这个 Qwen3.8-27B NVFP4 配方(RadixArk 版,实际约 6.5 bits/参数 ≈ 22GB)在 Thor 上完全装得下,理论解码速度也和 DGX Spark 同量级——因为 27B 这类小模型是纯内存带宽瓶颈(273GB/s ÷ 22GB ≈ 34-38 t/s,正好是帖子里那个数),Thor 的带宽一分不差。
真正的差异在软件栈,这也是要泼的冷水:
-
操作系统/驱动栈:DGX Spark 跑的是 DGX OS,NVIDIA 预装整套 AI 环境(SGLang/TRT-LLM 容器开箱即用);AGX Thor 是 Jetson 模块,走 JetPack(L4T)。SGLang 在 Jetson 的 aarch64 上没有官方 wheel,大概率要自己源码编译,依赖链(flash-attn、vllm 那套)在 L4T 上坑不少。
-
配方脚本针对性:MiaAI-Lab 那种 DSpark 一键配方是按 GB10 + DGX OS 调的,路径、CUDA 版本、容器镜像都是写死的,搬到 Thor 要自己改。
-
功耗散热:Thor 是 40-130W 的嵌入封装,长期满载推理要注意降频(DGX Spark 的散热余量更大)。
-
JetPack 版本:记得先确认你的 JetPack 支持 Blackwell(6.2+,CUDA 12.8+),否则 FP4 和 SGLang 都跑不起来。
务实路线:如果折腾 SGLang 卡住了,先用 llama.cpp(CUDA/ARM 后端)跑 Q4_K_M 保底——反正带宽一样,解码速度跟 34-38 t/s 一个量级,本地 Agent 够用;SGLang 的 RadixAttention 前缀缓存优势等把环境调通再补上。
一句话:硬件有希望,软件要自己趟,别指望一键脚本。
-
-
@ LeonZhao 有希望,而且希望不小——两者架构同源,但差距全在软件栈,先给你结论再拆。
先说硬件账:AGX Thor 和 DGX Spark 的 GB10 都是 Blackwell GPU + 128GB LPDDR5X 统一内存(256-bit,273GB/s),FP4 都支持。也就是说本帖里这个 Qwen3.8-27B NVFP4 配方(RadixArk 版,实际约 6.5 bits/参数 ≈ 22GB)在 Thor 上完全装得下,理论解码速度也和 DGX Spark 同量级——因为 27B 这类小模型是纯内存带宽瓶颈(273GB/s ÷ 22GB ≈ 34-38 t/s,正好是帖子里那个数),Thor 的带宽一分不差。
真正的差异在软件栈,这也是要泼的冷水:
-
操作系统/驱动栈:DGX Spark 跑的是 DGX OS,NVIDIA 预装整套 AI 环境(SGLang/TRT-LLM 容器开箱即用);AGX Thor 是 Jetson 模块,走 JetPack(L4T)。SGLang 在 Jetson 的 aarch64 上没有官方 wheel,大概率要自己源码编译,依赖链(flash-attn、vllm 那套)在 L4T 上坑不少。
-
配方脚本针对性:MiaAI-Lab 那种 DSpark 一键配方是按 GB10 + DGX OS 调的,路径、CUDA 版本、容器镜像都是写死的,搬到 Thor 要自己改。
-
功耗散热:Thor 是 40-130W 的嵌入封装,长期满载推理要注意降频(DGX Spark 的散热余量更大)。
-
JetPack 版本:记得先确认你的 JetPack 支持 Blackwell(6.2+,CUDA 12.8+),否则 FP4 和 SGLang 都跑不起来。
务实路线:如果折腾 SGLang 卡住了,先用 llama.cpp(CUDA/ARM 后端)跑 Q4_K_M 保底——反正带宽一样,解码速度跟 34-38 t/s 一个量级,本地 Agent 够用;SGLang 的 RadixAttention 前缀缓存优势等把环境调通再补上。
一句话:硬件有希望,软件要自己趟,别指望一键脚本。
-
-
@applejuice
這個配方我也在用, 初始prefill大概29xx t/s上下.
目前一個複雜任務用codex cli跑超過兩天, 沒有出現衰退或崩潰的現象, 但是也還沒解出來.
跟3.6相比, 我覺得進步的是他更加嚴謹, 可控. 更會遵循賦予他的提示詞, 比較不會跑偏或遺漏.
不過問題是他想很多, 太多. 導致進度緩慢, 並且知識面相較deepseek, glm確實有點不足. 想得很多但是太困難的任務又無法全面掌握該有的技術. 可能還需要再優化下, 至少讓他完成任務的時間短一點.
補個測試數據;

@soop-ladios
单机2000pp 30decode 我真心觉得很好
完全够用
重要是省心 也不吵感觉现阶段dgx spark x2 唯一的好处就是 ds flash v4 百万长上下文
-
@soop-ladios
单机2000pp 30decode 我真心觉得很好
完全够用
重要是省心 也不吵感觉现阶段dgx spark x2 唯一的好处就是 ds flash v4 百万长上下文
@soop-ladios
单机2000pp 30decode 我真心觉得很好
完全够用
重要是省心 也不吵感觉现阶段dgx spark x2 唯一的好处就是 ds flash v4 百万长上下文
是的,可 X2 的话电费又上去了
而且很容易引起家里领导的注意——为什么又多了个一模一样的盒子?!
-
这刀接得对,我那个式子确实少写了一环,认。
完整版是这样的:273GB/s ÷ 22GB = 12.4 t/s —— 这是"每趟 forward 只出一个 token"的纯带宽上限,没算投机解码。
老茶实测的 34-38 能超 12.4,是因为 DSpark 配方开了投机解码(EAGLE/MTP-3):一趟 batched forward 同时验证 3 个 draft token,权重只读一遍,等效每 token 只读 22GB ÷ (1 + 接受率 × 3)。接受率 0.8 时 ≈ 22 ÷ 3.4 ≈ 6.5GB/token,上限 ≈ 273 ÷ 6.5 ≈ 42 t/s;实测 34-38 正好是它的 80-90%,完全自洽。
所以结论不变:27B 在 GB10 上就是带宽瓶颈,34-38 已经是贴着上限跑——这也正是这套配方必须配投机解码的原因,把 MTP 关掉会掉回 12 t/s 附近,老茶那 43.6 tok/s 的数学分也就没了。
下次写公式把"每趟出几个 token"写清楚,感谢捉虫。