4.8 KiB
Qwen3.8 Flash-Next on RTX 6000D
2026-09-18 已完成部署和验收。保留文字、图片、视频能力;采用 NVIDIA NVFP4 权重、原生 FP8 PLE 主机内存卸载、FP8 KV、128K 上下文及 FULL CUDA Graph。单个活动请求,MTP 2 已通过扩展配对验证并启用,GPU 预算为 0.985。
社区代码经过审计后仅作为参考,没有执行社区启动脚本或使用社区镜像。审计范围和取舍见 源码审计,实测数据见 验收结果。
仓库导航
-
参数筛选结果:已比较 MTP 1/2/3 和 prefill batch 1024,继续保留 MTP 2+2048。
-
compose.yaml、Dockerfile:已验收部署配置与固定镜像。 -
patches/:最小补丁、精确源码保护及许可证。 -
MTP 完整验证:长解码提升约 58%–67%,98 个负载请求及两组各 7 个质量任务通过;包含缓存延迟取舍。
-
MTP 初测记录:历史短测试和当时的暂缓决定,已由完整验证更新。
-
部署心得:取舍、踩坑、优化方向及升级方法。
-
scripts/:功能、上下文、速度和资源验证工具。 -
audit/runtime/:2026-09-18 历史原始回执,不代表实时状态。
本仓库不保存 SSH 密码、API key、私有代理配置、模型权重或运行缓存。
调用
- OpenAI 兼容 Base URL:
http://172.16.104.92:8000/v1 - 模型名:
qwen3.8-flash-next - API key:服务器
/data/flash-next/project/secrets/api-key,不纳入项目。 - 健康接口:
/health;业务接口需要 Bearer API key。 - 131072 token 是输入、思考和最终输出的总预算。图片和视频也消耗上下文和计算资源。
在服务器执行以下示例,不会将密钥写进脚本:
cd /data/flash-next/project
python3 - <<'PY'
import json, urllib.request
from pathlib import Path
body = {'model': 'qwen3.8-flash-next', 'messages': [{'role': 'user', 'content': '你好,请介绍一下自己。'}], 'max_tokens': 1024, 'reasoning_effort': 'medium'}
req = urllib.request.Request('http://127.0.0.1:8000/v1/chat/completions', data=json.dumps(body).encode(), headers={'Content-Type': 'application/json', 'Authorization': 'Bearer '+Path('secrets/api-key').read_text().strip()})
print(json.load(urllib.request.urlopen(req, timeout=180)))
PY
图片和视频请求示例见 scripts/multimodal.py,使用 image_url 和 video_url 内容块。
固定版本
- 官方 vLLM commit:
0bfc7a15d095fe83ecc82b50561a93c177fece2d,镜像 digest 写在 Dockerfile。 - NVIDIA 模型 revision:
fc694b54fb0174e0913e6adf86691ef85a4ead47。 - 11 个 safetensors 文件全部通过 SHA256 校验。
- PLE 保留原生 FP8 数据及缩放,常驻锁页 CPU 内存,通过 UVA 查表;本配置不使用磁盘 mmap PLE。
- 额外补丁仅两处 Mamba prefix block alignment 修复;修改前核对精确源码哈希,保留出处和许可证。
不要换成浮动 nightly 后继续沿用本项目的验收结论。
运维
服务器目录 /data/flash-next/ 下,project/ 是部署项目,models/ 为权重,cache/ 为缓存,audit/ 和 logs/ 保存验证证据。
cd /data/flash-next/project
docker compose build
docker compose up -d
docker compose logs --tail 100 -f
# 主动停止;unless-stopped 会尊重手动停止
# docker compose stop
Compose 默认绑定回环地址;服务器 .env 设置 BIND_ADDRESS=0.0.0.0 提供内网访问。API key 文件必须存在。新环境可参考 .env.example,在 secrets/ 生成随机密钥,目录权限 0700、文件权限 0600。镜像和模型下载代理属于机器私有配置,不写入项目。
已移除本机旧 MinerU、旧 27B 容器、相关旧镜像和模型目录。保留操作系统、SSH、网络和已修复的 NVIDIA 驱动。DGX Spark 服务配置未改动。
复测
python3 scripts/acceptance.py --output /data/flash-next/audit/acceptance-new.jsonl
python3 scripts/long_context.py --tokens 128000 --output /data/flash-next/audit/context-new.jsonl
python3 scripts/benchmark.py --output /data/flash-next/audit/benchmark-new.jsonl
脚本拒绝覆盖同名结果。长上下文验证为固定位置检索及前缀复用;多模态验证为合成图片和短视频;不代表综合质量评测或长期压力测试。当前基线优先单请求和多模态能力,额外并发、更大或更长的视频应另行测试。
默认配置与回退
当前 compose.yaml 为 MTP 2,实际运行器使用 FULL_DECODE_ONLY Graph。compose.baseline.yaml 保留无 MTP 的 0.96 GPU 预算配置。长生成优先使用 MTP;大上下文反复短问答可能更适合无 MTP,因为可复用 KV 容量更大。切换方法和完整证据见 MTP 完整验证。