Strix Halo上的llama.cpp多令牌预测(MTP)基准测试:27B模型大幅提速,35B模型表现不一

Reddit r/LocalLLaMA 工具

摘要

在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**表现不一:生成速度更快,但在这些特定的长上下文测试中端到端稍慢。
查看原文

相似文章

Qwen3.5-122B-Q5-MTP - Qwen3.5-122B-Q6-MTP

Reddit r/LocalLLaMA

在Strix Halo上使用llama.cpp进行多token预测的Qwen3.5-122B Q5和Q6量化模型的基准对比,吞吐量分别为20.24 t/s和17.17 t/s。

Strix Halo ROCm + MTP 笔记 (2026年5月)

Reddit r/LocalLLaMA

技术基准测试,比较 ROCm 和 Vulkan 后端在 Strix Halo 硬件上运行 LLM 推理的性能,MTP 合并到 llama.cpp 之后,结果显示 ROCm 在全上下文时性能严重下降,而 Vulkan 保持稳定。