MiaAI-Lab/Qwen3.8-27B-SGLang-DGX-Spark
Qwen3.8 27B on SGLang for DGX Spark
本仓库的功能
MiaAI‑Lab 提供即开即用的 Docker 脚本,可在 NVIDIA DGX Spark(aarch64,128 GB 统一内存)上使用 SGLang 高性能推理引擎部署 Qwen 3.8 27B 大型语言模型。该仓库包含:
- 三种推测解码引擎(EAGLE/MTP、DSpark、DFlash2)的 Docker 启动脚本,均针对 DGX Spark 硬件进行了调优。
- 一组小型基准测试工具(
bench/),可复现 README 中报告的性能数据。 - 配置辅助工具(
.env.sample、启动脚本),可调整上下文长度(最高达 1 M 令牌)、并发数(最高 10 个并发请求)、量化模式和 CPU 绑定。 - 作者机器上实测获得最佳延迟/吞吐量的硬件特定标志文档。
简而言之,该仓库是用于在专用 NVIDIA 服务器上高速运行 270 亿参数 LLM 的 部署套件。
哪些人可能使用它
| 目标用户 | 为何重要 |
|---|---|
| 机器学习工程师 / 研究运维人员:需要在 NVIDIA DGX Spark 硬件上对 Qwen 3.8 27B 进行基准测试或部署。 | |
| AI 产品团队:构建聊天代理、代码助手或工具调用服务,需要在单个强大节点上实现低延迟推理。 | |
| 性能调优爱好者:希望获得 SGLang 的推测解码器(EAGLE/MTP、DSpark、DFlash2)与硬件特定设置(CPU-set 绑定、FP8 KV 缓存、内存占比调优)结合使用的具体示例。 | |
下游应用开发者(如 RAG 流水线、自主代理):可通过标准 OpenAI 兼容的 /v1/models 端点调用已部署的模型。 |
快速入门
- 克隆仓库并复制示例环境文件:
git clone https://github.com/MiaAI-Lab/Qwen3.8-27B-SGLang-DGX-Spark.git cd Qwen3.8-27B-SGLang-DGX-Spark cp .env.sample .env # 创建带有默认设置的 .env - 确保 Docker 可见 GPU(已安装 NVIDIA Container Toolkit),并导出 Hugging Face 访问令牌为
HF_TOKEN。 - 选择一个引擎并启动:
脚本会拉取对应的 SGLang 镜像,将 Qwen 检查点下载到# 默认:DSpark(代码类工作负载最快) ./start-dspark.sh # 可选:经典 EAGLE/MTP 推测解码 ./start.sh # 可选:DFlash2(适合短对话和长文写作) ./start-dflash.sh./.cache/huggingface(约 24 GB),并启动监听端口 8888 的容器。 - 测试服务器:
应返回 JSON 响应,确认模型名curl http://127.0.0.1:8888/v1/modelsqwen3.8-27b-sglang已准备就绪。 - 使用完毕后停止服务:
./stop.sh
可配置项(配置)
变量(在 .env 或 shell 环境中) |
默认值 | 控制内容 |
|---|---|---|
YARN |
0 |
启用 YaRN rope 缩放以支持超过 262 K 令牌的上下文。超过原生窗口长度时必须设为 1。 |
CONTEXT_LENGTH |
262144 |
令牌窗口大小(262 K – 1 M)。更大的窗口需要 YARN=1。 |
MAX_CONCURRENT_REQUESTS |
10 |
同时 API 调用数量;也决定 GDN 状态池大小。 |
QUANT |
nvfp4 |
选择检查点变体:nvfp4(密集 BF16 头)、nvfp4-fp4(打包 FP4 头)、fp8(FP8 权重)、bf16(完整 BF16)。均在 128 GB 内存预算内。 |
CPUSET |
5-9,15-19 |
将容器绑定到 DGX Spark 的 10 个高性能 Cortex‑X5 核心,保留较慢的 A725 核心空闲。 |
SPEC_STEPS / SPEC_TOPK / SPEC_DRAFT |
3 / 1 / 4 |
EAGLE/MTP 推测解码器的调优参数。DSpark 和 DFlash2 引擎忽略这些。 |
CHUNKED_PREFILL |
8192 |
预填充块大小;在该硬件上增大值可改善首个令牌延迟。 |
DF_TARGET(仅 DFlash2) |
nvfp4 |
选择 DFlash2 引擎加载的检查点(nvfp4、nvfp4-fp4 或 bf16)。 |
IMAGE |
引擎特定(见脚本) | 若有本地构建的变体,可指向自定义 SGLang 镜像。 |
所有变量均可在命令行中覆盖,例如:
MAX_CONCURRENT_REQUESTS=5 CONTEXT_LENGTH=524288 YARN=1 ./start.sh
新值需在执行 ./stop.sh && ./start… 循环后生效。
实测性能数据(作者 DGX Spark 上测量)
| 引擎 | 典型延迟(秒) – 代码片段 | 典型延迟 – 长文 | 典型延迟 – 短对话 |
|---|---|---|---|
| DSpark(block-7) | ~51.5 s(代码最快) | ~18 s(慢于 MTP) | ~23 s(良好) |
| EAGLE/MTP | ~34.5 s | ~24 s(长文最佳) | ~21 s |
| DFlash2(NVFP4) | ~50.9 s | ~25.4 s | 29 – 67 s(修复令牌计数后流式短对话胜出) |
所有数据均为 bench/ 中基准脚本的墙时时间,包含预填充、解码及任何推测起草开销。内存使用量约为 24 GB(密集 BF16 头)+ 约 2.5 GB(草稿模型);打包 FP4 变体可节省数 GB。
何时选择哪个引擎
| 目标 | 推荐脚本 | 原因 |
|---|---|---|
| 调用工具或需要代码生成的代理 | ./start-dspark.sh |
DSpark 的 block-7 草稿在代码密集型提示下提供最佳解码速度。 |
| 长文写作(论文、报告) | ./start.sh(EAGLE/MTP) |
MTP 的推测解码在大段连续输出中表现最佳。 |
| 通用聊天或混合负载 | ./start-dflash.sh |
DFlash2 在代码与聊天性能间取得平衡,修复令牌计数后短对话延迟优于其他。 |
更多详细信息查阅位置
- 本机实测 – README 中的一张表格,列出作者观察到的所有延迟、内存占比和令牌计数限制。
bench/脚本 –ndec.py、bench.sh、ab-image.sh可在自有硬件上复现 A/B 对比。docs/– 包含头脑风暴笔记(brainstorms/*.md)和长期计划(plans/*.md)。
TL;DR
若您拥有 NVIDIA DGX Spark 并需以低延迟运行 27 B Qwen 模型,此仓库提供:
- 三种领先 SGLang 推测解码器的预配置 Docker 镜像。
- 自动拉取模型、应用最优硬件标志并暴露 OpenAI 兼容 API 的脚本。
- 简单控制项,可将上下文长度扩展至 1 M 令牌,支持最多 10 个并发请求。
只需复制 .env.sample,选择关心的引擎,运行对应 start-*.sh,即可在几分钟内部署 Qwen 3.8 27B。
相关
- 项目
- 项目
- 项目
- 项目