如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
在NVIDIA DGX Spark(GB10 / sm_121a)上使用DFlash推测解码的AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4的生产稳定部署。
AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4
[!IMPORTANT] 请先阅读要求部分。此镜像及其权重专为DGX Spark(GB10 / sm_120-121 Blackwell)优化。未经重新构建,它将无法在Hopper、Ampere、B200或其他Blackwell变体上运行。
[!IMPORTANT] 请先阅读要求部分。此镜像及其权重专为DGX Spark(GB10 / sm_120-121 Blackwell)优化。未经重新构建,它将无法在Hopper、Ampere、B200或其他Blackwell变体上运行。
| 项目 | 说明 |
|---|---|
| Model | AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4(~22 GB,多模态 — 2026-06-18视觉修复后图像输入可用) |
| Drafter | z-lab/Qwen3.6-35B-A3B-DFlash(~905 MB,公开***拉取) |
| Hardware | DGX Spark(NVIDIA GB10,128 GB统一内存,sm_121a) |
| Image | ghcr.io/aeon-7/aeon-vllm-ultimate:latest(= :2026-06-18-v0.23.0-dflashfix;回滚版本 :2026-06-11-pr41703) |
AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4
z-lab/Qwen3.6-35B-A3B-DFlash
ghcr.io/aeon-7/aeon-vllm-ultimate:latest
:2026-06-18-v0.23.0-dflashfix
:2026-06-11-pr41703
完整步骤 — 拉取容器、NVFP4权重和最新的DFlash drafter,然后使用经过验证的DGX-Spark标志启动服务。(此35B-A3B drafter不需要--mamba-block-size — 它是全注意力模型。)在DGX Spark(GB10 / sm_121a)上运行;请先查看硬件要求。
--mamba-block-size
# 1. 拉取统一vLLM容器(匿名拉取)
docker pull ghcr.io/aeon-7/aeon-vllm-ultimate:latest
# 2. 拉取NVFP4模型权重(此仓库权重)
huggingface-cli download AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4 --local-dir ./aeon-model
# 3. 拉取DFlash drafter — 确保最新(2026-04-19前克隆的需重新拉取)
huggingface-cli download z-lab/Qwen3.6-35B-A3B-DFlash --local-dir ./aeon-drafter
# 4. 启动服务(ENTRYPOINT为/bin/bash,因此需传递--entrypoint vllm后接serve命令...)
docker run --gpus all --rm -p 8000:8000 \
-v ./aeon-model:/model:ro \
-v ./aeon-drafter:/drafter:ro \
--entrypoint vllm \
ghcr.io/aeon-7/aeon-vllm-ultimate:latest serve /model \
--served-model-name qwen36-35b-heretic qwen36-fast qwen36-deep \
--host 0.0.0.0 --port 8000 \
--quantization compressed-tensors \
--max-model-len 262144 \
--max-num-seqs 64 \
--max-num-batched-tokens 16384 \
--gpu-memory-utilization 0.85 \
--enable-chunked-prefill \
--enable-prefix-caching \
--trust-remote-code \
--limit-mm-per-prompt '{"image":4,"video":2}' \
--enable-auto-tool-choice --tool-call-parser qwen3_coder \
--reasoning-parser qwen3 \
--attention-backend flash_attn \
--speculative-config '{"method":"dflash","model":"/drafter","num_speculative_tokens":11}'
[!NOTE] 可选 — 更快重启:在docker run命令中添加-v ./vllm-cache:/root/.cache/vllm(需先执行mkdir -p ./vllm-cache),以在容器重启时保留FlashInfer NVFP4 GEMM自动调谐器和CUDA图捕获。首次启动仍需约10–12分钟,但后续重启可缩短至约3–5分钟。
可选 — 更快重启:在docker run命令中添加-v ./vllm-cache:/root/.cache/vllm(需先执行mkdir -p ./vllm-cache),以在容器重启时保留FlashInfer NVFP4 GEMM自动调谐器和CUDA图捕获。首次启动仍需约10–12分钟,但后续重启可缩短至约3–5分钟。
-v ./vllm-cache:/root/.cache/vllm
docker run
mkdir -p ./vllm-cache
有关docker-compose部署、3个别名设置以及每个标志的原理,请参见下文的部署(compose + 完整步骤)。
在当前生产镜像ghcr.io/aeon-7/aeon-vllm-ultimate:latest(vLLM 0.23.0 + AEON sm_121a构建 + DFlash num_speculative_tokens: 11)上按类别测量,单流(c=1)。混合领域提示集,enable_thinking=false以获得清晰的解码速率测量:
ghcr.io/aeon-7/aeon-vllm-ultimate:latest
num_speculative_tokens: 11
enable_thinking=false
| 类别 | 🟢 解码 tok/s | TTFT p50 | TPOT p50 | 预填充(PP) | DFlash 接受率 |
|---|---|---|---|---|---|
| Coding | 91.7 | 88 ms | 10.9 ms | 509 tok/s | 33% |
| Math | 123.6 | 113 ms | 8.1 ms | 494 tok/s | 48% |
| Reasoning | 120.6 | 120 ms | 8.3 ms | 359 tok/s | 46% |
| Prose | 75.2 | 137 ms | 13.3 ms | 234 tok/s | 24% |
| Natural language | 91.8 | 104 ms | 10.9 ms | 326 tok/s | 32% |
| Extraction / JSON | 79.8 | 103 ms | 12.5 ms | 468 tok/s | 28% |
六个类别的单流解码平均约为97 tok/s(开放式散文最低75 tok/s,数学/推理最高124 tok/s,其中DFlash接受率最高)。此A3B MoE速度很快:数学/代码/推理提示的单流解码达到120+ tok/s,因为DFlash drafter接受了46–48%的提议;开放式散文/提取在较低接受率下稳定在75–92 tok/s左右。
[!NOTE] 标准基准待确定。目前尚无此模型的标准vanilla-vLLM基准 — 尚未在当前版本上运行全新的完全vanilla基准测试(无DFlash,无AEON/sm_121a优化),因此此处不引用标准与优化版本的速度提升倍数。上述数据是在优化的aeon-vllm-ultimate:latest(vLLM 0.23.0)构建上测量的。此镜像为DGX-Spark带来的优势是支持c=64并发(之前的镜像在推测解码下c≥32时崩溃)以及长上下文draft接受率的稳定性 — 详见DGX Spark的修复内容。
标准基准待确定。目前尚无此模型的标准vanilla-vLLM基准 — 尚未在当前版本上运行全新的完全vanilla基准测试(无DFlash,无AEON/sm_121a优化),因此此处不引用标准与优化版本的速度提升倍数。上述数据是在优化的aeon-vllm-ultimate:latest(vLLM 0.23.0)构建上测量的。此镜像为DGX-Spark带来的优势是支持c=64并发(之前的镜像在推测解码下c≥32时崩溃)以及长上下文draft接受率的稳定性 — 详见DGX Spark的修复内容。
aeon-vllm-ultimate:latest
聚合吞吐量平稳攀升至c=64且零崩溃 — 正是之前的镜像(vllm-spark-omni-q36:v1.2)在推测解码下c≥32时崩溃的场景。在c=64时,峰值聚合吞吐量约为740 tok/s(数学)、717 tok/s(提取/JSON)、669 tok/s(推理);吞吐量由DFlash接受率驱动,因此创意文本类别较低(c=64时散文约430 tok/s,自然语言约474 tok/s,此时draft接受率约22–27%,而结构化文本约46–55%)。随着并发增加,每个活动流的解码和TPOT优雅降级。
vllm-spark-omni-q36:v1.2
| 并发数 | 数学聚合tok/s | 代码聚合tok/s | 提取/JSON聚合tok/s | 最佳每请求解码p50 |
|---|---|---|---|---|
| 1 | 117.6 | 89.1 | 77.6 | 123.6 |
| 8 | 415.6 | 360.3 | 398.5 | 61.7 |
| 16 | 558.6 | 463.7 | 557.2 | 39.8 |
| 32 | 715.1 | 568.5 | 684.5 | 25.1 |
| 64 | 739.8 | 608.7 | 716.2 | 16.2 |
在相同镜像上,以真实的智能体历史对话深度测量单流(c=1)性能:
| 上下文(实测提示词) | 代码解码 | 推理解码 | 提取/JSON解码 | DFlash 接受率(最佳) |
|---|---|---|---|---|
| ~16k tokens | 90.8 tok/s | 95.9 tok/s | 106.1 tok/s | ~52% |
| ~32k tokens | 79.3 tok/s | 73.0 tok/s | 94.4 tok/s | ~58% |
草稿接受率不会随上下文增长而下降——在32k上下文时,各分类的接受率保持在42–58%。(与27B草稿模型不同,z-lab Qwen3.6-35B-A3B DFlash草稿模型是8层全注意力模型,因此从一开始就不存在滑动窗口性能下降问题——此处长上下文性能的稳定性是草稿模型的固有特性,且前缀缓存安全的DFlash路径(PR #41703)使--enable-prefix-caching免受损坏影响。)预填充速度保持较快(~4.3–5.1k tok/s),因此在32k上下文、c=1时首词输出时间(TTFT)为个位数秒级。
[!NOTE] 2026年6月19日基于确切发布的快速启动指南重新验证(全新拉取
aeon-vllm-ultimate:latest镜像 + 修正权重,DFlash n=11):多模态视觉功能端到端工作正常(图像探针测试7/7通过,0次视觉加载跳过),且在c=64时吞吐量分布零错误复现——推理分类在c=32时峰值800 tok/s,结构化分类在c=64时705–781 tok/s,创意文本在c=64时430–474 tok/s;短上下文下DFlash接受率为46–55%(结构化)/22–27%(创意文本),在16–20K tokens时保持40–45%。
完整基准测试结果见HF模型卡片:AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4。
| 组件 | 要求 | 说明 |
|---|---|---|
| GPU | NVIDIA GB10(仅限DGX Spark) | sm_120 / sm_121a Blackwell架构。其他GPU无法使用已发布镜像。 |
| 统一内存 | 128 GB | Spark默认配置 |
| 磁盘 | 35 GB 可用空间 | 镜像(~22 GB)+ 权重(~22 GB)+ 草稿模型(~1 GB)+ 预留空间 |
镜像无法在以下设备上运行:
docs/build.md)| 组件 | 版本 | 说明 |
|---|---|---|
| NVIDIA驱动 | ≥ 580.x | nvidia-smi应显示“NVIDIA GB10” |
| Docker | ≥ 25.x | 需配合nvidia-container-toolkit使用 |
| 操作系统 | Ubuntu 24.04 LTS | 已确认;其他Linux发行版可能兼容 |
DFlash草稿模型z-lab/Qwen3.6-35B-A3B-DFlash现已成为公开HF仓库——可直接通过hf download下载,无需令牌。
[!WARNING] 若您在2026年4月19日前克隆过草稿模型,必须重新拉取。早期草稿模型存在长上下文bug,会在超过~16K tokens后导致
cudaErrorIllegalAddress崩溃。修复版本已于2026年4月19日在HF发布。
如需一键复制粘贴完成所有拉取和服务部署,请参见顶部的“快速启动(复制粘贴)”部分。本节涵盖docker-compose流程、标准磁盘布局及各参数的使用理由。
# 1. 预检 — 确认匿名拉取正常
docker pull ghcr.io/aeon-7/aeon-vllm-ultimate:latest
# 2. 将两个模型拉取到标准布局
sudo mkdir -p /opt/qwen36 && sudo chown $USER:$USER /opt/qwen36
cd /opt/qwen36
export HF_HUB_ENABLE_HF_TRANSFER=1
hf download AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4 --local-dir ./qwen36-nvfp4 &
hf download z-lab/Qwen3.6-35B-A3B-DFlash --local-dir ./qwen36-dflash &
wait
# 3. 获取compose文件
curl -fsSL https://raw.githubusercontent.com/AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4-DFlash/main/examples/docker-compose.yml \
-o docker-compose.yml
# 4. 启动服务(3-5分钟后显示"Application startup complete")
docker compose up -d
docker compose logs -f
# 5. 冒烟测试(使用temperature=0启用贪婪解码→最大化DFlash加速)
curl http://localhost:8000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen36-fast",
"messages": [{"role":"user","content":"What is 17 × 23?"}],
"max_tokens": 2048,
"temperature": 0
}'
统一镜像的ENTRYPOINT为/bin/bash,因此直接使用docker run时必须传递--entrypoint vllm,然后执行serve ...(compose使用entrypoint: vllm + command: serve ...)。在DGX Spark上针对此模型的已验证生产环境参数如下:
vllm serve /models/qwen36 \
--served-model-name qwen36-35b-heretic qwen36-fast qwen36-deep \
--host 0.0.0.0 --port 8000 \
--quantization compressed-tensors \
--max-model-len 262144 \
--max-num-seqs 64 \
--max-num-batched-tokens 16384 \
--gpu-memory-utilization 0.85 \
--enable-chunked-prefill \
--enable-prefix-caching \
--trust-remote-code \
--limit-mm-per-prompt '{"image":4,"video":2}' \
--enable-auto-tool-choice --tool-call-parser qwen3_coder \
--reasoning-parser qwen3 \
--attention-backend flash_attn \
--speculative-config '{"method":"dflash","model":"/models/qwen36-dflash","num_speculative_tokens":11}'
与旧版vllm-spark-omni-q36:v1.2配置相比的主要变化:
所有AEON模型均运行在统一容器中——ghcr.io/aeon-7/aeon-vllm-ultimate:latest(即:2026-06-18-v0.23.0-dflashfix;回滚版本为:2026-06-11-pr41703)——这是基于vLLM v0.23.0源码为GB10/sm_121a构建,并融合了AEON推测解码栈的容器。
| 修复项 | 功能说明 | 在GB10上的重要性 |
|---|---|---|
| DFlash高并发修复(新增) | 将推测性草稿器的KV块表切片至非填充批次(block_table[:num_reqs]) | 草稿器之前在并发请求≥32时会崩溃(FlashAttention中填充与非填充块表形状不匹配)。现在可平稳扩展至c=64。这是上游PR #43982的移植(针对MTP已修复,但从未应用于DFlash)——在之前的镜像中仍存在且未修复。 |
| Triton NVFP4 KV缓存(PR #44389) | 软件NVFP4 KV缓存路径 | 这是sm_121a上唯一的4位KV路径(上游版本硬限制为B200)→ 每GB统一内存可提供约3倍KV容量/更长上下文。 |
| DFlash滑动窗口注意力(PR #40898) | 将草稿器的SWA层作为真正的滑动窗口运行 | 统一镜像中包含此功能,用于基于SWA的草稿器。本模型的草稿器为全注意力机制,因此不依赖此功能,但长上下文草稿接受率不受影响(32k时为42–58%,见上文)。 |
| 前缀缓存安全的DFlash(PR #41703) | 使--enable-prefix-caching在DFlash下不受corruption影响 | 允许推荐配置在启用前缀缓存的情况下不产生乱码输出,提升... |
TORCH_CUDA_ARCH_LIST=12.1a ENABLE_NVFP4_SM100=0 _C_stable_libtorch cudaErrorIllegalAddress --gpu-memory-utilization ≤0.70
本模型的修复结果:可扩展至64个并发请求且无崩溃(之前的vllm-spark-omni-q36:v1.2镜像在推测解码下c≥32时会崩溃),从短提示到32k token智能体历史均保持DFlash草稿接受率,单流服务速度约为75–132 tok/s,峰值聚合速度约为700–800 tok/s(跨类别由接受率驱动),并且——自2026-06-18视觉修复后——多模态图像输入功能正常(7/7验证通过)。本模型与原生vanilla-vLLM的对比仍需等待全新的纯原生重新基准测试,因此暂未引用原生与优化版本的加速倍数。
在 NVIDIA DGX Spark(GB10 / sm_121a)上使用 https://github.com/z-lab/dflash 推测解码的 https://huggingface.co/AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4 生产级稳定部署。
[!IMPORTANT] 请先阅读要求部分。 此镜像及其权重专为 DGX Spark(GB10 / sm_120-121 Blackwell)调优。在未重新构建的情况下,它无法在 Hopper、Ampere、B200 或其他 Blackwell 变体上运行。
| 模型 | AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4(约 22 GB,多模态 — 截至 2026-06-18 视觉修复,图像输入已正常工作) |
| 草稿模型 | z-lab/Qwen3.6-35B-A3B-DFlash(约 905 MB,可公开***拉取) |
| 硬件 | DGX Spark(NVIDIA GB10,128 GB 统一内存,sm_121a) |
| 镜像 | ghcr.io/aeon-7/aeon-vllm-ultimate:latest(= :2026-06-18-v0.23.0-dflashfix;回滚版本 :2026-06-11-pr41703) |
完整步骤 — 拉取容器、NVFP4 权重和全新的 DFlash 草稿模型,然后使用经过验证的 DGX-Spark 标志启动服务。(此 35B-A3B 草稿模型无需 --mamba-block-size — 它采用全注意力机制。)在 DGX Spark(GB10 / sm_121a)上运行;请先查看硬性要求。
# 1. Pull the unified vLLM container (anonymous pull)
docker pull ghcr.io/aeon-7/aeon-vllm-ultimate:latest
# 2. Pull the NVFP4 model weights (this repo's weights)
huggingface-cli download AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4 --local-dir ./aeon-model
# 3. Pull the DFlash drafter — FRESH (re-pull if cloned before 2026-04-19)
huggingface-cli download z-lab/Qwen3.6-35B-A3B-DFlash --local-dir ./aeon-drafter
# 4. Serve (ENTRYPOINT is /bin/bash, so pass --entrypoint vllm then serve ...)
docker run --gpus all --rm -p 8000:8000 \
-v ./aeon-model:/model:ro \
-v ./aeon-drafter:/drafter:ro \
--entrypoint vllm \
ghcr.io/aeon-7/aeon-vllm-ultimate:latest serve /model \
--served-model-name qwen36-35b-heretic qwen36-fast qwen36-deep \
--host 0.0.0.0 --port 8000 \
--quantization compressed-tensors \
--max-model-len 262144 \
--max-num-seqs 64 \
--max-num-batched-tokens 16384 \
--gpu-memory-utilization 0.85 \
--enable-chunked-prefill \
--enable-prefix-caching \
--trust-remote-code \
--limit-mm-per-prompt '{"image":4,"video":2}' \
--enable-auto-tool-choice --tool-call-parser qwen3_coder \
--reasoning-parser qwen3 \
--attention-backend flash_attn \
--speculative-config '{"method":"dflash","model":"/drafter","num_speculative_tokens":11}'
[!NOTE] 可选 — 更快重启: 在
docker run命令中添加-v ./vllm-cache:/root/.cache/vllm(需先执行一次mkdir -p ./vllm-cache),以在容器重启时保留 FlashInfer NVFP4 GEMM 自动调谐器和 CUDA 图捕获。首次启动仍需约 10–12 分钟,但后续重启可缩短至约 3–5 分钟。
有关 docker-compose 部署、3 个别名设置以及各标志的原理说明,请参见下方的部署(compose + 完整步骤)。
在当前生产镜像 ghcr.io/aeon-7/aeon-vllm-ultimate:latest(vLLM 0.23.0 + AEON sm_121a 构建 + DFlash num_speculative_tokens: 11)上按类别实测,单流(c=1)。混合领域提示集,enable_thinking=false 以确保解码速率测量准确:
| 类别 | 🟢 解码 tok/s | TTFT p50 | TPOT p50 | 预填充(PP) | DFlash 接受率 |
|---|---|---|---|---|---|
| 代码 | 91.7 | 88 ms | 10.9 ms | 509 tok/s | 33% |
| 数学 | 123.6 | 113 ms | 8.1 ms | 494 tok/s | 48% |
| 推理 | 120.6 | 120 ms | 8.3 ms | 359 tok/s | 46% |
| 散文 | 75.2 | 137 ms | 13.3 ms | 234 tok/s | 24% |
| 自然语言 | 91.8 | 104 ms | 10.9 ms | 326 tok/s | 32% |
| 提取/JSON | 79.8 | 103 ms | 12.5 ms | 468 tok/s | 28% |
单流解码在六个类别中的平均速度为 ~97 tok/s(开放式散文最低 75 tok/s,DFlash 接受率最高的数学/推理任务最高 124 tok/s)。此 A3B MoE 速度很快:数学/代码/推理提示的单流速度可达 120+ tok/s,因为 DFlash 草稿模型接受了 46–48% 的提议;开放式散文/提取任务在较低接受率下速度稳定在 75–92 tok/s。
[!NOTE] 标准基准待测定。 目前尚无此模型的标准 vanilla-vLLM 基准——当前版本的全新纯 vanilla 基准测试(无 DFlash、无 AEON/sm_121a 优化)仍待运行,因此此处不引用标准与优化版本的速度提升倍数。上述数据均在优化后的
aeon-vllm-ultimate:latest(vLLM 0.23.0)构建版本上测得。此镜像为 DGX Spark 带来的优势在于支持 c=64 并发(先前镜像在推测解码下 c≥32 时会崩溃)以及长上下文草稿接受率稳定性——详见我们为 DGX Spark 修复的问题。
如需一键复制粘贴以拉取所有内容并启动服务,请参见顶部的快速开始(复制粘贴)。本节涵盖docker-compose流程、标准磁盘布局以及每个标志的原理说明。
# 1. 预检检查 — 确认匿名拉取正常
docker pull ghcr.io/aeon-7/aeon-vllm-ultimate:latest
# 2. 将两个模型拉取到标准布局中
sudo mkdir -p /opt/qwen36 && sudo chown $USER:$USER /opt/qwen36
cd /opt/qwen36
export HF_HUB_ENABLE_HF_TRANSFER=1
hf download AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4 --local-dir ./qwen36-nvfp4 &
hf download z-lab/Qwen3.6-35B-A3B-DFlash --local-dir ./qwen36-dflash &
wait
# 3. 获取compose文件
curl -fsSL https://raw.githubusercontent.com/AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4-DFlash/main/examples/docker-compose.yml \
-o docker-compose.yml
# 4. 启动服务器(首次显示“Application startup complete”需要3-5分钟)
docker compose up -d
docker compose logs -f
# 5. 冒烟测试(temperature=0以启用贪婪模式→最大化DFlash加速)
curl http://localhost:8000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen36-fast",
"messages": [{"role":"user","content":"What is 17 × 23?"}],
"max_tokens": 2048,
"temperature": 0
}'
aeon-vllm-ultimate:latest)统一镜像的ENTRYPOINT为/bin/bash,因此直接docker run必须传递--entrypoint vllm,然后是serve ...(compose使用entrypoint: vllm + command: serve ...)。在DGX Spark上针对此模型经过验证的生产环境标志如下:
vllm serve /models/qwen36 \
--served-model-name qwen36-35b-heretic qwen36-fast qwen36-deep \
--host 0.0.0.0 --port 8000 \
--quantization compressed-tensors \
--max-model-len 262144 \
--max-num-seqs 64 \
--max-num-batched-tokens 16384 \
--gpu-memory-utilization 0.85 \
--enable-chunked-prefill \
--enable-prefix-caching \
--trust-remote-code \
--limit-mm-per-prompt '{"image":4,"video":2}' \
--enable-auto-tool-choice --tool-call-parser qwen3_coder \
--reasoning-parser qwen3 \
--attention-backend flash_attn \
--speculative-config '{"method":"dflash","model":"/models/qwen36-dflash","num_speculative_tokens":11}'
与旧版vllm-spark-omni-q36:v1.2配置相比的主要变化:
| 标志 | 当前值 | 旧值 | 变更原因 |
|---|---|---|---|
| 镜像 | aeon-vllm-ultimate:latest | vllm-spark-omni-q36:v1.2 | 统一的vLLM 0.23.0 sm_121a镜像;旧镜像在DFlash下并发数c≥32时会崩溃 |
--quantization | compressed-tensors | compressed-tensors | 未变更(llm-compressor NVFP4) |
--attention-backend | flash_attn | flash_attn | 未变更(主体后端) |
DFlash num_speculative_tokens | 11 | 15 | n≈10–11为最优值——当n超过~11时,接受率/长上下文保真度下降;n=15会浪费草稿计算资源 |
| 草稿器注意力后端 | 默认(不设置) | — | 非因果DFlash草稿器需要默认后端/BF16 KV缓存;不要在规格配置中添加attention_backend或设置--kv-cache-dtype |
--gpu-memory-utilization | 0.85(仅LLM)· 0.70(共存部署) | 0.85 | 当LLM是唯一GPU服务时,0.85可最大化KV缓存,且在GB10上安全(低于0.88上限);仅当共存部署ASR/TTS/嵌入模型时,降至≤0.70(预留页面交换空间) |
--max-num-batched-tokens | ******* | 65536 | 65536超出编译范围上限(compile_ranges_endpoints: [32768])→ 回退至即时预填充模式 + 加载时统一内存压力过大。***保持在编译范围内,释放数GB预填充激活内存,且吞吐量不变——分块预填充可保留完整256k上下文 |
--mamba-block-size | (不设置) | — | 此草稿器的注意力为全注意力机制;无需覆盖mamba-block-size |
DFlash草稿器是向统一镜像的无回归迁移——8层全注意力草稿器在各并发数下的表现与旧镜像一致(无长上下文崩溃问题,且n≈11以上无性能增益),因此本次改进的价值在于统一容器 + 修复c≥32并发崩溃问题,而非原始单流速度提升。
[!NOTE] 若设置
max_tokens(当前):vllm-spark-omni-q36的各版本系列(v1/v1.2/v2)已被统一镜像ghcr.io/aeon-7/aeon-vllm-ultimate:latest取代,适用于所有生产环境。拉取该镜像——它内置了GB10 CUTLASS NVFP4默认配置以及下文所述的v0.23.0修复集。
所有AEON模型均运行在统一容器上——ghcr.io/aeon-7/aeon-vllm-ultimate:latest(即:2026-06-18-v0.23.0-dflashfix;回滚版本:2026-06-11-pr41703)——基于vLLM v0.23.0源码构建,针对GB10/sm_121a优化,并融合AEON推测解码栈。
| 修复项 | 功能说明 | 在GB10上的重要性 |
|---|---|---|
| DFlash高并发修复(新增) | 将推测性草稿器的KV块表切片为非填充批次(block_table[:num_reqs]) | 草稿器之前在并发请求≥32时会崩溃(FlashAttention中填充与非填充块表形状不匹配)。现在可平稳扩展至c=64。移植自上游PR #43982(针对MTP修复,未应用于DFlash)——旧镜像中此问题一直存在且未修复 |
| Triton NVFP4 KV缓存(PR #44389) | 软件NVFP4 KV缓存路径 | sm_121a上唯一的4位KV路径(上游版本硬编码为B200专用)→ 统一内存每GB容量提升~3倍/支持更长上下文 |
| DFlash滑动窗口注意力(PR #40898) | 以真实滑动窗口模式运行草稿器的SWA层 | 统一镜像中包含基于SWA的草稿器支持。本模型的草稿器为全注意力机制,因此不依赖此功能,但长上下文草稿接受率不受影响(32k时为42–58%,见上文) |
| 前缀缓存安全DFlash(PR #41703) | 使--enable-prefix-caching在DFlash下避免输出损坏 | 推荐配置可保持前缀缓存启用而无乱码输出,对重复长智能体历史至关重要 |
| sm_121a原生构建 | TORCH_CUDA_ARCH_LIST=12.1a,ENABLE_NVFP4_SM100=0 | 编译GB10实际调度的SM120系列CUTLASS NVFP4/FP8内核——实现真正的4位张量核心吞吐量,无B200专用无效内核 |
| sm_121a启动+CUDA图补丁 | RTLD延迟加载_C_stable_libtorch;推测解码CUDA图捕获大小对齐 | 解决GB10上MXFP4(仅SM100支持)符号缺失导致的启动问题;防止推测解码下部分接受解码步骤出现cudaErrorIllegalAddress错误 |
| 统一内存调优 | --gpu-memory-utilization ≤0.70,完整CUDA图,异步调度,z-lab DFlash草稿器 | GB10的LPDDR5X内存池由CPU+GPU共享;保守的KV缓存预留空间可避免页面交换,同时保持完整图+推测解码吞吐量 |
该模型的修复结果: 可扩展至64个并发请求且无崩溃(旧版vllm-spark-omni-q36:v1.2镜像在推测解码下并发数c≥32时会崩溃),在从短提示到32k token智能体历史的场景中均保持DFlash草稿接受率,并以~75–132 tok/s单流速度 / ~700–800 tok/s峰值聚合速度(跨类别由接受率驱动)提供服务;且自2026-06-18视觉修复起,多模态图像输入功能正常(7/7验证)。该模型与原生vLLM的对比基准测试仍待最新原生版本重新执行,因此暂未提供原生与优化版本的速度提升倍数。
早期v1权重从***键中移除了language_model.前缀,以匹配纯文本模型类——这需要vLLM注册器+键重命名补丁,且在生产环境中不稳定(实际对话会话中偶发cudaErrorIllegalAddress崩溃)。
v2(当前版本)直接从tvall43/Qwen3.6-35B-A3B-heretic使用AutoModelForImageTextToText重新量化,保留:
Qwen3_5MoeForConditionalGeneration)model.language_model.visual.*下,导致vLLM静默跳过加载(图像输入→!!!!),直至2026-06-18视觉修复(见下文)model.language_model.layers.X.*键结构——vLLM多模态类可原生加载,无需前缀移除补丁vLLM通过标准多模态类提供服务——推理热路径中的代码路径更少,负载下稳定性显著提升。Travis运行了多个实时对话会话(Celina),未出现单次崩溃,而v1版本几乎每次交互都会崩溃。
v2保留了ViT的BF16权重,但量化时的ignore正则表达式将333个视觉张量嵌套深度多了一层——错误地命名为model.language_model.visual.*(语言模型的子节点),而非vLLM的Qwen3_5MoeForConditionalGeneration预期的同级节点model.visual.*。vLLM静默跳过加载整个视觉塔并以未初始化状态运行,因此文本输出正常,但任何图像输入都会返回!!!!乱码。
来自真实用户的反馈,见证轩辕镜像的优质服务