在 2 张 RTX 5090 上运行 Qwen3.8-Flash-Next,解码速度达 504 tok/s:QEngine 1.3.1 的解码速度约为我试过的第二快引擎的 1.5–1.9 倍(数据、注意事项,以及仍然棘手的问题)
摘要
一项详细的基准测试表明,QEngine 1.3.1(针对 RTX 5090 编译)是单流解码速度最快的 Qwen3.8-Flash-Next 引擎,速度约为 Strata 的 1.4–1.9 倍、调优后的 vLLM 的 3 倍,其 KV-in-RAM 模式可显著提升重新访问空闲会话时的热启动性能。
https://github.com/bpx03/QEngine(不是我的仓库,功劳归 bpx03)QEngine 原本是为 3 张 RTX 3090 构建的。我成功将它编译为适用于 RTX 5090 的版本。现在,我已经在同一台机器上,用四种不同的引擎运行了 Qwen3.8-Flash-Next。QEngine(bpx03,v1.3.1)的单流解码速度明显领先,在智能体提示词处理延迟上与 Strata 持平,而且它的 KV-in-RAM 模式能显著降低恢复闲置对话的开销。详情如下,也包括那些让它显得没那么出色的部分。配置:2 张 RTX 5090(每张 32 GB)、Threadripper PRO 3975WX、251 GB 内存、262K 上下文。使用 QEngine 的 Flash-Next INT4 AutoRound 量化版本。README 只列出了 sm_86,因此我将 CMAKE_CUDA_ARCHITECTURES 从 86 改为 120,编译出了 sm_120 版本(nvcc 13.3、g++-13)。没有其他改动。启动后 53 秒即可提供服务。速度(club-3090 bench.sh,所有引擎均使用相同脚本和提示词)引擎 / 量化 解码:叙述文本 / 代码(tok/s)预填充:@10K / @90K(tok/s)QEngine 1.3.1(KV 位于显存,默认)370 / 439 ~5.7K / ~7.3K QEngine 1.3.1(FLASH_KV=ram)406 / 504 ~6.2K @10K Strata ISTA IQ3_S 214 / 293 ~5.1K / ~10.0K Strata UD-IQ4_XS 180 / 239 4,264 / 8,399 bucko vLLM fast-256k(已调优)135 / 141 2,888 / 3,886 bucko vLLM ple(随附配置)120 / 118 ~2.25K / ~3.1K Infernix(sdekok 分支,TP2)14-18 无数据 请谨慎看待解码这一栏。QEngine 的专家缓存会根据近期使用情况自适应调整,而 bench.sh 会重复相同的提示词,因此这些结果接近最佳情况。在之前使用多样化流量的测试中,我测得的单流速度约为 300-400 tok/s(hermes 智能体流量每次请求为 330-470)。Strata 的缓存覆盖了约 99.5% 的路由专家权重,因此重复提示词并不会给它带来帮助。公平地比较,大约是 Strata 的 1.4-1.9 倍、bucko 的约 3 倍。预填充则各有胜负。QEngine 在 10K 时更快,在 90K 时比 Strata 慢,因为 Strata 的速率会随上下文深度增加而提高,而 QEngine 基本保持不变。智能体延迟(12 轮工具使用基准测试,上下文增长至 35K)前缀缓存生效时,第 12 轮的提示词读取耗时:QEngine 1.3.1:1.75 秒 Strata IQ4_XS:1.7-1.9 秒 ThinkingCap 27B dual-fast:2.07 秒 exl3:3.5-3.9 秒 bucko:4.36 秒 QEngine 和 Strata 在这里持平(QEngine 的 rc4 版本在同一测试中为 1.4 秒,因此这次结果与“约 1.5-1.8 秒”的差异处于测试噪声范围内)。两者的速度都约为 bucko 的 2 倍。闲置对话:FLASH_KV=ram 1.3.1 可以将 KV 缓存保留在锁页主机内存中(13.5 GB 内存池,约 100 万 token),而不是显存中。我测试了 8 个各约 58K token 的对话,然后处理了 400K token 的其他流量,再逐一返回这些对话:KV 位于内存:8 个对话全部缓存命中,首次回复耗时 1.56-2.01 秒。KV 位于显存:8 个中只有 2 个缓存命中。其余 6 个重新预填充耗时 8.7-9.4 秒,与冷启动(8.85 秒)差不多。回答仍然正确,所以损失的是响应速度,而非正确性。内存模式在这里的单流解码速度也快了约 10%,但在 8 路并发、每路 64K 上下文时慢了约 10%(每路 124 对比 139 tok/s)。每种模式各启动一次、测试一遍。质量与稳定性 通过 omp 智能体测试框架(44 项助手任务集,推理强度 low,单次采样):1.3.1 得分 44/44,而 1.3 的两次测试均为 42/44。1.3 在 medium 和 xhigh 推理强度下均为 43/44。一套包含 6 项任务的子智能体委派测试,在启用和不启用委派的情况下均通过了 6/6。1.3 到 1.3.1 的差距只涉及一道任务,因此应视为噪声。编程测试(aider-polyglot-30,开启思考,推理强度 low,单次测试),使用 rc4 版本:QEngine 26/30。Strata UD-IQ4_XS 24/30,UD-Q4_K_XL 25/30(重复测试为 24-26),ThinkingCap 27B 17/30。26 对比 24-26 仍处于 Strata 单个配置的重复测试波动范围内,因此客观的说法是 INT4 AutoRound 量化在编程上并不更差,而不是更好。我尚未在 1.3.1 上重跑这项测试。我之前也运行过自己常用的多组智能体/工具使用测试套件;QEngine 与其他 Flash-Next 引擎表现持平,差异处于噪声范围内。总结 在 2 张 RTX 5090 上,QEngine 1.3.1 是我测过的单流解码速度最快的 Flash-Next 引擎,在智能体提示词处理延迟上与 Strata 持平,而 KV-in-RAM 模式对长时间闲置的会话确实很有帮助。编程质量看起来与 Strata 的 GGUF 量化版本持平。代价是显存余量紧张、需要从源码编译,以及运行实践积累不如 vLLM 或 Strata 丰富。欢迎试试,开发者非常鼓励大家尝试。更多资源见 https://github.com/noonghunna/club-3090。Club 也欢迎大家参与!
相似文章
Qwen3.8-Flash-Next 在双 RTX 3090 + DDR4 上:解码速度从 17 提升至 25-29 令牌/秒,使用专家缓存 PR
用户基准测试并详述了 llama.cpp 中的 GPU 常驻专家缓存 PR,该 PR 将 Qwen3.8-Flash-Next 在双 RTX 3090 系统上的解码速度从 17 提升至 25-29 令牌/秒。
Qwen3.8-Flash-Next (125B) 在2021款32GB M1 Max上达到12-15 token/s
MoEspresso 3 是一个推理引擎,在配备32GB RAM的2021款M1 Max上,为Qwen3.8-Flash-Next模型实现了每秒12-15个解码token的速度。它采用Cache-Prior等技术优化性能,并在基准测试中超越了部分托管解决方案。
搭配 Qwen3.8 Flash Next UD-Q4_K_XL 的 Strata
一位用户报告称,在配备 RTX PRO 6000 的 Strata 上运行采用 Unsloth UD-Q4_K_XL 量化的 Qwen3.8-Flash-Next 时,单请求解码速度表现出色;在文本写作、计数、编程和推理任务中,其吞吐量约为同一 GPU 上 vLLM 的 2 倍。
Qwen3.8-Flash-Next @ 1.66bpw-exl3 在 36GB 显存下稳定运行
Qwen3.8-Flash-Next 以 1.66bpw EXL3 量化版本发布,可完全装入一张 36GB 的 RTX 5090 中,无需卸载专家模块,实现 200-300 t/s 的稳定推理,且不会陷入思考循环。
@Oluwaphilemon1: 在12GB RTX 5070上运行的Qwen3.8-Flash-Next速度只有15 tok/s,显然这不够好。所以与其买更大的G…
一位用户构建了一个名为Strata的开源推理引擎,用于优化Qwen3.8-Flash-Next在普通硬件上的运行,将速度从最初的15 tok/s提升到了最高65.1 tok/s。