Gemma 4 QAT
在本地运行 Google Gemma 4 QAT 模型,包括 E2B、E4B、12B、26B-A4B 和 31B。
Gemma 4 QAT(量化感知训练)是 Google DeepMind 的新 Gemma 4 旨在 在保持模型质量的同时降低内存需求。这使得能够运行更大的模型,例如 Gemma 4 26B-A4B,可在消费级 GPU 上本地运行,最低仅需 16GB RAM.
Gemma 4 QAT 在训练时就考虑了量化,使 4 位格式的内存占用约内存使用量降低 72% 并具有 接近原始性能。此外还提供了 E2B 和 E4B 的 2 个特殊移动量化版本,采用了混合量化宽度。
转换为 Q4_0 从 QAT 直接转换到 Q4_0 时,26B-A4B 仅能获得 70.2% 的 top-1 准确率。 我们应用了 Unsloth Dynamic 方法 将其提升到 85.6%(+15.6%),同时还 缩小了 200MB!
Gemma 4 QAT 包括: E2B, E4B, 12B、26B-A4B,和 31B。 它们是多模态、混合思维模型,支持 140 多种语言,且上下文长度最高可达 256K 上下文。
Gemma-4-E2B QAT 可在 3GB RAM 上运行, E4B 在 5GB 上,12B 在 7GB 上,26-A4B 在 15GB 上,而 31B 在 18GB 上.
我们将 Gemma 4 QAT 的 GGUF 文件命名为 UD-Q4_K_XL 因为我们发现 q4_0 虽然更大,却会降低准确率。请参见我们的 Gemma 4 QAT GGUF 文件.
为了比较 int4 量化,请参见下方原始版本与 QAT 的大小差异。QAT 使用约 72% 更少的内存,同时保留几乎全部原始准确率:

E2B
2.62 GB
9.31 GB
71.86%
E4B
4.22 GB
15.1 GB
72.05%
12B
6.72 GB
23.8 GB
71.76%
26B A4B
14.2 GB
50.5 GB
71.88%
31B
17.3 GB
61.4 GB
71.82%
使用指南
面向 E2B 和 E4B 的 Gemma 4 QAT 变体专为手机和笔记本电脑设计,而更大的 26B-A4B 和 31B QAT 模型现在也能在笔记本电脑上运行,而不只是强大的家用 GPU 上。
每个 只有一个 GGUF 文件 适用于每个 Gemma 4 模型,因为我们发现高于上传的 UD-Q4_K_XL 版本的精度反而会降低准确率,而不会提升。请使用原始的非 QAT Q4_0 量化版本 这里.

硬件要求
表:Gemma 4 QAT 推理 GGUF 推荐硬件要求 (单位 = 总内存:RAM + VRAM,或统一内存)。
E2B QAT
3 GB
E4B QAT
5 GB
12B QAT
7 GB
26B A4B QAT
15 GB
31B QAT
18 GB
推荐设置
QAT 检查点使用与 Gemma 4 相同的推荐设置:
temperature = 1.0top_p = 0.95top_k = 64
Gemma 4 的最大上下文长度为 128K 适用于 E2B, E4B 和 256K 适用于 12B, 26B A4B, 31B.
QAT 分析
我们发现,天真地将 QAT Q4_0 检查点转换为 llama.cpp 里的 Q4_0 实际上会降低准确率,而且与用于 Q4_0 的 BF16 QAT 格点并不真正对齐。我们应用了 Unsloth dynamic 方法,强制让 llama.cpp 兼容的 Q4_0 格式与真正的 BF16 QAT Q4_0 格式更好地一致,最终不仅让量化文件更小(嵌入层不需要 Q6_K),而且还更准确!

