我在exo中为Qwen3.6 MLX模型添加了原生MTP支持;以下是精确度和速度结果

Reddit r/LocalLLaMA 工具

摘要

为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
查看原文

相似文章