marksunner/dgx-spark-single-stack

GitHub: marksunner/dgx-spark-single-stack

在单台NVIDIA DGX Spark上运行Qwen 122B推理、Hermes Agent、Honcho对话记忆及健康监控的完整单栈自主AI Agent部署方案。

Stars: 16 | Forks: 0

# DGX Spark 单栈 AI Agent **一个运行在单台 NVIDIA DGX Spark 上的完整自主 AI Agent。** 一台设备。一颗 GPU。全栈 AI:推理、agent runtime、对话记忆和监控 —— 全部在单台 128GB DGX Spark 上运行。 ## 这是什么 一个有文档记录且可复现的配置,用于运行: | 组件 | 角色 | 资源 | |-----------|------|----------| | **Qwen 3.5 122B** | LLM 推理(混合 INT4+FP8,MTP 投机解码) | GPU(约 67 GB) | | **Hermes Agent** | 具备工具使用能力及 Discord/聊天集成的 AI agent runtime | CPU(约 300 MB) | | **Honcho** | 对话记忆(PostgreSQL + Redis) | CPU(约 500 MB) | | **Uptime Kuma** | 健康监控仪表盘 | CPU(约 100 MB) | 核心洞察:**GPU 和 CPU 的工作负载互不干扰。** vLLM 通过 `--gpu-memory-utilization` 独占 GPU 内存,而 agent 栈完全在 CPU/系统 RAM 上运行。它们可以轻松共存。 ## 性能 | 指标 | 数值 | |--------|-------| | 解码速度 | **41–47 tok/s**(单用户) | | MTP 接受率 | 并发数=1 时增加 40–50% | | 并发稳定性 | 15 个并行任务,100% 通过率 | | 顺序基准测试 | 得分 91/100,中位数耗时 2.0s/轮 | | 并行 4 路基准测试 | 得分 88/100,中位数耗时 5.9s/轮 | | 模型加载时间 | 约 65 秒 | | 完整初始化(编译 + 预热) | 约 200 秒 | ## 快速开始 ### 1. 构建混合 Checkpoint 完整流程请参阅 [`docs/hybrid-checkpoint.md`](docs/hybrid-checkpoint.md)。 混合 INT4+FP8 checkpoint 将 Intel AutoRound INT4 权重与 Qwen FP8 权重合并,比单独使用任一格式能产生更高的吞吐量。 ### 2. 启动 vLLM ``` docker run -d --name vllm-qwen35 \ --gpus all --net=host --ipc=host \ -v /path/to/models:/models \ vllm-qwen35-v2 \ serve /models/qwen35-122b-hybrid-int4fp8 \ --served-model-name qwen3.5-122b \ --max-model-len 131072 \ --gpu-memory-utilization 0.85 \ --port 8000 --host 0.0.0.0 \ --load-format fastsafetensors \ --attention-backend FLASHINFER \ --enable-chunked-prefill \ --max-num-batched-tokens 16384 \ --max-num-seqs 256 \ --enable-prefix-caching \ --enable-auto-tool-choice \ --tool-call-parser qwen3_coder \ --generation-config auto \ --chat-template /models/qwen35-122b-hybrid-int4fp8/unsloth.jinja \ --override-generation-config '{"temperature": 0.3, "top_p": 0.95, "top_k": 20, "presence_penalty": 0.0, "repetition_penalty": 1.0}' \ --speculative-config '{"method":"mtp","num_speculative_tokens":2}' ``` ### 3. 安装 Hermes Agent 请参阅 [`docs/hermes-setup.md`](docs/hermes-setup.md)。 ### 4. 安装 Honcho(可选) 请参阅 [`docs/honcho-setup.md`](docs/honcho-setup.md)。 ## 文档 - **[`docs/complete-walkthrough.md`](docs/complete-walkthrough.md) — 从这里开始:在大约 2 小时内从零开始构建整个栈** - [`docs/vllm-config.md`](docs/vllm-config.md) — vLLM flag 参考与 OOM 预防 - [`docs/hybrid-checkpoint.md`](docs/hybrid-checkpoint.md) — 构建混合 INT4+FP8 checkpoint - [`docs/hermes-setup.md`](docs/hermes-setup.md) — Agent runtime 安装 - [`docs/honcho-setup.md`](docs/honcho-setup.md) — 对话记忆设置 - [`docs/thinking-modes.md`](docs/thinking-modes.md) — 控制 thinking/reasoning token - [`docs/troubleshooting.md`](docs/troubleshooting.md) — 常见问题与修复 - [`docs/benchmarks.md`](docs/benchmarks.md) — 性能测试方法论 ## 模型大比拼 我们进行了一场正面交锋的比较:相同的研究任务,相同的 agent 框架,在各自独立的单台 Spark 上运行 Qwen 3.5 122B 与 Step 3.7 Flash。Qwen 的速度快了约 6.7 倍(4 分钟对 27 分钟);而 Step 3.7 在来源分析和矛盾解决方面挖掘得更深。 完整结果与方法论:**[总仓库中的模型大比拼](https://github.com/marksunner/dgx-spark#model-bake-off-research-task-quality)** ## 背景 ### 为什么选择单台 Spark? 我们此前曾使用 Ray 分布式推理在**两台** DGX Spark 上运行 Qwen 3.5 122B。当时的假设是:硬件越多 = 速度越快。 **错了。** | 配置 | Tok/s | 硬件 | |--------------|-------|----------| | 双 Spark(Ray,无 MTP) | ~28 | 2× DGX Spark | | 单 Spark(vLLM,无 MTP) | ~29.5 | 1× DGX Spark | | 单 Spark(混合 INT4+FP8,MTP K=3) | **41–47** | 1× DGX Spark | Ray 的节点间通信开销抵消了第二台 Spark 带来的任何优势。与此同时,MTP(Multi-Token Prediction,多 token 预测)—— 这项技术仅在单节点上才能稳定工作 —— 带来了 40–50% 的速度提升。结论是:**一台 Spark 比两台更快。** 这释放了硬件资源,可用于其他实验、部署额外的 agent,或者仅仅是降低了功耗。 ## 许可证 此文档被自由共享。所引用的工具(vLLM、Hermes、Honcho、Qwen)拥有它们各自的许可证。
标签:AI智能体, LLM部署, NVIDIA DGX, Qwen, vLLM, 性能优化, 搜索引擎查询, 检测绕过, 测试用例, 请求拦截, 运维部署