在 Qwen3.6 - RTX 5090 上测试 llama.cpp 的 MTP 支持
摘要
在 RTX 5090 上使用 Qwen3.6 模型对 llama.cpp 的新多标记预测(MTP)支持进行技术测试,比较不同提示和 GGUF 量化下开启和关闭 MTP 的性能表现。
设置:
- RTX 5090,32 GB,Linux
- 从 4f13cb7 构建 llama.cpp(官方 [ghcr.io/ggml-org/llama.cpp:server-cuda](http://ghcr.io/ggml-org/llama.cpp:server-cuda) 镜像截至撰写时尚未包含该合并——需要使用 CUDA_DOCKER_ARCH=120 从源码通过 Docker 构建)
- Unsloth 的 Qwen3.6-27B-MTP-GGUF Q5_K_M 和 Qwen3.6-35B-A3B-MTP-GGUF UD-Q4_K_M
- 128k 上下文,flash-attn,q8_0 KV 缓存,温度 0.8,--parallel 1(MTP 必需)
- 开启和关闭 MTP 使用相同的 GGUF——仅切换 --spec-type draft-mtp --spec-draft-n-max 3 标志。这样可以隔离 MTP 与量化差异。
- 2 个提示:“关于一只猫的短故事”(约 400 个标记)和“作为单个 HTML 文件的 Flappy Bird 克隆”(约 3000 个标记)
- 每个配置 3 个种子,取平均值
相似文章
MTP+GGML_CUDA_ENABLE_UNIFIED_MEMORY=1 - llama.cpp
一位用户在 llama.cpp 上使用 GGML_CUDA_ENABLE_UNIFIED_MEMORY=1 标志对令牌生成速度进行基准测试,比较启用和未启用 MTP(多令牌预测)时的性能。结果显示,在 RTX5090 上使用 Qwen3.6-27B 模型时,启用 MTP 后速度从 49 tok/s 显著提升至 64 tok/s。
我在 vLLM 和 llama.cpp 上对 Gemma 4 和 Qwen 3.6 测试了 MTP —— 推理速度提升 3.34 倍,这是我的发现(RTX 6000 PRO)。
使用 vLLM 和 llama.cpp 对 Gemma 4 31B 和 Qwen 3.6 27B 进行的多令牌预测(MTP)基准测试显示,推理速度最高提升 3.34 倍,最优推测令牌数量因模型和引擎而异。
更多 Qwen3.6-27B MTP 的成功案例,但这次是在双路 Mi50 上
本文在双路 Mi50 GPU 上,使用多令牌预测(MTP)和张量并行技术对 Qwen3.6-27B 模型进行了基准测试,展示了通过 llama.cpp 实现的显著加速效果。
在6GB显存笔记本上使用Qwen3.6-35B-A3B的MTP:不值得
在6GB显存笔记本上对llama.cpp中Qwen3.6-35B-A3B模型的多Token预测(MTP)支持进行的基准测试显示,MTP不值得使用,因为提示处理速度显著变慢,抵消了微小的生成速度提升。作者发现,对草稿KV缓存使用q4_0量化可以节省显存而不影响质量。
@Snixtp: https://x.com/Snixtp/status/2055734339346768225
某用户使用llama.cpp在单张RTX 3090上对Qwen3.6 27B的MTP变体与普通版本进行了基准测试,发现MTP在长上下文(32k-64k)下生成速度最高可提升2.37倍,但预填充较慢且暂不支持并发。