桃子桃子快讯
返回首页
工具

DFlash2 对比 MTP 投机解码实测:速度快两成但上下文缩水近四成

Reddit 用户在 RTX 5090 上对比 DFlash2 与 MTP 两种投机解码方案,DFlash2 生成速度快…

2026.08.21 · 周五4 分钟阅读

一名 Reddit 用户(u/Opening-Broccoli9190)在 r/LocalLLaMA 板块发布了一组本地推理实测,对比了 DFlash2 与 MTP(Multi-Token Prediction)两种投机解码方案在 Qwen3.8 27B Dynamic v3 GGUF 权重、RTX 5090 上的表现。测试使用 llama.cpp 服务端,量化档位为 Q8_K_L,KV 缓存使用 q8_0,并开启了 FlashAttention。

核心结论是:DFlash2 在 token 生成速度上比 MTP 快约 20%,代价是可用上下文窗口缩小约 38%;而在 100K 以上的长上下文任务中,DFlash2 因压缩与边际收益递减反而会失去优势。

逐档位 TPS 数据

测试分别在 4.2K、16.4K、65.6K 三档输入长度下采样,对比 Prompt 解析速度与 token 生成速度(单位:tokens/s):

  • 4.2K:解析速度 MTP 以 11.6% 领先(2,139 vs 1,917);生成速度 DFlash2 以 20.7% 领先(104.4 vs 86.5)。
  • 16.4K:解析速度 MTP 领先 3.3%;生成速度 DFlash2 领先 17.1%(102.0 vs 87.0)。
  • 65.6K:解析速度基本持平;生成速度 DFlash2 领先 22.4%(88.3 vs 72.2)。
  • 加权平均:解析速度 MTP 领先 1.3%;生成速度 DFlash2 领先 20.2%。

可以看出,DFlash2 在生成阶段的提速效果随上下文增长不仅没有衰减,反而略有放大;但解析阶段的优势明显属于 MTP。

总往返延迟

端到端往返时间方面,DFlash2 在各档位都更短,但优势随输入长度递减:

  • 4.2K:7.09 s vs 7.88 s,DFlash2 领先 11.1%。
  • 16.4K:12.40 s vs 13.03 s,DFlash2 领先 5.1%。
  • 65.6K:39.42 s vs 40.62 s,DFlash2 领先 3.0%。

上下文窗口对比

  • DFlash2:90,112 tokens
  • MTP:124,416 tokens
  • 差距:MTP 多出 34,304 tokens,可用上下文多 38.1%。

测试者据此提示:长任务或大上下文场景(>100K)下,DFlash2 会因压缩和递减收益而失去速度优势。

配置要点

DFlash2 模式通过 --spec-type draft-dflash 启用,搭配独立的 draft 模型权重(Q8_0 量化),并将 --spec-draft-n-max 设为 4;MTP 模式参数类似,仅将 spec-draft-n-max 调为 2,并使用主模型自身的 MTP 头作为 draft。两者均启用 q8_0 的 KV 缓存与 KV offload,batch-size 512、ubatch-size 128。

结论与适用建议

如果任务以短到中等上下文、追求单次响应延迟为主,DFlash2 是更优选择;若需要处理长上下文或多轮长会话,MTP 在保留上下文窗口的同时仍能给出可接受的加速比例,是更稳妥的选项。

信源