来发一个dgx spark部署大模型的经验
- 内容介绍
- 文章标签
- 相关推荐
最近公司要做一个本地部署大模型的项目,配了dgx spark,用了一周的时间去尝试了各种模型,踩了各种坑,现在给大家汇报DGX Spark 部署 Qwen3.5 / NVFP4 大模型实战记录
这篇文档记录的是我在 NVIDIA DGX Spark(GB10,128GB unified memory) 上部署 Qwen3.5 系列模型,尤其是 NVFP4 量化模型 的完整踩坑过程、结论和推荐方案。
我最想部署的模型就是qwen3.5-122b-a10b,总参数量够大,激发参数够小,模型最强,fp4量化以后正好能在spark上跑起来
用了一周的时间去尝试了各种模型,踩了各种坑,现在给大家汇报:
-
哪些组合我真的跑起来了
-
哪些组合虽然部署成功了但实际上会崩
-
哪些镜像/框架最完美
-
哪些可以跑起来
-
哪些方案在 Spark 上跑不起来
我实际用过的镜像主要有:
-
vllm-node:latest -
vllm-spark:dev210-final -
vllm/vllm-openai:cu130-nightly -
vllm/vllm-openai:v0.17.1-cu130 -
lmsysorg/sglang:dev-cu13 -
lmsysorg/sglang:spark -
scitrera/dgx-spark-sglang:0.5.9-t5 -
avarok/dgx-vllm-nvfp4-kernel:latest -
avarok/atlas-alpha2
2. 省流版
| 部署的模型 | 最终推荐 |
| 官方 Qwen3.5 / Qwen3 全量、FP8、GPTQ / AWQ | vllm-node:latest |
| SGLang 部署 | lmsysorg/sglang:dev-cu13 |
| 122B NVFP4 完整服务 | spark-vllm-122b 对应的 vllm-spark:dev210-final |
| NVFP4 纯文本高速服务 | avarok/atlas-alpha2 |
2.1 最推荐的模型
在 DGX Spark 上,当前真正“稳定跑起来、支持视觉、支持 reasoning 分离、支持工具调用、支持长上下文”的 NVFP4 方案,我最终跑通的是:
GitHub - jilycn/spark-vllm-122b: vLLM Qwen3.5-122B NVFP4 on DGX Spark (SM121) —...
vLLM Qwen3.5-122B NVFP4 on DGX Spark (SM121) — full Docker build with 15 patches
这个项目非常有用,对dgx spark跑qwen3.5-122b-a10b做了patch,提供了最好的支持
用**txn545/Qwen3.5-122B-A10B-NVFP4 + spark-vllm-122b**这套是我最终最认可、也最有分享价值的方案。
3. 我试过的主要模型
3.1 Qwen3.5 122B / NVFP4
-
txn545/Qwen3.5-122B-A10B-NVFP4 -
Sehyo/Qwen3.5-122B-A10B-NVFP4 -
RedHatAI/Qwen3.5-122B-A10B-NVFP4
3.2 Qwen3.5 27B / 35B
-
Qwen/Qwen3.5-27B -
Qwen/Qwen3.5-27B-FP8 -
Qwen/Qwen3.5-27B-GPTQ-Int4 -
Qwen/Qwen3.5-35B-A3B -
Qwen/Qwen3.5-35B-A3B-FP8
3.3 Qwen3-VL
-
Qwen/Qwen3-VL-32B-Thinking -
Qwen/Qwen3-VL-32B-Thinking-FP8 -
Qwen/Qwen3-VL-32B-Thinking-GPTQ-Int4
3.4 其他 NVFP4 实验模型
-
txn545/Qwen3.5-27B-NVFP4 -
txn545/Qwen3.5-35B-A3B-NVFP4 -
mconcat/Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-NVFP4 -
osoleve/Qwen3.5-27B-Text-NVFP4-MTP
4. 最大的困扰:nvfp4对spark兼容性不佳
网上很多人提到了做 DGX Spark 上,nvfp4兼容性不佳:
-
内核不兼容
-
illegal memory access -
DeepGEMM / CUDA graph 报错
-
tokenizer 类不兼容
-
rope config 不兼容
-
启动能起来,但一请求就炸
Spark 不是普通显卡环境,对通用nvfp4不兼容
5. 我踩过的主要坑
5.1 通用 vLLM / SGLang 镜像,不等于 Spark 能稳跑
我最开始试过很多“看起来最标准”的方案:
-
vllm/vllm-openai:cu130-nightly -
vllm/vllm-openai:v0.17.1-cu130 -
lmsysorg/sglang:dev-cu13 -
lmsysorg/sglang:spark -
scitrera/dgx-spark-sglang:0.5.9-t5
结论:
-
模型能加载,推理时炸
-
attention backend 不对
-
CUDA graph / DeepGEMM 失败
-
tokenizer / config parser 不兼容
-
启动没问题,但多模态不工作
5.2 txn545 + SGLang 不是我最终能稳定用的路线
txn545/Qwen3.5-122B-A10B-NVFP4 的模型卡偏向 SGLang / modelopt_fp4,理论上很合理。
我实际试下来:
-
通过
lmsysorg/sglang:dev-cu13 -
加
--attention-backend triton -
确实能把服务起起来
但问题是:
- 真正发请求后,还是会触发底层 CUDA 非法内存访问
5.3 RedHatAI/Qwen3.5-122B-A10B-NVFP4 卡在 tokenizer 兼容
它模型卡写的是:
-
llm-compressor -
与
vLLM main兼容并测试过
但我在 Spark 上实际遇到的是:
Tokenizer class TokenizersBackend does not exist
所以我最后没有继续把它当主线。
5.4 spark-vllm-122b 不是通用 NVFP4 镜像,但对qwen3.5-122b-a10b-nvfp4做了完整适配
我后来找到并跑通了:
GitHub - jilycn/spark-vllm-122b: vLLM Qwen3.5-122B NVFP4 on DGX Spark (SM121) —...
vLLM Qwen3.5-122B NVFP4 on DGX Spark (SM121) — full Docker build with 15 patches
它确实很强,但它强在:
- 针对
Qwen3.5-122B-A10B-NVFP4做过一整套 patch
但我后面拿它直接套 27B、35B 某些 NVFP4 模型时,依然会遇到:
-
rope parser 不兼容
-
config 不兼容
所以这套要明确定位:
122B 专用主力
6.2 我最终用这套跑通了什么
我最终验证这套做到了:
-
122B NVFP4 启动成功
-
视觉可用
-
reasoning 分离正常
-
tool calling 正常
-
多请求稳定
-
长上下文正常
他是一套配套的patch适配122b的启动方式
7. vllm-node:latest:我最后的官方模型主力
我自己还在网上找到了一个 Spark 优化版vllm vllm-node:latest。
GitHub - eugr/spark-vllm-docker: Docker configuration for running VLLM on dual DGX...
Docker configuration for running VLLM on dual DGX Sparks
这套对我后来跑官方模型很重要,项目非常好用
7.1 我给它的定位
-
官方
Qwen3.5全量 -
官方
Qwen3.5FP8 -
官方
Qwen3.5GPTQ-Int4 -
官方
Qwen3-VL-32B-Thinking系列
7.2 它的优点
-
明显更贴 Spark / GB10
-
跑官方模型的成功率比我前面乱试通用镜像高很多
7.3 它的缺点
-
这不是一个公开可复现的标准镜像名,要本地 build 的结果
-
后续更新要自己
git pull+ rebuild
7.4 我的结论
如果在spark上跑官方模型,那我会优先推荐:Spark 优化版 vLLM
8. lmsysorg/sglang:dev-cu13:SGLang 的主力实验线
之前试过lmsysorg/sglang:spark他对 Qwen3.5 这些新模型支持太久了
8.2 dev-cu13直接是主线,对spark兼容性很好,对 Qwen3.5 新模型兼容也很好
9. atlas-alpha2:非常快的nvfp4特化版,但不是我的主视觉服务
这是另一个很有价值的发现。avarok/atlas-alpha2 能做到同样是 122B NVFP4,单请求速度居然可以到40t。
9.1 它的优点
-
启动快
-
单请求文本速度明显快
-
NVFP4 纯文本体验很强
-
MTP 路线集成得比较激进
9.2 它的缺点
-
我这边实测里,
Sehyo 122B跑起来更像 文本专用 -
视觉不可用,而且不支持思考
-
KV cache 明显比
spark-vllm-122b小 -
更偏短文本/高吞吐/文本加速,而不是“全功能兼容”
9.3 我的最终定位
我最后把它定位成:小龙虾专用文本服务模型
10. 122B NVFP4 两条线,最后该怎么选,这是我最终最实用的经验。
10.1 如果你要完整服务,可以选:spark-vllm-122b
10.2 如果你要纯文本速度选**atlas-alpha2** docker hub里面可以直接下
11. 关于 MTP
tmd直接开
12. 关于思考模板和工具调用的参数
12.1 vLLM
-
思考分离:
-
--reasoning-parser qwen3 -
工具调用:
-
--reasoning-parser qwen3 -
--enable-auto-tool-choice -
--tool-call-parser qwen3_coder
12.2 SGLang
-
思考分离:
-
--reasoning-parser qwen3 -
工具调用:
-
--reasoning-parser qwen3 -
--tool-call-parser qwen3_coder
13. 最后总结,我的搭配
13.1 主视觉 / 主服务是**spark-vllm-122b**,负责:
-
视觉
-
复杂 reasoning
-
工具调用
-
长上下文
-
正式 API 服务
13.2 官方模型主力**vllm-node:latest**,负责:
-
官方
Qwen3.5-27B -
官方
Qwen3.5-35B-A3B -
官方 FP8 / GPTQ / VL 模型
13.3 SGLang 实验线**lmsysorg/sglang:dev-cu13**,负责:
-
新模型测试
-
SGLang 路线对照实验
13.4 NVFP4 文本高速,用**avarok/atlas-alpha2**,负责:
-
纯文本高速服务
-
NVFP4 文本路线
新手第一篇文章,结合和ai的经验,最后也是让spark自己产出了这个文章,多多指教
后续在话题下面更新在spark上配122b开发agent的经验
--【壹】--:
实际使用效果如何,你这个分享很有价值,帮到我了解了一些信息,感谢。
--【贰】--:
这个效果可以啊。值的试试
--【叁】--:
支持,最近有可能帮别人在dgx spark部署一套大模型,先看看。谢!
--【肆】--:
122b和27b哪个好用啊 请教下大佬
--【伍】--:
可以可以,那到时候一起交流,看看什么模型最好
--【陆】--:
支持了!
想请教下佬 有尝试过直接在Spark的环境下不用docker跑vLLM之类的嘛
--【柒】--:
122b 单请求20,4个并发60,10个并发在100token/s左右吧
--【捌】--:
应该也是直接可以的,因为我想测不同方式所以在docker下面
--【玖】--:
佬分配了多大显存
--【拾】--:
直接设置的0.9
--【拾壹】--:
支持一下
--【拾贰】--:
支持支持
--【拾叁】--:
在这个小机器上绝对是122b,27b的输出太慢了
--【拾肆】--:
真详细啊,哈哈
--【拾伍】--:
一起进步
--【拾陆】--: BobbyZZY:
支持一下
支持一下
--【拾柒】--:
感谢分享
--【拾捌】--:
支持一下
--【拾玖】--:
支持一下
最近公司要做一个本地部署大模型的项目,配了dgx spark,用了一周的时间去尝试了各种模型,踩了各种坑,现在给大家汇报DGX Spark 部署 Qwen3.5 / NVFP4 大模型实战记录
这篇文档记录的是我在 NVIDIA DGX Spark(GB10,128GB unified memory) 上部署 Qwen3.5 系列模型,尤其是 NVFP4 量化模型 的完整踩坑过程、结论和推荐方案。
我最想部署的模型就是qwen3.5-122b-a10b,总参数量够大,激发参数够小,模型最强,fp4量化以后正好能在spark上跑起来
用了一周的时间去尝试了各种模型,踩了各种坑,现在给大家汇报:
-
哪些组合我真的跑起来了
-
哪些组合虽然部署成功了但实际上会崩
-
哪些镜像/框架最完美
-
哪些可以跑起来
-
哪些方案在 Spark 上跑不起来
我实际用过的镜像主要有:
-
vllm-node:latest -
vllm-spark:dev210-final -
vllm/vllm-openai:cu130-nightly -
vllm/vllm-openai:v0.17.1-cu130 -
lmsysorg/sglang:dev-cu13 -
lmsysorg/sglang:spark -
scitrera/dgx-spark-sglang:0.5.9-t5 -
avarok/dgx-vllm-nvfp4-kernel:latest -
avarok/atlas-alpha2
2. 省流版
| 部署的模型 | 最终推荐 |
| 官方 Qwen3.5 / Qwen3 全量、FP8、GPTQ / AWQ | vllm-node:latest |
| SGLang 部署 | lmsysorg/sglang:dev-cu13 |
| 122B NVFP4 完整服务 | spark-vllm-122b 对应的 vllm-spark:dev210-final |
| NVFP4 纯文本高速服务 | avarok/atlas-alpha2 |
2.1 最推荐的模型
在 DGX Spark 上,当前真正“稳定跑起来、支持视觉、支持 reasoning 分离、支持工具调用、支持长上下文”的 NVFP4 方案,我最终跑通的是:
GitHub - jilycn/spark-vllm-122b: vLLM Qwen3.5-122B NVFP4 on DGX Spark (SM121) —...
vLLM Qwen3.5-122B NVFP4 on DGX Spark (SM121) — full Docker build with 15 patches
这个项目非常有用,对dgx spark跑qwen3.5-122b-a10b做了patch,提供了最好的支持
用**txn545/Qwen3.5-122B-A10B-NVFP4 + spark-vllm-122b**这套是我最终最认可、也最有分享价值的方案。
3. 我试过的主要模型
3.1 Qwen3.5 122B / NVFP4
-
txn545/Qwen3.5-122B-A10B-NVFP4 -
Sehyo/Qwen3.5-122B-A10B-NVFP4 -
RedHatAI/Qwen3.5-122B-A10B-NVFP4
3.2 Qwen3.5 27B / 35B
-
Qwen/Qwen3.5-27B -
Qwen/Qwen3.5-27B-FP8 -
Qwen/Qwen3.5-27B-GPTQ-Int4 -
Qwen/Qwen3.5-35B-A3B -
Qwen/Qwen3.5-35B-A3B-FP8
3.3 Qwen3-VL
-
Qwen/Qwen3-VL-32B-Thinking -
Qwen/Qwen3-VL-32B-Thinking-FP8 -
Qwen/Qwen3-VL-32B-Thinking-GPTQ-Int4
3.4 其他 NVFP4 实验模型
-
txn545/Qwen3.5-27B-NVFP4 -
txn545/Qwen3.5-35B-A3B-NVFP4 -
mconcat/Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled-NVFP4 -
osoleve/Qwen3.5-27B-Text-NVFP4-MTP
4. 最大的困扰:nvfp4对spark兼容性不佳
网上很多人提到了做 DGX Spark 上,nvfp4兼容性不佳:
-
内核不兼容
-
illegal memory access -
DeepGEMM / CUDA graph 报错
-
tokenizer 类不兼容
-
rope config 不兼容
-
启动能起来,但一请求就炸
Spark 不是普通显卡环境,对通用nvfp4不兼容
5. 我踩过的主要坑
5.1 通用 vLLM / SGLang 镜像,不等于 Spark 能稳跑
我最开始试过很多“看起来最标准”的方案:
-
vllm/vllm-openai:cu130-nightly -
vllm/vllm-openai:v0.17.1-cu130 -
lmsysorg/sglang:dev-cu13 -
lmsysorg/sglang:spark -
scitrera/dgx-spark-sglang:0.5.9-t5
结论:
-
模型能加载,推理时炸
-
attention backend 不对
-
CUDA graph / DeepGEMM 失败
-
tokenizer / config parser 不兼容
-
启动没问题,但多模态不工作
5.2 txn545 + SGLang 不是我最终能稳定用的路线
txn545/Qwen3.5-122B-A10B-NVFP4 的模型卡偏向 SGLang / modelopt_fp4,理论上很合理。
我实际试下来:
-
通过
lmsysorg/sglang:dev-cu13 -
加
--attention-backend triton -
确实能把服务起起来
但问题是:
- 真正发请求后,还是会触发底层 CUDA 非法内存访问
5.3 RedHatAI/Qwen3.5-122B-A10B-NVFP4 卡在 tokenizer 兼容
它模型卡写的是:
-
llm-compressor -
与
vLLM main兼容并测试过
但我在 Spark 上实际遇到的是:
Tokenizer class TokenizersBackend does not exist
所以我最后没有继续把它当主线。
5.4 spark-vllm-122b 不是通用 NVFP4 镜像,但对qwen3.5-122b-a10b-nvfp4做了完整适配
我后来找到并跑通了:
GitHub - jilycn/spark-vllm-122b: vLLM Qwen3.5-122B NVFP4 on DGX Spark (SM121) —...
vLLM Qwen3.5-122B NVFP4 on DGX Spark (SM121) — full Docker build with 15 patches
它确实很强,但它强在:
- 针对
Qwen3.5-122B-A10B-NVFP4做过一整套 patch
但我后面拿它直接套 27B、35B 某些 NVFP4 模型时,依然会遇到:
-
rope parser 不兼容
-
config 不兼容
所以这套要明确定位:
122B 专用主力
6.2 我最终用这套跑通了什么
我最终验证这套做到了:
-
122B NVFP4 启动成功
-
视觉可用
-
reasoning 分离正常
-
tool calling 正常
-
多请求稳定
-
长上下文正常
他是一套配套的patch适配122b的启动方式
7. vllm-node:latest:我最后的官方模型主力
我自己还在网上找到了一个 Spark 优化版vllm vllm-node:latest。
GitHub - eugr/spark-vllm-docker: Docker configuration for running VLLM on dual DGX...
Docker configuration for running VLLM on dual DGX Sparks
这套对我后来跑官方模型很重要,项目非常好用
7.1 我给它的定位
-
官方
Qwen3.5全量 -
官方
Qwen3.5FP8 -
官方
Qwen3.5GPTQ-Int4 -
官方
Qwen3-VL-32B-Thinking系列
7.2 它的优点
-
明显更贴 Spark / GB10
-
跑官方模型的成功率比我前面乱试通用镜像高很多
7.3 它的缺点
-
这不是一个公开可复现的标准镜像名,要本地 build 的结果
-
后续更新要自己
git pull+ rebuild
7.4 我的结论
如果在spark上跑官方模型,那我会优先推荐:Spark 优化版 vLLM
8. lmsysorg/sglang:dev-cu13:SGLang 的主力实验线
之前试过lmsysorg/sglang:spark他对 Qwen3.5 这些新模型支持太久了
8.2 dev-cu13直接是主线,对spark兼容性很好,对 Qwen3.5 新模型兼容也很好
9. atlas-alpha2:非常快的nvfp4特化版,但不是我的主视觉服务
这是另一个很有价值的发现。avarok/atlas-alpha2 能做到同样是 122B NVFP4,单请求速度居然可以到40t。
9.1 它的优点
-
启动快
-
单请求文本速度明显快
-
NVFP4 纯文本体验很强
-
MTP 路线集成得比较激进
9.2 它的缺点
-
我这边实测里,
Sehyo 122B跑起来更像 文本专用 -
视觉不可用,而且不支持思考
-
KV cache 明显比
spark-vllm-122b小 -
更偏短文本/高吞吐/文本加速,而不是“全功能兼容”
9.3 我的最终定位
我最后把它定位成:小龙虾专用文本服务模型
10. 122B NVFP4 两条线,最后该怎么选,这是我最终最实用的经验。
10.1 如果你要完整服务,可以选:spark-vllm-122b
10.2 如果你要纯文本速度选**atlas-alpha2** docker hub里面可以直接下
11. 关于 MTP
tmd直接开
12. 关于思考模板和工具调用的参数
12.1 vLLM
-
思考分离:
-
--reasoning-parser qwen3 -
工具调用:
-
--reasoning-parser qwen3 -
--enable-auto-tool-choice -
--tool-call-parser qwen3_coder
12.2 SGLang
-
思考分离:
-
--reasoning-parser qwen3 -
工具调用:
-
--reasoning-parser qwen3 -
--tool-call-parser qwen3_coder
13. 最后总结,我的搭配
13.1 主视觉 / 主服务是**spark-vllm-122b**,负责:
-
视觉
-
复杂 reasoning
-
工具调用
-
长上下文
-
正式 API 服务
13.2 官方模型主力**vllm-node:latest**,负责:
-
官方
Qwen3.5-27B -
官方
Qwen3.5-35B-A3B -
官方 FP8 / GPTQ / VL 模型
13.3 SGLang 实验线**lmsysorg/sglang:dev-cu13**,负责:
-
新模型测试
-
SGLang 路线对照实验
13.4 NVFP4 文本高速,用**avarok/atlas-alpha2**,负责:
-
纯文本高速服务
-
NVFP4 文本路线
新手第一篇文章,结合和ai的经验,最后也是让spark自己产出了这个文章,多多指教
后续在话题下面更新在spark上配122b开发agent的经验
--【壹】--:
实际使用效果如何,你这个分享很有价值,帮到我了解了一些信息,感谢。
--【贰】--:
这个效果可以啊。值的试试
--【叁】--:
支持,最近有可能帮别人在dgx spark部署一套大模型,先看看。谢!
--【肆】--:
122b和27b哪个好用啊 请教下大佬
--【伍】--:
可以可以,那到时候一起交流,看看什么模型最好
--【陆】--:
支持了!
想请教下佬 有尝试过直接在Spark的环境下不用docker跑vLLM之类的嘛
--【柒】--:
122b 单请求20,4个并发60,10个并发在100token/s左右吧
--【捌】--:
应该也是直接可以的,因为我想测不同方式所以在docker下面
--【玖】--:
佬分配了多大显存
--【拾】--:
直接设置的0.9
--【拾壹】--:
支持一下
--【拾贰】--:
支持支持
--【拾叁】--:
在这个小机器上绝对是122b,27b的输出太慢了
--【拾肆】--:
真详细啊,哈哈
--【拾伍】--:
一起进步
--【拾陆】--: BobbyZZY:
支持一下
支持一下
--【拾柒】--:
感谢分享
--【拾捌】--:
支持一下
--【拾玖】--:
支持一下

