# 优化结果:采用 eager + 前缀缓存 2026-09-17,单台 DGX Spark / GB10,固定模型与镜像版本不变。 最终启用前缀缓存及两处 Mamba 块对齐修正;保持原始权重、BF16 KV、MTP=2、 262144 上下文、GPU 内存比例 0.80、并发 4、batch token 上限 2048、eager 执行。 ## 实测比较 短请求取 3 次的中位数;长请求每种条件仅一个首次请求和一个重复请求,不是统计显著性结论。 长输入比较使用相同 1024 输出预算;首次 `cold` 未清空 OS 页缓存。 | 指标 | 原 eager / 无前缀缓存 | eager / 有前缀缓存 | |---|---:|---:| | 短回答生成速度(近似 tokens/s) | 30.502 | 30.261 | | 短请求首 token(秒) | 0.2740 | 0.2798 | | 2 路并发总吞吐(tokens/s) | 41.120 | 40.862 | | 4 路并发总吞吐(tokens/s) | 68.149 | 71.728 | | 8K 首次请求首 token(秒) | 4.1596 | 3.9772 | | 8K 重复请求首 token(秒) | 3.4781 | 0.8719 | | 32K 首次请求首 token(秒) | 14.1514 | 15.3437 | | 32K 重复请求首 token(秒) | 14.0532 | 1.3408 | 重复输入的首 token 延迟分别降低约 75% 和 90%。收益针对可复用前缀; 32K 首次输入本次反而慢约 8%,短回答生成速度基本不变,不适合宣称所有请求都更快。 **首 token 包括 reasoning,不等于最终正文出现。** 8K 重复请求本次完整耗时由 8.1172 秒变成 18.8017 秒,生成的思考长度不同; 32K 重复请求完整耗时由 17.2601 秒降至 10.4757 秒。 因此不能把首 token 的约 10 倍改善宣传成完整回答快 10 倍。温度 0 也不保证思考过程逐字一致。 ## 缓存正确性与运行状态 - 8K / 32K 检索均正确,正常 stop;实际 prefix hit 增量分别为 6400 / 30400 tokens。 - 同一份约 11K token 的档案,连续查询前、中、后三个位置,再重复第一问,4 次答案精确匹配。 这组专项测试实际命中增量为 24000 tokens。 - 算术、中文、简单代码检查、2/4 并发、自动工具调用通过。 - 本轮 KV 缓存 15.11 GiB,日志报告 534426 token 总容量;该数字随启动环境变化。 - 主机测试后 used 约 103 GiB,available 约 18 GiB;约 258 MiB swap 存量不是持续换页速率。 - 最终服务健康,restart=unless-stopped。原 MinerU 和旧 Qwen3.6 继续停止。 - 未压测完整 262K 输入、长期高并发及多模态;这些小样本不代表全面质量测评。 ## 未采用的 CUDA Graph 实验 新 nightly 使用 runtime breakable CUDA Graph。 最初仅配置 splitting_ops 时,CPU 查表仍在捕获范围内;随后只包裹查表, 又遇到 capture-time 前置哈希 kernel 未执行、索引未初始化的问题。 将哈希与查表合并为 eager-break custom op 后,小型 GPU 变更输入重放测试通过,完整模型也启动成功。 该候选单流中位数 31.799 tokens/s(约 +4.3%),但 32K 重复请求用尽了最初的 256 输出预算, 全部为 reasoning,没有最终正文,因而未通过完整验收。后台按设计恢复了原 eager 服务并完成 smoke test。 这不能证明图执行算错;候选没有以更高输出预算重新完成验收,且性能收益有限,因此不作为默认。 代码与说明单独保存在 `experiments/graph/`,不影响最终部署。 ## 复现与回退 - 方法:`benchmark-method.md`。 - 原始数据:`results/eager.jsonl`、`results/eager-long-1024.jsonl`、 `results/graph2.jsonl`、`results/prefix-eager.jsonl`、`results/prefix-eager-check.jsonl`。 - `scripts/start.sh no-prefix`:保留 262K + MTP,关闭前缀缓存。 - `scripts/start.sh baseline`:32K,不启用 MTP 和前缀缓存。 - `scripts/start.sh`:默认前缀缓存优化配置。 修正依据: https://github.com/blazux/qwen3.8-Flash-DGX/blob/main/src/patch_mamba_block_size.py ## 后续 2048 预算复测 上述 CUDA Graph 未完成验收是首次实验的状态。后续 graph+前缀缓存组合已通过三轮复测, 短回答中位速度提升约 4.4%,默认仍保留 eager。详见 [复测报告](cuda-graph-retest.md)。