Strix Halo上的llama.cpp多令牌预测(MTP)基准测试:27B模型大幅提速,35B模型表现不一
摘要
在Strix Halo上对llama.cpp中的多令牌预测(MTP)进行的基准测试显示,长上下文聊天场景下27B Qwen模型显著加速,而35B模型则表现不一。
### **摘要** 所有模型均为Qwen3.6
**27B-MTP对比基础27B(15k单轮):整体更快**
* **总时间(实际耗时):** 87.44秒 → 77.39秒(**快了10.05秒** / -11.50%)
* **生成速度:** 7.63 → 16.15 令牌/秒(+111.77%提速)
* **提示处理速度:** 279.75 → 244.90 令牌/秒(-12.46%减速)
**35B-MTP对比基础35B(15k单轮):整体更慢**
* **总时间(实际耗时):** 20.83秒 → 23.16秒(**慢了2.33秒** / +11.17%)
* **生成速度:** 48.18 → 56.12 令牌/秒(+16.47%提速)
* **提示处理速度:** 972.18 → 811.90 令牌/秒(-16.49%减速)
**27B-MTP对比基础27B(5轮聊天,约28.5k上下文):大幅节省时间**
* **总时间(实际耗时):** 258.65秒 → 200.55秒(**快了58.10秒** / -22.46%)
* **第2-5轮(实际耗时):** 211.37秒 → 155.33秒(**快了56.04秒** / -26.51%)
* **平均生成速度:** 7.61 → 17.98 令牌/秒(+136.41%提速)
* **平均提示处理速度:** 254.20 → 207.87 令牌/秒(-18.23%减速)
**35B-MTP对比基础35B(5轮聊天,约28.5k上下文):基本持平,略慢**
* **总时间(实际耗时):** 58.86秒 → 60.24秒(**慢了1.38秒** / +2.34%)
* **第2-5轮(实际耗时):** 47.96秒 → 49.21秒(**慢了1.25秒** / +2.62%)
* **平均生成速度:** 46.66 → 58.23 令牌/秒(+24.80%提速)
* **平均提示处理速度:** 826.47 → 703.45 令牌/秒(-14.89%减速)
**术语说明:**
* `wall` = 从发送请求到收到完整响应的实际端到端耗时。
* `pp` = 提示处理吞吐量(令牌/秒)。
* `gen t/s` = 生成吞吐量(令牌/秒)。
---
### **硬件/软件**
* **CPU:** AMD RYZEN AI MAX+ 395 (16核/32线程)
* **iGPU:** Radeon 8060S (RADV GFX1151)
* **内存:** 30 GiB
* **操作系统:** Ubuntu 24.04,内核 6.17
* **llama.cpp / llama-server:** 9187 (0253fb21f)
* **Vulkan 实例:** 1.4.313
* **GPU API:** 1.4.305
* **Mesa RADV:** 25.0.7
---
### **测试模型(均为 Unsloth)**
* `Qwen3.6-27B-Q8_0.gguf`
* `Qwen3.6-27B-Q8_0-MTP.gguf`
* `Qwen3.6-35B-A3B-Q8_0.gguf`
* `Qwen3.6-35B-A3B-Q8_0-MTP.gguf`
---
### **运行时配置**
* `--ctx-size 128000`
* `-b 2048`
* `--ubatch-size 1024`
* `--flash-attn on`
* `--threads 16`
* `--threads-batch 16`
**仅 MTP 模型:**
* `--spec-type draft-mtp`
* `--spec-draft-n-max 3`
* `--spec-draft-p-min 0.75`
---
### **方法**
**15k单轮无缓存**
* 合成代理提示,校准至约15k提示令牌。
* `max_tokens=256`,`temperature=0`。
* 每次运行随机化提示(RUN_TAG),使`cache_n=0`(真正无缓存的预填充)。
* 每个模型运行2次。
**5轮后续轮次测试**
* 每个模型使用相同的脚本化5轮来回对话。
* 每轮用户负载约3900词。
* 上下文在第5轮增长至约28.5k提示令牌。
* `max_tokens=220`,`temperature=0`。
* 报告完整5轮总计以及仅第2-5轮(以隔离“后续轮次”行为)。
---
### **稳定性**
* 针对长时间运行中的临时502/503/504错误设置重试逻辑。
* 同时报告服务器端推理时间和客户端观察到的实际耗时。
---
### **完整结果(延迟导向)**
**15k单轮**
| 模型系列 | 非MTP实际耗时 | MTP实际耗时 | 差异 |
| --- | --- | --- | --- |
| **27B** | 87.44秒 | 77.39秒 | -11.50% |
| **35B** | 20.83秒 | 23.16秒 | +11.17% |
**5轮总计(第5轮时约28.5k上下文)**
| 模型系列 | 非MTP实际耗时 | MTP实际耗时 | 差异 |
| --- | --- | --- | --- |
| **27B** | 258.65秒 | 200.55秒 | -22.46% |
| **35B** | 58.86秒 | 60.24秒 | +2.34% |
**仅后续轮次(第2-5轮)**
| 模型系列 | 非MTP实际耗时 | MTP实际耗时 | 差异 |
| --- | --- | --- | --- |
| **27B** | 211.37秒 | 155.33秒 | -26.51% |
| **35B** | 47.96秒 | 49.21秒 | +2.62% |
---
### **要点总结**
* **MTP持续降低提示处理速度**并提高生成速度。
* **负载形态决定整体优劣:**
* 如果解码占主导,MTP可大幅获胜(如本测试中的27B)。
* 如果预填充占足够主导,MTP可能整体稍逊(如本测试中的35B)。
* **在此Strix Halo设置上:**
* **27B-MTP**对于长上下文聊天工作流是强有力的实用升级。
* **35B-MTP**表现不一:生成速度更快,但在这些特定的长上下文测试中端到端稍慢。
相似文章
Qwen 3.6-27B Dense 与 MTP 在 Strix Halo Windows 上的基准测试
Qwen 3.6-27B Dense 和 MTP 变体在 Strix Halo Windows 上通过 llama.cpp 运行的社区基准测试,展示了各项任务的 token/s 速度。
Qwen3.5-122B-Q5-MTP - Qwen3.5-122B-Q6-MTP
在Strix Halo上使用llama.cpp进行多token预测的Qwen3.5-122B Q5和Q6量化模型的基准对比,吞吐量分别为20.24 t/s和17.17 t/s。
Strix Halo ROCm + MTP 笔记 (2026年5月)
技术基准测试,比较 ROCm 和 Vulkan 后端在 Strix Halo 硬件上运行 LLM 推理的性能,MTP 合并到 llama.cpp 之后,结果显示 ROCm 在全上下文时性能严重下降,而 Vulkan 保持稳定。
llama.cpp - Qwen3.6/3.5-MTP - 分享你的基准测试(t/s)
llama.cpp 发布 b9495 版本,针对 Qwen3.6/3.5-MTP(多令牌预测)进行了优化,并请用户分享他们的基准测试结果及完整的命令详情。
MTP(多令牌预测):在AMD Strix Halo和Radeon 9700 AI Pro上实现2倍令牌生成加速
MTP(多令牌预测)可以将LLM推理速度提高2倍,尤其适用于编码代理。本视频展示了Qwen 3.6在AMD Strix Halo和双Radeon 9700上的性能提升。