文章目录
(一)Qwen和Gemma都支持MTP了
原版的llama.cpp支持的平台很多,功能也很多,所以进度相对比较慢。
就在刚刚,突然发现,am17an的pr合并了。😄
这就意味着原版支持gemma4的MTP模式了,不用再自己编译pr或别的fork。
(1.1)关注与讨论
因为开源LLM模型,实际上Qwen热度很高,这波Google算是抢回一些。
用俺的个人小助理查了查,大家对这些新特性都很感兴趣。
PS: 后续的测试过程也都是这样进行的。
仅仅是问题换成:"B站10条热门视频"。
bash
(venv) PS OpenCliWeb> python .\src\open_cli.py "reddit上关于 gemma-4 qat mtp 最新的讨论,翻译成简体中文"
[2026-06-08 09:01:26.171] [Service] init...
[2026-06-08 09:01:26.992] [Service] node.js version: v20.20.2 <820ms>
[2026-06-08 09:01:27.055] [Service] opencli version: 1.8.3 <63ms>
[2026-06-08 09:01:27.412] [Service] opencli ✓ Daemon: OK
[2026-06-08 09:01:27.419] [Service] opencli ✓ Extension: OK
[2026-06-08 09:01:27.419] [Service] opencli ✓ Connectivity: OK
[2026-06-08 09:01:27.419] [Service] opencli doctor passed
[2026-06-08 09:01:27.419] [Question] reddit上关于 gemma-4 qat mtp 最新的讨论,翻译成简体中文
[2026-06-08 09:01:27.422] [Service] Start LLM provider: http://127.0.0.1:8999/v1
[2026-06-08 09:01:28.215] [开始] 收到用户指令并开始处理...... <792ms>
[2026-06-08 09:01:29.144] [工具] (1.1) cmds_list → {'site': 'reddit'} <928ms>
[2026-06-08 09:01:29.491] [工具] (1.1) cmds_list ← (1521) {"command_count": 20, "commands": [{"name": "comment", "description": "Post a comment on a Reddit post"}, {"name":... <347ms>
[2026-06-08 09:01:30.109] [工具] (2.1) cmd_help → {'cmd': 'search', 'site': 'reddit'} <618ms>
[2026-06-08 09:01:30.394] [工具] (2.1) cmd_help ← (470) {"usage": "opencli reddit search <query> ", "positionals": [{"name": "query", "required": true, "help": "R... <284ms>
[2026-06-08 09:01:30.994] [工具] (3.1) cmd_exec → {'full_cmd': 'reddit search gemma-4 qat mtp', 'result_limit': 5} <599ms>
[2026-06-08 09:01:31.279] [工具] (3.1) cmd_exec ← (74) "error: too many arguments for 'search'. Expected 1 argument but got 3. " <284ms>
[2026-06-08 09:01:31.796] [工具] (4.1) cmd_exec → {'full_cmd': 'reddit search "gemma-4 qat mtp"', 'result_limit': 5} <517ms>
[2026-06-08 09:01:53.911] [工具] (4.1) cmd_exec ← (23108) [{"id": "1typjmc", "title": "120 tok/s on 12GB VRAM with Gemma 4 12B QAT MTP", "subreddit": "r/LocalLLaMA", "auth... <22.11s>
[2026-06-08 09:01:59.503] Streaming... <5.59s>
关于 Reddit 上关于 **Gemma-4 QAT MTP** 的最新讨论,主要集中在本地模型运行(Local LLM)社区,特别是关于性能优化和模型权重提取的讨论。以下是核心内容的简体中文翻译与总结:
### 1. 性能基准测试 (Benchmark)
多位用户分享了在不同硬件上运行 Gemma-4 QAT(量化感知训练)模型配合 MTP(多标记预测)技术的实测数据:
* **RTX 4070 Super (12GB VRAM) 表现:**
* 用户 `janvitos` 展示了在 12GB 显存上运行 **Gemma-4 12B QAT MTP** 的成果。
* 通过使用 `llama.cpp` 补丁和 Unsloth 的 GGUF 量化模型,实现了高达 **120 tok/s** 的推理速度。
* **结论:** 只要显存足够容纳模型,MTP 技术能显著提升生成速度。
* **Strix Halo APU (AMD 硬件) 表现:**
* 用户 `westsunset` 在 128GB 统一内存的 Strix Halo APU 上进行了详细测试。
* **Gemma-4 26B-A4B QAT Q4_0** 模型表现出色:纯 Vulkan 模式下约为 **59 tok/s**,配合 QAT MTP/Q8 设置时可达到约 **71 tok/s**。
* **关键发现:** 使用与 QAT 匹配的"助手头"(Assistant Heads)对于提高 MTP 的接受率(Acceptance Rate)至关重要。
* **RTX 5090 表现:**
* 用户 `Own_Attention_3392` 报告在 5090 上使用 MTP 技术,推理速度从 55-60 tok/s 飙升至 **100 tok/s 以上**。
### 2. 技术细节与逆向工程
* **MTP 支持:** `llama.cpp` 已经正式支持 Gemma-4 MTP。
* **权重提取:** 有用户正在尝试从 Google 的 TFLite 图文件中逆向工程出 MTP 权重,并将其转换为可用的 PyTorch `nn.Module` 格式。
* **QAT 的意义:** 讨论强调了 QAT(Quantization-Aware Training)的重要性------模型在训练时就考虑了低精度格式,这使得 Q4 量化模型能比普通的"训练后量化"保留更多的原始模型行为。
### 3. 核心结论总结
1. **速度显著提升:** MTP 技术配合 QAT 模型是目前提升本地模型推理速度的有效手段,尤其在 26B 规模的模型上效果显著。
2. **匹配是关键:** 为了获得最佳效果,必须确保使用的"助手头"与主模型都是经过 QAT 处理的匹配版本。
3. **硬件兼容性:** 该技术在 NVIDIA GPU (CUDA/Vulkan) 和 AMD APU (Vulkan/RADV) 上均有良好的适配表现。
**相关讨论链接:**
* [120 tok/s on 12GB VRAM with Gemma 4 12B QAT MTP](https://www.reddit.com/r/LocalLLaMA/comments/1typjmc/120_toks_on_12gb_vram_with_gemma_4_12b_qat_mtp/)
* [Update on Gemma 4 having MTP: Reverse engineering effort](https://www.reddit.com/r/LocalLLaMA/comments/1shgo1x/update_on_gemma_4_having_mtp_reverse_engineering/)
* [Gemma 4 QAT Q4_0 Bench on Strix Halo](https://www.reddit.com/r/LocalLLaMA/comments/1tyilv7/gemma_4_qat_q4_0_bench_on_strix_halo/)
* [llama.cpp now supports Gemma 4 MTP!](https://www.reddit.com/r/LocalLLM/comments/1tzd6fg/llamacpp_now_supports_gemma_4_mtp/)
[2026-06-08 09:02:14.295] Answer completed <14.79s>
[2026-06-08 09:02:14.295] Retrieval: 31300.41 ms, Answers: 14775.63 ms, Total: 46076.05 ms
[2026-06-08 09:02:14.295] Prompt Tokens: 19510, Completion Tokens: 1096 <gemma-4-12b-it-qat-q4_0> <74.15 tokens/s>
[2026-06-08 09:02:14.295] All done ✅
(二)测试
硬件环境: Intel i9-12900F + 64GB(DDR4-3000) + 4060Ti-16GB
软件环境: Windows 11 专业版 25H2 LLM后端: llama.cpp。
只测了一轮,某些指标和之前的测试变化较大,比如Prompt Token,是因为近期进行了很多优化。
- 某些数据更新了QAT的draft模型后重新测试过。
- 我的数据是从Streaming开始(TTFT之后)计算的时长,所以稍微偏快。
- 速度和生成的内容方式有关,测试结果仅供参考,只有横向对比才有意义。
(2.1)gemma-4-12b-it-qat-q4_0
原版QAT模型。
- 模型文件尺寸:
6.5GB - Draft:
qat-q4_0 - Prompt Token(总计):
8263左右 - Completion Tokens:
806左右
| 模型 | 生成速度 tokens/s | 生成前时长 ms | 总时长 ms |
|---|---|---|---|
| 原版 | 35.87 | 10072 | 32540 |
| MTP | 100.24 | 10022 | 18416 |
(2.2)gemma-4-19b-A4B-it-Q4_KM
经裁剪的模型。
这个模型配合MTP会有问题,仅测试速度。
- 模型文件尺寸:
11.4GB - Draft:
qat-q4_0 - Prompt Token(总计):
8275左右 - Completion Tokens:
866左右
| 模型 | 生成速度 tokens/s | 生成前时长 ms | 总时长 ms |
|---|---|---|---|
| 原版 | 77.81 | 11131 | 20763 |
| MTP | 131.95 | 9184 | 15943 |
(2.3)gemma-4-21B-A4B-it-IQ4_XS
经裁剪的模型。
- 模型文件尺寸:
10.7GB - Draft:
qat-q4_0 - Prompt Token(总计):
8276左右 - Completion Tokens:
794左右
| 模型 | 生成速度 tokens/s | 生成前时长 ms | 总时长 ms |
|---|---|---|---|
| 原版 | 83.76 | 9416 | 18892 |
| MTP | 143.6 | 9995 | 15547 |
(2.4)gemma-4-26B-A4B-it-QAT-Q4
原版QAT模型。
显存不足的边缘。
- 模型文件尺寸:
13.2GB - Draft:
qat-q4_0 - Prompt Token(总计):
8276左右 - Completion Tokens:
775左右
| 模型 | 生成速度 tokens/s | 生成前时长 ms | 总时长 ms |
|---|---|---|---|
| 原版 | 81.66 | 8390 | 17884 |
| MTP | 144.17 | 8834 | 14498 |
(2.5)gemma-4-31B-it-UD-IQ3XXS
这个不是QAT模型,QAT只有Q4,文件太大了实在跑不了。
显存不足的边缘。
💡更新:通过更换 draft (或者叫 assistant) 模型后速度恢复正常了。
之前测试极慢的速度用的是Unsloth的配套模型,如果遇到同样问题,请考虑换别的Draft模型。
下面的数值是更新过后的,而不是之前的个位数速度。
- 模型文件尺寸:
11.0GB - Draft:
qat-q4_0 - Prompt Token(总计):
8276左右 - Completion Tokens:
938左右
| 模型 | 生成速度 tokens/s | 生成前时长 ms | 总时长 ms |
|---|---|---|---|
| 原版 | 21.21 | 14164 | 58386 |
| MTP | 45.41 | 12857 | 33444 |
(2.6)gemma-4-31B-it-qat-UD-Q4_K_XL
原版QAT模型。
显存严重不足,不建议16GB玩这个。
⚠️我知道跑不了,就是想试试......
- 模型文件尺寸:
16.0GB - Draft:
qat-q4_0 - Prompt Token(总计):
8296左右 - Completion Tokens:
812左右
| 模型 | 生成速度 tokens/s | 生成前时长 ms | 总时长 ms |
|---|---|---|---|
| 原版 | 4.92 | 35300 | 212602 |
| MTP | 13.83 | 24551 | 83907 |
(三)结论
- Gemma4系列的速度,和Qwen3.6相比,又回到同等级。
- 比未合并之前,分支支持MTP的速度更快。
- 是否是谷歌的QAT模型,对Draft影响不大,毕竟只是更准确。