Files
qwen38-flash-next-rtx6000d/docs/mtp-tuning.md
T

4.5 KiB
Raw Blame History

MTP 参数优化试验计划

基准提交:918b78a;日期:2026-09-18。当前默认 MTP 2、128K、FP8 KV、prefill batch 2048、GPU memory utilization 0.985、单活动请求。

顺序与固定变量

  1. 保存当前 Compose 和运行状态。首先在当前配置跑筛选集,获得本轮对照。
  2. 分别仅把预测步数改为 1、3Graph capture sizes 随验证长度改为 [1,2]、[1,4]。保持官方镜像 digest、模型 revision、128K、视觉编码器、FP8 KV、显存预算和并发不变。
  3. 对最合适的步数,仅把 max-num-batched-tokens 从 2048 改到 1024,再跑同一筛选集。
  4. 候选若有明确收益,补做完整套件,包括 16384-token 输出和至少 600 秒混合负载,及 xhigh/medium 质量题。只有通过后才替换默认;否则恢复原 MTP 2。

筛选集

沿用 qualification.py 的算术、JSON、多轮、2048×1536 OCR、多图、120 秒视频、三类各三次 2048-token 输出、接近 128K 检索、长文本加图片及排队请求。筛选阶段跳过 16384-token 单次长输出及持续负载,完整阶段再补足。另运行 medium 正常 EOS 质量题,包括生成代码的固定测试。

记录:模型和 KV 显存、KV 容量、MTP 接受率、TTFT、解码速度、请求总耗时、错误、OOM、温度和输出正确性。不同输出文本不声称质量等价;固定长度只作为吞吐测试。缓存状态影响长输入,分别记录首次和重复结果,不宣称未控制缓存状态的冷启动对照。

判定

  • 任一功能/质量回归、OOM、服务退出:不提升为默认,保存失败证据。
  • 启动要求仍能容纳 128K,不通过降低上下文或关闭视觉让候选通过。
  • 同类计时三次中位数;约 5% 以内变化视为证据不足,优先保留原配置。
  • 选择综合收益,不只取峰值速度。步数增加但速度下降、首 token 明显恶化或缓存更少,应记录并拒绝。
  • batch 1024 仅在 KV/长上下文或显存收益可见、且生成速度没有明显下降时进入完整验证;如纯粹降低 prefill 吞吐则恢复 2048。
  • 不再提高 0.985 显存比例,不增加并发。实验中关闭自动重启,避免失败循环加载;正式配置使用 unless-stopped。

状态:四组筛选完成,各 44 条记录通过;默认配置保持不变。所有回执存入 audit/tuning/,旧验收证据保留。

步数筛选的中间结论

三类各 3 次 2048-token 计时,中位数 token/s

步数 代码 中文 推理
1 109.63 112.61 108.28
2 123.72 128.75 122.11
3 123.55 134.24 123.53

MTP 1 明显更慢;MTP 3 的最大提升约 4.3%,其余基本相同,未达到事先设定的约 5% 明显收益门槛。继续以 MTP 2 做 batch 1024 筛选,不因短算术请求的高速度换成 MTP 3。

batch 1024 筛选结论

保持 MTP 2 后,KV 预算从 2.78 GiB 增至 2.96 GiB,容量从 146622 增至 155509 token(约 +6.1%)。三类解码速度基本不变,但长输入首 token 变慢:

请求 TTFT batch 2048 batch 1024
接近 128K 首次检索 14.426 秒 17.993 秒
相同前缀再次检索 0.702 秒 0.854 秒
长文本+图片 12.815 秒 15.955 秒

额外缓存没有改善本组长上下文请求,首 token 反而约慢 22%–25%。因此不将 1024 提升为默认,也不因理论上的缓存增量继续完整压力验证。未测试不同于本组的真实业务分布,不能宣称 1024 在所有场景都更差。

最终选择

继续保持 MTP 2、batch 2048、128K、FP8 KV、0.985 GPU 预算、单活动请求、保留视觉能力。MTP 1 更慢;MTP 3 长输出收益不明显且缓存更少;batch 1024 缓存略增但长输入更慢。本轮没有发现足以替代现有默认值的配置。

完整持续负载只对收益明确的候选开展。本轮候选在筛选阶段没有达到收益标准,所以保留此前已完成完整验证的配置,不将筛选测试描述成新的完整压力测试。

KV 容量补充:MTP 1/2/3 在相同 2.78 GiB KV 预算下分别为 159669 / 146622 / 137414 token。MTP 3 的 128K 余量最小,因此没有理由为最多约 4.3% 的单项计时增益替换默认步数。

验收归档:4 组各 44 条记录,共 176 条筛选/质量记录通过;两段资源监测均未发生主机 OOM 或触发保护。试验结束后配置与试验前逐字一致,容器 healthy、OOMKilled=false、restart=unless-stopped。详见 audit/tuning/summary.json、各组原始记录和 audit/tuning/final-state.json