双DGX Spark加3090跑DeepSeek-V4.1-Flash
原文:Lawyer with too many GPUs, part 3: DeepSeek-V4.1-Flash on 2x DGX Spark + an old 3090 box. 2,600+ tok/s prefill to 256K, 322 tok/s structured output, full stack and raw data published
来自那位拥有 V100 服务器的律师的更新。我去搞了两台 DGX Spark,因为我当然会这么干。中年危机依然按计划进行。和之前一样:我还是个律师,还是通过 Claude Code 驱动整个流程,Claude Code 也跑了基准测试、生成了这些表格,并帮我撰写了本文。我是 Nick Mermiges,Esq.,PLI Labs 的创始人。下面的仓库是我们的。配置:DeepSeek-V4.1-Flash-1017,2.75 bpw EXL3,vLLM 张量并行跨两台 Spark。转折点在于第三台机器——我那台带 3090 的 EPYC——为两台 Spark 承担两项工作:- 它在系统内存中保存 Engram 表,并通过 RDMA 提供服务;- 它在一对 NVLink 连接的 3090 上运行 DSpark 投机解码器。Spark 上因此释放出的内存用于 KV 缓存:约 193 万 token 的池子。Spark 的 NVMe 上还有前缀缓存,因此 150K 的提示词在服务器重启后仍能存活。首个 token 返回时间为 2.58 秒,而非冷启动的 58.6 秒。数据。我重新实现了 MiaAI 的 sparkDash 协议,以便与最流行的双 Spark 配置进行对等比较。Spark 频率 2300 MHz,3 次重复,取中位数,今日数据。测试 1 流 4 流(合计)结构化输出(JSON)138 tok/s 322 tok/s 代码 110 tok/s 192 tok/s 散文,温度 0,关闭思考 66 tok/s 130 tok/s 散文,开启思考(温度 0.7)56 tok/s 105 tok/s 预填充(sparkDash 方法):提示词 tok/s 4K 2,827 32K 2,667 128K 2,650 256K 2,618(首个 token 用时 100 秒)对比:- MiaAI 公布 2,065–2,155 预填充,bertholomus 在 8K 到 128K 区间为 2,439–2,568,因此预填充是这个配置胜出的地方。- 4 流代码为 192,对比 MiaAI 的 166。我落后的地方,因为我不会假装:- MiaAI 在纯散文上更快:单流 80.7 对比我的 66。- 128K 提示词后的解码为 62 tok/s,对比 bertholomus 的 99。- 一个短请求卡在冷的 93K 提示词后面要等 34 秒。这比 bertholomus 在同一测试上的 38.6 秒略好。MiaAI 在另一个版本上报告 3.8 秒,这是我最想修复的地方。草稿