我在exo中为Qwen3.6 MLX模型添加了原生MTP支持;以下是精确度和速度结果
摘要
为exo本地推理工具添加了对Qwen3.6 MLX模型的原生多token预测(MTP)支持,在M5 Max笔记本上对27B模型实现了高达2倍的加速,同时保持精确度。
我对exo做出了第一项贡献:为Qwen3.6风格的MLX检查点添加了原生多token预测(MTP)支持。希望它能派上用场。个人动机很简单:我在等待Mac Studio到货,并希望用exo将它们组成本地分布式推理集群。原生MTP看起来是在这套配置落地前值得搞对的一块拼图。对于受支持的模型卡片,它应该开箱即用。macOS设置默认开启,CLI路径会启用原生MTP,除非设置了`EXO_NATIVE_MTP_ENABLED=0`。当前的原生MTP路径仅限单节点:如果exo将模型分布到多台机器上,目前仍会回退到普通路径。我最关心的是精确度。MTP头会草拟候选token,但目标模型在输出任何内容之前仍会对其进行验证。对于贪婪解码,目标是生成与仅目标路径相同的token ID。对于采样,路径使用推测概率比接受方法,遵循请求的temperature/top\_p/top\_k/min\_p分布。
简短的当前广泛扫描结果:
|模型|模式|平均tok/s|相比关闭MTP|接受率|
|:-|:-|:-|:-|:-|
|27B native-MTP|关闭MTP|17.27|1.00x|n/a|
|27B native-MTP|K=1|29.56|1.71x|85.7%|
|27B native-MTP|K=2|34.06|1.97x|75.4%|
|27B native-MTP|K=3|33.79|1.96x|66.4%|
|35B-A3B native-MTP|关闭MTP|85.14|1.00x|n/a|
|35B-A3B native-MTP|K=1|98.59|1.16x|55.8%|
|35B-A3B native-MTP|K=2|92.27|1.08x|38.3%|
|35B-A3B native-MTP|K=3|80.53|0.95x|27.4%|
因此实际结果是:
* 27B是明确的赢家:K=2/K=3都比关闭MTP快约2倍。
* 35B-A3B目前还不是2倍的故事。最佳广泛设置是K=1。
* 更高的K并不自动更好;在MoE/GDN路径上,验证器/缓存开销可能抵消额外的接受率。
精确度探测显示,在K=1/K=2/K=3(固定和自适应)下,两个选定模型均与目标贪婪匹配,在记录的64个token运行中未出现首次偏差。
该PR还包括相关的产品管道:
* 模型卡片暴露原生MTP的默认/最大K值;
* `/v1/models`报告原生MTP能力;
* 当本地检查点包含可恢复的MTP权重且实例位于单个节点时,受支持的模型卡片默认调度原生MTP;
* 最终生成统计报告`drafter_kind="native_mtp"`和`num_draft_tokens`;
* temperature/top\_p/top\_k/min\_p参数被传入起草器,而不是强制路径仅为贪婪模式。
实现工作主要是系统清理:为35B MoE/GDN路径的单次提示/MTP缓存设置、仅隐藏状态的目标体调用(不消耗logits)、MLX端的已接受前缀计数、K=1拼接避免,以及MTP草稿/缓存评估与验证器图构建之间的重叠。
当前范围/限制:
* 仅对明确声明原生MTP元数据的模型卡片启用;
* 本PR中原生MTP调度为单节点;多节点分布式部署仍使用普通路径;
* 有状态的logits处理器(如重复/存在/频率惩罚)尚未路由通过原生MTP;
* K>=4未启用。
PR: [https://github.com/exo-explore/exo/pull/2110](https://github.com/exo-explore/exo/pull/2110)
我特别感兴趣的是大家能否在其他Apple Silicon机器上复现结果的形态:27B是否仍然偏爱K=2/K=3?35B-A3B是否仍然偏爱K=1?
**TL;DR:**
* 在我的**M5 Max 48GB RAM**笔记本上:27B在K=2时从17.27 tok/s提升至34.06 tok/s,+97.2% / 1.97倍。
* 35B-A3B在K=1时从85.14 tok/s提升至98.59 tok/s,+15.8% / 1.16倍。
* 对于受支持的单节点原生MTP模型卡片,开箱即用;设置`EXO_NATIVE_MTP_ENABLED=0`或使用原生设置对话框选择退出。
https://preview.redd.it/czd9obvkzv2h1.png?width=2400&format=png&auto=webp&s=b48a812e7a4407c0e9806667e16eb0bcdf20b9d9
相似文章
我在 vLLM 和 llama.cpp 上对 Gemma 4 和 Qwen 3.6 测试了 MTP —— 推理速度提升 3.34 倍,这是我的发现(RTX 6000 PRO)。
使用 vLLM 和 llama.cpp 对 Gemma 4 31B 和 Qwen 3.6 27B 进行的多令牌预测(MTP)基准测试显示,推理速度最高提升 3.34 倍,最优推测令牌数量因模型和引擎而异。
更多 Qwen3.6-27B MTP 的成功案例,但这次是在双路 Mi50 上
本文在双路 Mi50 GPU 上,使用多令牌预测(MTP)和张量并行技术对 Qwen3.6-27B 模型进行了基准测试,展示了通过 llama.cpp 实现的显著加速效果。
@ggerganov: llama.cpp 为 Qwen3.6 系列添加 MTP 支持,这是本地AI生态系统的一个重要里程碑。性能提…
llama.cpp 为 Qwen3.6 系列添加了多令牌预测(MTP)支持,为在普通硬件上进行本地AI推理带来了巨大的性能提升。
在LLaMA.cpp + TurboQuant上为Qwen实现的多Token预测(MTP)
在LLaMA.cpp上结合TurboQuant为Qwen实现了多Token预测,性能提升40%,接受率90%,在MacBook Pro M5 Max上本地运行。
@AlexJonesax:在M5Max上启用MTP和oMLX推理,Qwen3.6-27b飞速运行
社区报告称,通过oMLX优化,Qwen3.6-27b模型在M5Max硬件上实现了极高的推理性能。