Mac M2 Max测试本地模型Qwen3.8-27B-4bit、Qwen3.8-27B-Uncensored-oQ4e-mtp模型在 oMLX(Mac M2 Max 环境) 横向深度对比
-
Mac M2 Max 本地模型横向深度对比:Qwen3.8-27B-4bit vs. Qwen3.8-27B-Uncensored-oQ4e-mtp
测试环境:oMLX(Mac M2 Max)
oMLX 项目:LLM inference, optimized for your Mac
GitHub:https://github.com/jundot/omlx
Engine:Auto
Context:代码(Python)
一、Benchmark 模型:Qwen3.8-27B-4bit
1.1 Single Request Results
Test TTFT(ms) TPOT(ms) pp TPS tg TPS E2E(s) Throughput Peak Mem pp1024/tg128 9048.7 50.86 113.2 tok/s 19.8 tok/s 15.531 74.2 tok/s 15.85 GB pp4096/tg128 34039.8 52.03 120.3 tok/s 19.4 tok/s 40.670 103.9 tok/s 17.10 GB 1.2 Continuous Batching
预处理 1024 / 生成 128
Batch tg TPS Speedup pp TPS pp TPS/req TTFT(ms) E2E(s) 1x 19.8 tok/s 1.00x 113.2 tok/s 113.2 tok/s 9048.7 15.531 2x 33.6 tok/s 1.70x 90.6 tok/s 45.3 tok/s 17273.3 30.233 4x 62.8 tok/s 3.17x 78.3 tok/s 19.6 tok/s 31000.7 60.467
二、Benchmark 模型:Qwen3.8-27B-Uncensored-oQ4e-mtp
2.1 Single Request Results
Test TTFT(ms) TPOT(ms) pp TPS tg TPS E2E(s) Throughput Peak Mem pp1024/tg128 8955.1 50.04 114.3 tok/s 20.1 tok/s 15.330 75.1 tok/s 22.34 GB pp4096/tg128 33851.1 57.56 121.0 tok/s 17.5 tok/s 41.180 102.6 tok/s 23.70 GB 2.2 Continuous Batching
预处理 1024 / 生成 128
Batch tg TPS Speedup pp TPS pp TPS/req TTFT(ms) E2E(s) 1x 20.1 tok/s 1.00x 114.3 tok/s 114.3 tok/s 8955.1 15.330 2x 28.8 tok/s 1.43x 91.5 tok/s 45.8 tok/s 16951.1 31.272 4x 47.3 tok/s 2.35x 81.3 tok/s 20.3 tok/s 30249.7 61.207
三、数据深度分析
3.1 关键指标对比(oQ4e-mtp vs. 常规 4bit)
指标 常规 4bit 模型 oQ4e-mtp 模型 变化分析 内存峰值 (Peak Mem) 15.85 - 17.10 GB 22.34 - 23.70 GB 大增约 6.5 GB(+38%),接近纯 6-bit 的开销 单生成速度 (tg TPS) 19.8 tok/s 20.1 tok/s(pp1024)<br>17.5 tok/s(pp4096) 基础生成速度相当,但在长上下文下略有所衰减 Prefill 吞吐量 (pp TPS) 113.2 ~ 120.3 tok/s 114.3 ~ 121.0 tok/s 首字响应(TTFT)性能几乎完全一致 Continuous Batching (4x) 62.8 tok/s(3.17x) 47.3 tok/s(2.35x) 并发性能明显下降(-25%) 3.2 性能与技术细节拆解
为什么内存增加到了 22.34 - 23.70 GB?
- oQ4e 混合精度量化:它不是普通的均匀 4-bit 量化,而是通过 importance-matrix(重要性矩阵 calibration)对关键层/注意力层提高了精度(提升至 5-bit 或 fp16),因此实际权重体积接近 6-bit 量化。
- MTP(Multi-Token Prediction / 投机/多 Token 预测模块):附加了 MTP 预测头,这需要额外的显存空间用于加载加速权重和维持额外的 KV Cache。
为什么单生成速度没有大幅提升?
- MTP 本质是通过 Speculative Decoding(投机采样) 以计算换速度。
- 但在 M2 Max(显存带宽约 300-400 GB/s) 这种带宽受限设备上,当权重增长到 22GB+ 时,内存带宽瓶颈冲淡了 MTP 带来的并行收益。
- 长上下文(pp4096)下生成速度降至 17.5 tok/s,也是因为更高的显存占用导致 Cache 访问开销变大。
为什么多并发(Continuous Batching)性能下降严重?
- 从 4x 批处理来看,常规 4bit 可以达到 62.8 tok/s,而本模型降到了 47.3 tok/s。
- 这是由于 MTP 模块和更高权重的模型在多 Request 并发时抢占显存带宽与 GPU 计算单元更剧烈,造成 Batching 的并行加速效率下降。
四、结论摘要
维度 结论 首字延迟 / Prefill 两者几乎一致,oQ4e-mtp 无明显优势 单请求生成速度 短上下文基本持平;长上下文 oQ4e-mtp 略降 显存占用 oQ4e-mtp 显著更高(+38%),接近 6-bit 开销 并发吞吐 oQ4e-mtp 明显落后(4x 时 -25%) 适用场景 常规 4bit 更适合 M2 Max 带宽受限环境下的高并发/长上下文推理;oQ4e-mtp 在精度敏感、并发需求低的场景可能更有价值 -
-