最近一直在研究 Apple Silicon 本地运行大模型的性能,发现腾讯开源了一个推测解码项目 [b]DSpine[/b]。
GitHub: https://github.com/Tencent/DSpine
DSpine 的思路是通过多层并行预测、逐层传递前一位置的预测信息,提高草稿 Token 的接受率,从而减少大模型实际执行的解码轮次。
它不是新的大语言模型,而是一种推理加速方案。
[size=5]一、Mac 上已经有比较明显的加速效果[/size]
腾讯官方提供了一组 Apple Silicon 测试:
[b]硬件:M4 Pro 、64GB 内存、16 核 GPU[/b]
模型:Qwen3-8B BF16
在 T=0 的单流 MLX 测试中,平均解码速度:
[table][tr]推理方案速度[/tr][tr][td]普通 mlx-lm[/td][td]15.37 tok/s[/td][/tr][tr][td]DFlash[/td][td]29.81 tok/s[/td][/tr][tr][td]DSpine[/td][td][b]38.52 tok/s[/b][/td][/tr][/table]相对于普通 MLX ,DSpine 达到了约 [b]2.5 倍[/b]的生成速度。
在另一个 SGLang-MLX 服务测试中,单并发、贪心解码下,DSpine 平均达到 60.46 tok/s ,对照基线为 14.77 tok/s ,约 4.09 倍。
这些数据来自不同测试配置,不能直接混为一谈,但至少证明 DSpine 在 Apple Silicon 上已经实现了有意义的加速。
[size=5]二、Qwen3.8-27B 的数据更值得关注[/size]
腾讯还发布了针对 Qwen3.8-27B 的 DSpine 草稿模型。
在官方 SWE-bench Pro Agent 请求回放测试中:
[list]
[*]模型:Qwen3.8-27B BF16
[*]推理:SGLang + CUDA
[*]并发:8
[*]思考级别:xhigh
[*]开启 Prefix Cache
[/list]测试结果:
[table][tr]方案总吞吐量[/tr][tr][td]普通自回归解码[/td][td]248.17 tok/s[/td][/tr][tr][td]DFlash2[/td][td]711.60 tok/s[/td][/tr][tr][td]DSpine[/td][td][b]791.30 tok/s[/b][/td][/tr][/table]DSpine 相比普通解码达到约 [b]3.19 倍吞吐量[/b],相比 DFlash2 也有约 11% 的优势。
[b]注意:791 tok/s 是 CUDA 环境下 8 路并发 Agent 回放的总吞吐量,不是单用户速度,更不是 Mac 上的测试成绩。[/b]
[size=5]三、真正的问题:Mac 目前还没有完整的 27B 方案[/size]
目前项目虽然已经提供 Apple Silicon 的 MLX 实现,但公开的 Mac 实现主要支持 Qwen3-8B 这类全注意力模型。
Qwen3.8-27B 的官方高性能实现依赖 SGLang CUDA 路线,包括 FlashAttention 3 、Triton 、ReplaySSM 等组件。
因此,目前不能直接把 27B 的 DSpine 草稿模型放进 MLX 或 oMLX ,就获得官方 CUDA 测试中的加速效果。
[size=5]四、我自己的使用场景[/size]
目前设备:
[list]
[*]MacBook Pro M5 Pro ,64GB 内存
[*]Qwen3.8-27B ,Jundot oQ4e-mtp 量化版本
[*]使用 ZCode 进行实际项目开发
[*]需要至少 128K 上下文
[*]任务涉及代码库分析、工具调用、多文件修改及 UI 实现
[/list]我测试过 oMLX 、Kapitsa 等推理引擎。
目前实际长上下文编程时,常见生成速度大约 27 tok/s ,Kapitsa 快的时候能达到 35 tok/s 。
模型的代码实现效果可以,但完整 Agent 任务仍然可能执行接近两个小时。
所以我现在更关心的不是 4K 短上下文跑分,而是 [b]80K ~ 128K 上下文下,单用户持续编程任务的真实执行效率[/b]。
[size=5]五、想讨论几个问题[/size]
[list=1]
[*]腾讯 DSpine 是否有计划把 Qwen3.8-27B 完整适配到 Apple Silicon / MLX ?
[*]27B 的混合架构、ReplaySSM 等部分,在 Metal / MLX 上移植的主要难点是什么?
[*]现有 27B 4bit 量化模型,未来能否搭配 DSpine 草稿模型使用?
[*]有没有开发者已经测试过 Mac M5 Pro / M5 Max 上的 DSpine 27B ?
[*]最关心的一点:[b]在 128K 长上下文、单并发编程 Agent 场景下,DSpine 还能保持多少实际加速收益?[/b]
[/list]个人感觉,Apple Silicon 本地推理现在已经可以运行不少质量很好的 27B 模型,代码能力也逐渐达到可用水平。
但长时间 Agent 任务的速度依然是一个明显瓶颈。
希望后续能有更多针对 Apple Silicon 、长上下文、真实 Agent 工作负载的优化,而不只是短提示词的 tokens/s 跑分。
[b]相关资料:[/b]
[list]
[*]DSpine GitHub: https://github.com/Tencent/DSpine
[*]Mac MLX 实现: https://github.com/Tencent/DSpine/tree/main/dspine_mlx
[*]Qwen3.8-27B 草稿模型: https://huggingface.co/tencent/Qwen3.8-27B-DSpine-b16
[*]论文: https://arxiv.org/abs/2609.36173
[/list]欢迎有相关经验的开发者交流。
⚠️内容来自互联网,如有侵权请点击反馈!侵权投诉
3# 江户川柯南 要测一下它性能提升的那点百分比 会不会被 long context(262k) kvcache 线性边际递减 给磨平。apple Metal 亏就亏在 1 ,矩阵计算的性能本身就比不过 Nvidia/amd ; 2 ,推理引擎的针对性优化都排后; 3 ,unit memory 如果全给 Metal 尚可,如果和 CPU 混合竞争,带宽瞬间拉没了。apple Metal 真正的优势在 MOE + Engram 表,也就是 qwen4 的架构。过去的混合注意力实际上也解决不了 dense 模型 long context kvcache decode 的 线性边际递减。这个 DSpine 是之前问题的 中高层果实罢了,没有重新种树。
4# 江户川柯南 这次真正让人惊讶的是,我过去以为 思维逻辑的深度应该和模型的层深 强关联(即层越深,抽象能力越强,能关联思考的对象更多,即能面对多因素之间的复杂思考能力越强),但是 qwen3.8 flash next 的架构 层深度 不如 27B ,甚至都不如最近的 Ripple-65B-Preview ,但是 gpqa-d 的分数能上 90+。某种程度上来说,可能知识的宽度也能影响 思考的深度。
@coefu #3 如果 Qwen4 后面有 30B ~ 40B 级别的 MoE + PLE 模型,配合 QSA ,M5 Pro 64GB 在 128K 上下文下有没有机会明显改善解码速度?目前 Apple Silicon 上的瓶颈主要是内存带宽,还是相关算子的实现效率?