一句话版本2 台 NVIDIA DGX SparkGB10-4T主机名 spark-79ec / spark-3eaa 一根 QSFP56 200G 直连线跑起了 DeepSeek-V4-Flash 的0731 正式版和 Vision-Exp 视觉预览版两条车道1M 上下文、识图、投机解码全开。本文给出完整实测数据、部署链路、参数配置和踩坑记录。1. 硬件配置含配件项目配置备注主机 ×2NVIDIA DGX SparkGB10 Grace Blackwell 超芯片GB10-4T 版主机名 spark-79ec / spark-3eaa内存128GB LPDDR5x统一内存系统可见 119Gi带宽 ~273GB/sCPU/GPU 共用装 FP8 157G 权重要双机合体存储4TB NVMe可用 3.6T/ 台权重、镜像、回退车道全放得下互联主板自带 ConnectX-7QSFP56 口 ×1关键配件见下配件互联线QSFP56 200G 直连铜缆DAC一根两机背对背直插不走交换机别买成 QSFP-DD/OSFP没有机柜、没有交换机、没有显卡服务器两台小主机放工位旁边功耗几百瓦级待机时几乎无声。2. 双版本实测速率0731 vs Vision-Exp 预览版两条车道同一套硬件、同一个 Anemll 定制 vLLM 镜像区别在权重和 MTP 参数0731 用 MTP-5预览版用 MTP-6原因见参数配置节。自写 benchmark 脚本实测输出含思考链。其中关桌面后复测列是发文前把双机切成 headless关闭桌面环境后的重跑故事见 §2.62.1 单并发 decode 速度tok/s越高越好测试档0731 正式版Vision-Exp 预览版Vision-Exp关桌面后复测256 短上下文59.9 ~ 65.166.766.14 发中位区间 48~822K 上下文—65.564.18K 上下文65.166.973.0128K 长上下文—56.7TTFT 78.5s65.5TTFT 72.3s复测每格单发采样256 档波动大故给 4 发中位128K 档另有一发 43.2 的离群值——该次输出顶到 4096 上限的长尾所致如实披露。2.2 6 并发MAX_NUM_SEQS6 顶格档位0731 单流0731 合计Vision-Exp 单流Vision-Exp 合计V.E. 关桌面后 单流 / 合计25638.8105 ~ 11930.3110.1TTFT 0.81s30.7 /147.1TTFT 1.0s2K——27.9125.5TTFT 4.5s28.0 / 115.1TTFT 4.4s8K——26.0113.4TTFT 16.8s26.1 / 107.2TTFT 15.9s32K——19.565.9TTFT 65.2s19.3 / 66.2TTFT 62.8s2.3 上下文天花板KV 池实测0731Vision-ExpKV 池总量2,404,264 token≈2.29×1M1,485,286 token≈1.42×1M6 槽均分每路~400K~247K原生识图❌✅单 prompt 可挂 8 图2.4 彩蛋前缀缓存的威力我们客户端场景Claude Code下称 CC每个请求都背着 ~57K 系统提示。实测同一条 10.5 万 token 的请求第二次发送TTFT 从 66.3s → 0.54s缓存命中 105,472/105,61199.9%且命中部分网关按 1/10 价计费。多轮对话成本和时间都被这个机制吃掉大头。运营侧观测日常 CC 会话的首 token 平均约 2.7 秒——绝大多数请求命中前缀缓存这就是缓存机制在日常使用里的真实体感。2.5 互联带宽QSFP56 双 rail两个点对点 /30 私网段MTU 9000ib_write_bw实测单 rail 109 Gb/sRoCEv2。TP2 每 token 每层都要跨机 all-reduce这条线就是命门——这也是整个方案唯一不能省的配件。2.6 追加实验关桌面headless到底有没有用发文前看到社区同方案的经验帖说关掉 Ubuntu 桌面decode 从 30-40 飙到 50约两成提升。我们回头一查自己两台机的桌面也一直开着好在 GNOME 当时只占 0.35G还没进入泄漏期。干脆双机执行systemctl set-default multi-user.target systemctl isolate multi-user.target不重启docker 里的服务全程无感然后把上面整张表重跑了一遍——就是两个表里关桌面后那一列。结论分两层速度大部分格子落在 ±5% 波动区间内8K c19%和 128K c116%偏正向但单发样本不足以定论。对方两成桌面税对应的是桌面泄漏到 8-12G 的状态我们桌面才占 0.35G本来就没多少税可收。稳定性真实收益TTFT 全档持平或略优可用内存多出约 1G 余量最重要的是 GNOME 长期泄漏会吃掉数 GB 统一内存、直接挤爆服务启动——这个前科我们有见坑#11headless 化后永绝后患。所以我们的建议这机器既然没人接显示器就该关桌面——图的不是提速是安稳。需要图形工具就走浏览器 Web 控制台网关管理页等局域网内直接访问。3. 整体部署链路图┌────────────────────────────────────┐ │ 运维终端Windows 11 笔记本 │ │ 同局域网全程 SSH 远程管理 │ └───────────┬────────────────────────┘ │ SSHED25519 密钥paramiko │ 办公内网 ┌────────────────────┼─────────────────────────┐ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ │ gb10-1head │ │ gb10-2worker │ │ spark-79ec │ QSFP56 200G ×2 │ spark-3eaa │ │ ┌────────────────┐ │ ═════════════════ │ ┌────────────────┐ │ │ │ vLLM :8888 │ │ RoCEv2/NCCL │ │ vLLM worker │ │ │ │ TP2 之左半身 │ │ 109Gb/s/rail │ │ TP2 之右半身 │ │ │ └────────────────┘ │ │ └────────────────┘ │ │ ┌────────────────┐ │ │ 无独立入口 │ │ │ new-api :3000 │ │ └────────────────────┘ │ │ 认证/计费/改名 │ │ │ └────────────────┘ │ └─────────┬──────────┘ │ Anthropic Messages 原生格式 ▼ 用户侧内网客户端模型名deepseek-v4-flash-vision-exp要点这不是双副本负载均衡——157G FP8 权重单机 119G 装不下两台机通过 TP2张量并行合成一台用new-api 网关前面只有 gb10-1 一个上游入口。并发调度靠 vLLM continuous batching6 槽。4. 部署方法Windows 终端 SSH 远程部署两台主机从装完系统起就没接过显示器全部部署运维都在同局域网一台 Windows 11 笔记本上通过 SSH 完成SSH 通道paramiko ED25519 密钥凭据集中放在config/credentials.json自写tools/ssh_exec.py做统一调用入口。权重、镜像等大文件传输走Windows 中转 分片推送双机之间的同步走高速互联线稳定快速。远程部署沉淀下来的套路对任何远程运维都适用脚本推送用 base64本地写好脚本 → base64 → SSH 一句echo ... | base64 -d x.sh bash x.sh彻底告别引号转义地狱。长任务一律 nohup 日志文件SSH 断了不代表远程死了判断真假死活用新开连接查 pgrep/日志别信 PipeTimeout。过夜管线给自己定闹钟cron 定时自检进度、续传、换源第二天直接验收。每步留回退快照.env改动前备份.bak-0731-mtp5等new-api 改库前cp one-api.db备份车道切换 15 分钟可回滚。5. 组件版本号与资源地址为避嫌站外导流以下均为纯文本地址复制到浏览器打开即可可点击版我放在评论区置顶。组件版本 / 钉死值仓库地址权重·0731 正式版157G FP8revision9e165c30e2704aec5d9d593cce3eebd58bbef1cbhuggingface.co/deepseek-ai/DeepSeek-V4-Flash-0731ModelScope 同名权重·Vision-Exp 预览版167.8G FP8原生识图revision86f746b36186f0e567729a5c06a8c918caba82a9huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-ExpModelScope 同名部署参考仓库编排脚本/补丁MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-Sparkgithub.com/MiaAI-Lab/DeepSeek-v4-Flash-DSpark-2x-DGX-SparkvLLM 定制镜像ghcr.io/anemll/dspark-vllm-gx10:0.1.1digestsha256:a8394849…vLLM v0.25.2.dev0 定制版~20 个启动时补丁ghcr.ionew-api 网关calciumion/new-api:latestSQLite 持久化生产建议钉 taggithub.com/Calcium-Ion/new-api驱动 / 内核580.142 6.17.0-1018-nvidia580.142 已全网下架留好 deb 备份NVIDIA spark apt 源CUDA / 容器CUDA 13 Docker 28.3.3 nvidia-container-toolkit 1.20.1—用户侧Claude Code CLI CC Switch模型名deepseek-v4-flash-vision-expgithub.com/farion1231/cc-switch权重下载建议国内直接走 ModelScope 同名仓库下完务必按仓库提供的 LFS sha256 清单全量校验49 个 LFS 文件一个字节错了启动期才会炸。6. 参数配置实测生效值可直接参考6.1 车道环境.env.dspark关键行# 当前车道Vision-Exp 预览版DSPARK_MODEL_OFFICIALdeepseek-ai/DeepSeek-V4-Flash-Vision-ExpDSPARK_REVISION86f746b36186f0e567729a5c06a8c918caba82a9MTP_NUM_TOKENS6# Vision-Expn_predict3规则 k≥5 且 k%30 → 只能 6DSPARK_ENABLE_DSPARK_BLOCK_K0GPU_MEMORY_UTILIZATION_TEXT0.80SERVED_MODEL_NAMEdeepseek-v4-flash-0731# 刻意保留旧名网关/用户配置零改动# 回退 0731 正式版车道备份文件 .env.dspark.bak-0731-mtp5 一键换回# DSPARK_MODEL_OFFICIALdeepseek-ai/DeepSeek-V4-Flash-0731# DSPARK_REVISION9e165c30e2704aec5d9d593cce3eebd58bbef1cb# MTP_NUM_TOKENS5 # 0731n_predict1实测档案全是 MTP-5# DSPARK_ENABLE_DSPARK_BLOCK_K1 # 官方解锁开关补丁 fail-closed# GPU_MEMORY_UTILIZATION_TEXT0.8356.2 vLLM 运行参数从运行时配置 dump 抄出tensor_parallel_size2 # 双机合体勿改 max_model_len1048576 # 1M 上下文 block_size256 gpu_memory_utilization0.80 # 给 CUDA graph MTP buffer 留余量别贪 kv_cache_dtypenvfp4_ds_mla # NVFP4 KV cacheissue#22 补丁必须保留 max_num_seqs6 # 安全上限勿超issue#141 max_num_batched_tokens8192 enable_prefix_cachingTrue # CC 场景命根子 enable_chunked_prefillTrue async_schedulingTrue max_cudagraph_capture_size48 # MTP-6 → 6×742 → 48 档 moe_backendflashinfer_b12x speculative_config: methoddspark, num_speculative_tokens66.3 网络与系统# netplan 双 rail/etc/netplan/40-cx7.yaml两个点对点 /30 私网段# enp1s0f0np0: rail A管理/bootstrap 兼用# enP2p1s0f0np0: rail B# 两口 MTU 全部 9000# NCCL 精确选择器.env.dsparkNCCL_IB_HCArocep1s0f0,roceP2p1s0f0# 统一内存机器防 decode 抖动vm.swappiness106.4 new-api 网关performance_setting.monitor_memory_threshold默认 90 →必须调 98DeepSeek 稳态吃 95% 内存否则全请求 503模型分发实际读abilities表不是渠道 models 字段DB 直改渠道后要同步插入 abilities 行 docker restart new-api令牌级模型限制model_limits_enabled1model_limitsdeepseek-v4-flash-vision-exp→/v1/models只返回这一个名字客户端列表干干净净计费对齐 DeepSeek 官方ModelRatio/CompletionRatio/CacheRatio {deepseek-v4-flash-vision-exp: 0.14/1.5/0.1} miss $0.28 / 命中 $0.028 / 输出 $0.42 每 M token对账分毫不差自用内网记得给用户账号预充 quota令牌无限额度≠账号不扣费见坑#97. 踩过的坑精选 11 条按肉疼程度排序580.142 驱动全网下架对齐双机驱动时发现 apt 源 pool 已 404最后靠dpkg-repack从正常机器反打 17 个 deb包救活另一台。这类绝版包务必留离线备份。python http.server 不支持 Rangecurl-C -断点续传遇它直接 rc33 死循环。内网中继要么换支持 Range 的服务要么断点文件手动删了重下。Windows 写的清单是 CRLFsha256sum 校验报 “no properly formatted checksum lines”先tr -d \r。千万别覆写正在运行的 bash 脚本同路径覆盖会让运行中的 bash 读到乱码字节流当场暴毙新版本请用新文件名。issue#141TP2 sparse-MLA 偶发 stall轻度症状是流式静默截断缺 finish_reason。MAX_NUM_SEQS6是安全值别调高。issue#22nvfp4 decode 补丁默认启用谁设DSPARK_SKIP_ISSUE22_HOTFIX1谁 600K 后掉到 1 tok/s。MTP 是 5 还是 6 分车道k≥5 且 %30是 Vision-Expn_predict3的约束0731 是 MTP-5 DSPARK_ENABLE_DSPARK_BLOCK_K1。配错档位并发性能直接腰斩到参考值 5~7 成。new-api 内存阈值在统一内存主机上必触发默认 90%DeepSeek 稳态 95%全请求 503。改 98。new-api 双重扣费 缺元数据高倍率令牌无限额度≠账号不扣费没定价条目的模型吃默认 ~$75/M 天价官方价 25 倍。处置充 quota 设显式定价。客户端「max effort」→ 上游 500Claude Code 的 effort 会发reasoning_effort: max/minimal模板不认就炸冒烟必须覆盖 max/minimal 两档。GNOME 桌面偷偷吃统一内存——但桌面税 20%我们实测不成立在当前状态下桌面泄漏数 GB 会直接挤爆启动OOM 前科。发文前双机切了multi-user.target做 A/B桌面开着GNOME 仅占 0.35G256 档 decode 66.7 tok/s关掉后三发采样 62.7 / 81.9 / 69.4中位 69.4——波动大于差异社区案例里 decode 30-40→50 的两成提升对应的是桌面泄漏到 8-12G 的极端状态。结论没人接显示器就systemctl set-default multi-user.target systemctl isolate multi-user.target一刀切不重启docker 无感图个永绝后患要图形工具就走浏览器 Web 控制台。另首次启动有 Triton/FlashInfer JIT 编译慢几分钟是正常的别 Ctrl-C。补充切换后我们把整张测速表重跑了一遍§2.1/2.2关桌面后列——速度格全部落在波动区间内、TTFT 略优所以最终结论是关桌面图的是稳定和内存余量不是速度。写在最后这套双机小集群现在是我们团队的日常生产力编程助手Claude Code全员内网直连1M 上下文、识图、思考链全开。从装机到调优的完整教训都浓缩在第 7 节——希望对同样想用 DGX Spark 跑大模型的朋友有用。全文实测数据与配置文件均已留档欢迎评论区交流。