工具
Apple M5 Ultra 96GB 实测 Qwen 3.8-FN 推理数据
Reddit 用户首发 M5 Ultra 96GB 跑 Qwen 3.8-FN 4-bit 量化版的并发基准,含具体 P…
2026.09.24 · 周四约 4 分钟阅读
Apple M5 Ultra 96GB(基础款)近日由 Reddit r/LocalLLaMA 用户首发实测,跑的是一款标注为「Qwen 3.8-FN」的 4-bit/8-bit 混合量化模型。作者在 4 路并发场景下得到了 3.2k tok/s 的聚合 Prefill 与约 170 tok/s 的聚合 Decode 速率。需要说明的是,作者明确标注文中数字与自定义服务细节由 AI 协助生成,且模型具体出处并未给出进一步说明。
测试环境
- 硬件:Apple M5 Ultra,96 GB 统一内存(GPU 占用约 90 GB)
- 模型:Qwen 3.8-FN,4-bit/8-bit 混合量化
- 上下文:4 × 128k,总计 512k,KV Cache 使用 8-bit
- 推理服务:基于 mlx-serve 的自编译版本,开启 4 路 continuous batching
- 调度:PC 端用 Qwen 27B 作为 orchestrator,Mac 作为 sub-agent 推理节点
- 任务框架:Hermes;任务为某开发项目的多步骤编程工作,含规划、红队测试、验证、提交等环节
关键推理数据
任务共消耗约 1.12 亿 tokens,其中生成 token 仅约 300 万,prompt 填充约 1.09 亿,prompt cache 命中率约 89%(约 9700 万 token 命中)。各 stream 的 Prefill 与 Decode 表现如下:
- Prefill:单 stream 中位数 828 tok/s、均值 917.6 tok/s、p10 530.5、p90 1374.9、单 stream 峰值 3328 tok/s;4 路并发聚合约 3200–3313 tok/s
- Decode:单 stream 中位数 42.7 tok/s、均值 48.9 tok/s、p10 34.2、p90 71.5、单 stream 峰值 152 tok/s;4 路并发聚合约 160–170 tok/s
- 上下文:orchestrator 累计发起约 1700 次 sub-agent 调用,单请求上下文深度中位数 64.4k,部分重负载请求超过 100k
作者提到,Prefill 近似随并发线性扩展(4 路约等于单 stream ×4),Decode 也呈接近线性的扩展趋势。
自定义 MLX-Serve 改动要点
作者称其自定义版本参考了 strix-halo lab 的思路,并移植自先前 CUDA 版本。改动集中在以下几个方面:
- Tiled Gated Delta-Net(GDN)Recurrence:把 128×128 递推状态矩阵固定在 GPU 寄存器内,按 16-token 分块,避免反复回写系统内存
- Fused 4-Stream HyperConnection + RMSNorm:把 4 路并行残差流的混合与 Gated RMSNorm 合并为一次 Metal threadgroup 调用
- Sparse MoE Compaction & Scatter-Reduction:丢弃约 98.3% 的零填充 tile,用 mx.gather_mm 打包活跃 token,再做一次 scatter-reduction
- Temporal Expert Dequantization Cache:把路由最频繁的 64 个 MoE expert 保留在 FP16 统一内存缓存中(约 960 MB),利用生成阶段的重复路由模式
小结与局限
该帖子展示了 M5 Ultra 在长上下文、多 Agent 场景下本地推理 Qwen 系列量化模型的实际表现,数字较为具体,但需注意以下几点:
- 模型「Qwen 3.8-FN」名称未与已公开的 Qwen3 官方模型一一对应,来源与版本不明
- 数字与自定义服务细节由作者声明「AI assisted」,存在误差可能
- 仅一台机器、一次任务的结果,不构成系统化 benchmark
对于关注 Apple Silicon 本地推理性能的用户,这份数据可作为单一参考点,而非权威基准。