下表列出了 KLD、Top 1% 准确率和磁盘空间。你可以看到,我们的版本在 99.9% KLD 和平均 KLD 上都有显著提升。 例如,E2B 的平均 KLD 为 0.00173,而朴素 Q4_0 量化为 0.05109(相对好 29 倍),而且我们的版本还要小 22%!
主要问题是将 QAT BF16 转换为 llama.cpp 的 Q4_0 格式并非无损。llama.cpp 使用 F16 缩放,而 QAT BF16 使用 BF16 缩放,并且在 llama.cpp 中这些缩放并没有被最优地确定。
朴素转换与 BF16 QAT 的字节完全一致率只有 24.77%,而我们发现借助一些技巧可以将其提升到 99.96%!
E2B
Unsloth
2.62
0.0557
0.00173
98.16
E2B
Q4_0
3.35
1.0513
0.05109
89.29
E4B
Unsloth
4.22
0.0536
0.00121
98.54
E4B
Q4_0
5.15
0.6722
0.03778
90.94
26B
Unsloth
14.25
2.7087
0.09788
85.63
26B
Q4_0
14.44
4.5420
0.36094
70.20
31B
Unsloth
17.29
1.3659
0.01403
96.67
31B
Q4_0
17.65
3.0030
0.09349
87.91
12B
Unsloth
6.72
9.2740
0.13288
88.76
12B
Q4_0
6.98
14.7323
0.50702
74.08
移动混合 QAT
Gemma-4 团队还发布了 Gemma-4-E2B-it 和 Gemma-4-E4B-it 的特殊移动混合 QAT 版本。我们也将它们忠实地转换为 llama.cpp 兼容格式,并且同样恢复了几乎全部准确率。我们对 2 位层使用了 TQ2_0,并采用了负缩放因子。
我们为 E2B 和 E4B 都制作了 UD-Q2_K_XL 量化版本。
大小
2.19 GB
3.22 GB
2 位(TQ2_0)张量
61(包括深层 MLP)
2(仅嵌入层)
相对于 BF16 的平均 KLD
0.00409
0.00102
Top-1 %
97.82%
98.76%
基础 PPL
~103
42.4
参见 gemma-4-E2B-it-qat-GGUF 和 gemma-4-E4B-it-qat-GGUF 适用于 UD-Q2_K_XL.
运行 Gemma 4 QAT 教程
由于 Gemma 4 GGUF 有多种尺寸,小模型的推荐起点是 8 位,而更大模型的推荐起点是 动态 4 位. Gemma 4 GGUF 文件:
🦥 Unsloth Studio 指南🦙 Llama.cpp 指南
你可以在我们的 Unsloth Studio✨ 笔记本:
🦥 Unsloth Studio 指南
Gemma 4 QAT 现在可以在 Unsloth Studio,我们的全新本地 AI 开源 Web UI 中运行和训练。Unsloth Studio 让你可以在本地运行模型,支持 MacOS、Windows、Linux 以及:

运行 Gemma 4 QAT
使用 Unsloth Studio 时,推理参数应会自动设置,不过你仍然可以手动更改。你还可以编辑上下文长度、聊天模板和其他设置。
更多信息请查看我们的 Unsloth Studio 推理指南.

🦙 Llama.cpp 指南
本指南无需选择量化类型,因为只有一种: UD-Q4_K_XL。请参见: Gemma 4 QAT 集合。在这些教程中,我们将使用 llama.cpp 用于快速本地推理,尤其是如果你有 CPU。
获取最新的 llama.cpp 在 GitHub 上这里。你也可以按照下面的构建说明进行操作。将 -DGGML_CUDA=ON 改为 -DGGML_CUDA=OFF 如果你没有 GPU,或者只想进行 CPU 推理。 对于 Apple Mac / Metal 设备,设置 -DGGML_CUDA=OFF 然后照常继续——Metal 支持默认开启。
如果你想使用 llama.cpp 直接加载模型,可以根据每个模型遵循以下命令。 UD-Q4_K_XL 是唯一的量化类型。你也可以通过 Hugging Face 下载(第 3 步)。这类似于 ollama run 。使用 export LLAMA_CACHE="folder" 以强制 llama.cpp 保存到特定位置。
26B-A4B:
31B:
E4B:
E2B:
通过以下方式下载模型(在安装 pip install huggingface_hub hf_transfer )之后。你可以选择 UD-Q4_K_XL 或其他量化版本,例如 Q8_0 。如果下载卡住,请参见: Hugging Face Hub、XET 调试
然后以对话模式运行模型(带视觉 mmproj-F16):
Llama-server 部署
要在 llama-server 上部署 Gemma-4,请使用:
要 禁用思考 / 推理,请使用 --chat-template-kwargs '{"enable_thinking":false}'
如果你使用 Windows Powershell,请使用: --chat-template-kwargs "{\"enable_thinking\":false}"
可交替使用 'true' 和 'false'。
最后更新于
这有帮助吗?

