llama.cpp MTP推测解码简化:2026年7月在密集模型上大获成功,MoE上表现平平

Reddit r/LocalLLaMA 工具

摘要

对llama.cpp中原生MTP推测解码的分析表明,像Qwen3.6-27B这样的密集模型获得了显著的加速(1.4倍至2.2倍),但在MoE架构上结果不尽人意,由于每步开销已经很低,收益微乎其微。

想要总结一下当前的实际状况,因为几个月前的讨论相当分散。简而言之:原生MTP(多令牌预测)支持通过 `--spec-type draft-mtp` 参数落地,让模型可以直接使用自带的MTP头,而无需单独的草稿模型。Qwen3.6、DeepSeek和GLM都配备了可以利用此功能的MTP头。早先的推测性检查点合并(四月时的PR #19493)为此奠定了基础,使得该方法在混合/循环架构上变得可靠,因为旧的回滚方法对这些架构根本无效。实际结果因架构而异:密集模型:确实有实质性提升,人们报告在Qwen3.6-27B密集模型上获得了约1.4倍到2.2倍的加速。MoE模型:提升幅度小得多,有时甚至没有。仔细想想这个道理就通了:MoE每步解码的活跃参数成本已经很低,因此MTP可以节省的额外开销所剩无几。同样的模式也出现在Gemma 4上:密集版的31B模型获得了显著的MTP加速,而MoE变体几乎没变化。值得一提的是,旧式推测解码(单独的轻量草稿模型、n-gram匹配)的独立验证结果参差不齐。至少有一项针对Qwen3.6-35B-A3B在单张RTX 3090上的详细基准测试发现,ngram-cache、ngram-mod或经典草稿模型方法均未带来净加速,某些配置甚至出现了负收益。因此,如果你想加速推理,现在更可靠的手段似乎是原生MTP头,而不是那些较旧的草稿模型技巧。
查看原文

相似文章