unsloth 与 bartowski MTP GGUF 对比

Reddit r/LocalLLaMA 工具

摘要

对比 unsloth 和 bartowski 在不同尺寸和量化级别下的 Qwen 模型 MTP GGUF 量化方案,发现 unsloth 的 GGUF 通常更小,解码速度相近或更快;MTP 对较大的稠密模型收益更明显。

我注意到 bartowski 的 MTP GGUF 比 unsloth 的大。我问了 bartowski,他说他对 MTP 头使用了 Q8\_0 量化。因此我比较了两者的解码性能。 /build/bin/llama-server -m \~/gguf/Qwen3.5-4B-Q4\_0.gguf --host 0.0.0.0 --port 8080 -c 4096 -fa on --no-mmap -np 1 -ngl 99 --spec-type draft-mtp 由于我更倾向于在骁龙智能手机上运行它们,所以只测试了 Q4\_0、IQ4\_NL、Q4\_1、MXFP4\_MOE、Q8\_0。受限于我的 24GB VRAM 3090,无法测试大模型的 Q8\_0。我使用了 am17an(Qwen MTP PR 作者)的 mtp-bench.py 进行测试: [https://gist.github.com/am17an/228edfb84ed082aa88e3865d6fa27090#file-mtp-bench-py](https://gist.github.com/am17an/228edfb84ed082aa88e3865d6fa27090#file-mtp-bench-py) |Qwen3.5-4B|NoMTP VRAM|NoMTP t/s|MTP3 VRAM|MTP3 acc%|MTP3 t/s| |:-|:-|:-|:-|:-|:-| |unsloth Q4\_0|3530MiB|144.9t/s|4694MiB|0.5832|134.67t/s| |bartowski Q4\_0|3634MiB|143.05t/s|4796MiB|0.5804|132.97t/s| |unsloth IQ4\_NL|3588MiB|140.51t/s|4752MiB|0.5612|128.84t/s| |bartowski IQ4\_NL|3632MiB|141.31t/s|4794MiB|0.5748|130.4t/s| |unsloth Q4\_1|3728MiB|141.31t/s|4890MiB|0.6115|136.84t/s| |bartowski Q4\_1|3826MiB|138.88t/s|4988MiB|0.6188|131.96t/s| |unsloth Q8\_0|5370MiB|110.48t/s|6532MiB|0.5767|125.15t/s| |bartowski Q8\_0|5390MiB|111.66t/s|6552MiB|0.5903|124.24t/s| |Qwen3.5-9B|NoMTP VRAM|NoMTP t/s|MTP3 VRAM|MTP3 acc%|MTP3 t/s| |:-|:-|:-|:-|:-|:-| |unsloth Q4\_0|5740MiB|105.32t/s|6934MiB|0.7076|122.55t/s| |bartowski Q4\_0|5922MiB|102.29t/s|7114MiB|0.6781|118.84t/s| |unsloth IQ4\_NL|5828MiB|104.7t/s|7022MiB|0.6576|116.73t/s| |bartowski IQ4\_NL|5916MiB|103.57t/s|7108MiB|0.6493|116.19t/s| |unsloth Q4\_1|6128MiB|101.57t/s|7320MiB|0.6657|115.58t/s| |bartowski Q4\_1|6300MiB|99.84t/s|7492MiB|0.6595|115.93t/s| |unsloth Q8\_0|9280MiB|74.42t/s|10472MiB|0.7013|104.59t/s| |bartowski Q8\_0|9308MiB|74.53t/s|10500MiB|0.693|105.23t/s| |Qwen3.6-27B|NoMTP VRAM|NoMTP t/s|MTP3 VRAM|MTP3 acc%|MTP3 t/s| |:-|:-|:-|:-|:-|:-| |unsloth Q4\_0|15870MiB|41.43t/s|17376MiB|0.6829|63.46t/s| |bartowski Q4\_0|16352MiB|41.16t/s|17856MiB|0.7188|64.84t/s| |unsloth Q4\_1|17208MiB|39.68t/s|18712MiB|0.7011|66.03t/s| |bartowski Q4\_1|17682MiB|38.73t/s|19186MiB|0.6853|63.15t/s| |unsloth IQ4\_NL|16138MiB|40.76t/s|17644MiB|0.6939|60.85t/s| |bartowski IQ4\_NL|16328MiB|40.67t/s|17832MiB|0.7241|65.19t/s| |Qwen3.6-35B-A3B|NoMTP VRAM|NoMTP t/s|MTP3 VRAM|MTP3 acc%|MTP3 t/s| |:-|:-|:-|:-|:-|:-| |unsloth IQ4\_NL|18122MiB|118.23t/s|19368MiB|0.6641|108.83t/s| |bartowski IQ4\_NL|20482MiB|127.58t/s|21726MiB|0.6881|112.53t/s| 观察结果: 1. 对于 4B 模型,MTP 仅在 Q8\_0 下更快,但需要多消耗 21.6% 的显存来换取 13.3% 的解码速度提升。 2. 对于 9B 模型,MTP 在所有量化级别下都更快。速度提升似乎与接受率呈正相关,符合预期。 3. 对于 27B 模型,速度提升非常显著,达 53.2%,而显存仅增加 9.5%。这表明模型越大越稠密,运行 MTP 越有意义。 4. 对于 35B-A3B MoE 模型,双方只有 IQ4\_NL 可用。奇怪的是,bartowski 的 GGUF 比 unsloth 的大 13%,但速度快了 8%。 5. 总体而言,bartowski 的 GGUF 比 unsloth 的大,尤其是 MoE 模型。如果只关心速度,没有明显优势,因此没有理由使用 bartowski 的 MTP GGUF。 请注意,我只测试了速度,没有测试困惑度或智能表现,因此 bartowski 的 GGUF 在这些方面可能有优势。本次测试针对单用户场景,推测 MTP 在多用户场景下会带来更多收益。 总的来说,虽然 MTP 是个不错的功能,但往往会让情况变得更糟。建议你自行测试,看看额外的显存是否值得换取可能存在的解码加速。 有谁知道为什么 MoE 模型的 GGUF 体积差异特别大吗?
查看原文

相似文章

Unsloth 上的 MTP

Reddit r/LocalLLaMA

Unsloth 发布了支持多 Token 预测 (MTP) 的 Qwen3.6 模型 GGUF 量化版本。

unsloth/Qwen3.6-27B-MTP-GGUF

Hugging Face Models Trending

Unsloth 发布了 Qwen3.6-27B 模型的 GGUF 权重,该模型支持多令牌预测(MTP),可实现更快的生成速度并增强了智能体(Agentic)编码能力。

unsloth/Qwen3.6-27B-GGUF

Hugging Face Models Trending

Unsloth 发布了 Qwen3.6-27B 模型的 GGUF 量化版本,具备更强的智能体编程能力、工具调用功能,并支持 Unsloth Studio。

Unsloth Dynamic 3.0 GGUFs

Hacker News Top

Unsloth已发布适用于Qwen3.8模型的Dynamic v3.0 GGUFs,通过改进的量化技术和校准方法,在相同尺寸下提供超过10%的准确率提升。