继续提速:Llama.cpp 已经正式支持 Gemma4 MTP

文章目录

(一)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

(三)结论

  1. Gemma4系列的速度,和Qwen3.6相比,又回到同等级。
  2. 比未合并之前,分支支持MTP的速度更快。
  3. 是否是谷歌的QAT模型,对Draft影响不大,毕竟只是更准确。
相关推荐
Trouville011 天前
windows系统使用llama.cpp进行本地大模型部署
llama
棒棒的唐1 天前
windows 直接安装llama.cpp的方法
llama
troubles maker1 天前
LLaMA-Adapter V2: Parameter-Efficient Visual Instruction Model
llm·nlp·llama·多模态
xyz_CDragon1 天前
把旧电脑变成AI算力:llama.cpp RPC 局域网分布式推理验证与实战
人工智能·分布式·python·rpc·llama
黄林晴2 天前
Google Play 发版链路全面重构:合规前置、审核自动化、生态全面收紧
android·google
OpenBayes贝式计算2 天前
LongCat-Video-Avatar 1.5开源,具备全领域泛化能力的音频驱动视频生成模型;AI Student Impact Dataset 5 万量级多
google·llm·agent
OpenBayes贝式计算2 天前
教程上新丨16GB 笔记本跑出接近 26B MoE 性能,Gemma 4 12B 基于创新架构统一处理文本 / 图像 / 声音三种模态
计算机视觉·google·agent
花间相见2 天前
【端侧AI模型】—— Google Gemma 4 全面解析:端侧大模型的新标杆
人工智能·google·ai编程·gemini
wengad2 天前
llama.cpp进行模型格式转换和量化
llama