@Youssofal_:MTPLX V0.3 已发布!- 我意识到 M1 和 M2 Mac 并不支持 BF16,之前只是在模拟该格式,导致每秒生成的 tokens 数(TPS)显著下降……

X AI KOLs Timeline 工具

摘要

MTPLX v0.3 已发布,这是一个专为 Apple Silicon 设计的原生运行时。它采用多 token 预测(MTP)技术将解码速度提高一倍,并通过 Leviathan-Chen 接受机制维持分布准确性。

MTPLX V0.3 已发布!: - 我意识到 M1 和 M2 Mac 并不支持 BF16,之前只是在模拟该格式,导致 TPS 显著下降。现在,M1/M2 Mac 会将请求路由到 FP16 MTP 头。 - 推出了“优化质量”模式,这是一个基于 27B 模型的 8 位变体。速度稍慢,但效果更好。 - 感谢 @Daniel_Farinax,实现了从 2049 到 4096 的预填充分块变更及服务端优化,从而改善了首次 token 生成时间(TTFT)以及在 opencode、hermes 和 PI 中的使用体验。 立即尝试:http://mtplx.com
查看原文 导出为 Word 导出为 PDF
查看缓存全文

缓存时间: 2026/05/10 12:27

MTPLX V0.3 已发布!:- 我意识到 M1 和 M2 Mac 并不原生支持 BF16,而是在模拟它,这导致 TPS(每秒令牌数)显著下降。现在,M1/M2 Mac 会将请求路由至 FP16 MTP 头。 - 引入了“优化质量”模式,这是 27B 模型的 8 位变体。速度稍慢,但效果更好。 - 感谢 @Daniel_Farinax,实现了 2049 -> 4096 预填充分块更改以及服务层更改,改善了 TTFT(首 token 时间)以及 opencode、hermes 和 PI 的使用体验。现在尝试:http://mtplx.com


MTPLX — 在 MLX 上速度翻倍

来源:https://mtplx.com/ 原生 MTP · MLX · v0.1.0-preview.1

MTPLXMTPLXMTPLXMTPLXMTPLX

本地运行 LLM,速度翻倍。

专为 Apple Silicon 设计的原生 MTP 投机解码。在默认模型温度下,解码速度超过 2 倍,利用模型内置的 MTP 头。无需外部草稿模型。

安装

一次安装。一个向导。

首次运行时,向导将处理模型、模式及界面(浏览器或终端)的选择。此后,仅需一个按键即可启动。

``

通过 Homebrew 安装

brew install youssofal/mtplx/mtplx

开始聊天 —— 向导将选择模型、模式和界面

mtplx start ``

相同的提示。相同的温度。

速度翻倍。依然精确。

大多数快速解码工具通过匹配贪心 argmax 来“作弊”温度——这会静默破坏目标分布。MTPLX 通过 Leviathan–Chen 概率比进行接受,并采用残差(p − q)+修正。已验证与单 token 自回归(AR)完全比特精确一致。

加速2.24×

无 MTP基准 TPS

有 MTPLX原生 MTP

Qwen3.6-27B · MacBook Pro M5 Max · MLX目标温度 0.6 / top_p 0.95 / top_k 20

MTPLX 是什么

原生 MTP 运行时,而非包装器。

01 — 原生 MTP

单一检查点。

草稿模型即目标模型自身的 MTP 头。内存中无第二模型。无蒸馏。无需维护外部草稿模型。

02 — 温度精确

Leviathan–Chen,而非 argmax。

通过残差(p − q)+修正的概率比接受。验证最大差异 max_diff = 0.0,对标参考单 token 自回归。

03 — MLX 原生

专为 Apple Silicon 构建。

MLX 源码分支加上针对验证热路径优化的自定义 Metal 内核。顶部提供兼容 OpenAI 和 Anthropic 的服务栈。

循环如何运行

一次前向传播。K 个已验证 token。

每个周期中,MTP 头起草 K 个 token,目标模型在一次批量前向传播中验证所有 K 个,数学计算决定结果——逐位置,精确无误。当所有 K 个 token 都被接受时,会免费获得一个额外 token。

01 — 起草

MTP 头提议

从目标模型自身的内置 MTP 头起草 K 个 token,附带提议概率 q。

02 — 验证

批量目标前向传播

目标模型通过 GraphBank 编译的验证形状,在一次前向传播中评估所有 K 个位置。

03 — 接受

概率比

通过 Leviathan–Chen 拒绝采样逐位置接受。使用 fp32 比率路径,因为 BF16 会下溢。

04 — 修复

残差修正

若被拒绝,从(p − q)+中采样一个干净的替换 token。被拒绝的草稿永远不会进入已提交的历史记录。

05 — 提交

+ 额外 token

已提交历史的 KV 写回。当每个位置都接受时,K+1 处的额外 token 免费获得。

构建在 MLX 之上的是什么

我们拥有的自定义 Metal 内核。

客户端

浏览器聊天 · Open WebUI · Claude Code · Cline · Continue · openai-python · anthropic-python

服务 API

/v1/chat/completions · /v1/messages · /v1/models · /health · /metrics— 兼容 OpenAI 和 Anthropic,流式 SSE

引擎

引擎会话 · SessionBank 前缀精确状态复用 · 跨轮次 logits_max_abs_diff = 0.0

MTPLX 运行时

原生 MTP 投机循环 · 已提交历史 KV 合约,在与 vLLM CUDA 参考对比时,余弦相似度 > 0.9998,直至 D5

自定义 Metal

linear-gdn-from-conv-tape融合的 GDN 验证内核 · verify_qmv小 M qmv · GraphBank 编译的验证形状 · 仅起草 4/3 位 LM 头

MLX 源码分支

mlx-mtplx-0.31.2-qmm· 小 M qmv重新调优 BN16 · 4 simdgroup · unroll_count(4)用于验证形状 M=3..6

对比 vLLM CUDA

在每个深度都有更高的接受率。

MTPLX D4 在 Qwen3.6-27B 上的逐位置接受率高于 vLLM 的 CUDA MTP-5,基于相同的提示。

MTPLX · D4 · Apple Silicon

D197.62%

D295.24%

D388.10%

D475.61%

vLLM · MTP-5 · CUDA

P192.70%

P277.00%

P363.00%

P450.90%

P543.00%

相似文章