For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 QATQAT 分析

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% 更少的内存,同时保留几乎全部原始准确率:

Gemma 4 Mobile QAT 工作原理的可视化。
Gemma 4
QAT(int4)GGUF
原始 BF16
变化百分比

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,或统一内存)。

Gemma 4 QAT
要求

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.0

  • top_p = 0.95

  • top_k = 64

Gemma 4 的最大上下文长度为 128K 适用于 E2B, E4B256K 适用于 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%!

模型
方法
磁盘(GB)
99.9% KLD
平均 KLD
Top-1 %

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 量化版本。

E2B 移动版
E4B 移动版

大小

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-GGUFgemma-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 以及:

1

安装 Unsloth

在终端中运行:

MacOS、Linux、WSL:

Windows PowerShell:

2

启动 Unsloth

MacOS、Linux、WSL 和 Windows:

然后打开 http://127.0.0.1:8888 (或你自己的特定 URL)在浏览器中打开。

3

搜索并下载 Gemma 4 QAT

首次启动时,你需要创建一个密码来保护账户,并重新登录。

然后前往 Studio Chat 标签页,在搜索栏中搜索 Gemma 4,并下载你想要的模型和量化版本。

4

运行 Gemma 4 QAT

使用 Unsloth Studio 时,推理参数应会自动设置,不过你仍然可以手动更改。你还可以编辑上下文长度、聊天模板和其他设置。

更多信息请查看我们的 Unsloth Studio 推理指南.

🦙 Llama.cpp 指南

本指南无需选择量化类型,因为只有一种: UD-Q4_K_XL。请参见: Gemma 4 QAT 集合。在这些教程中,我们将使用 llama.cpp 用于快速本地推理,尤其是如果你有 CPU。

1

获取最新的 llama.cpp GitHub 上这里。你也可以按照下面的构建说明进行操作。将 -DGGML_CUDA=ON 改为 -DGGML_CUDA=OFF 如果你没有 GPU,或者只想进行 CPU 推理。 对于 Apple Mac / Metal 设备,设置 -DGGML_CUDA=OFF 然后照常继续——Metal 支持默认开启。

2

如果你想使用 llama.cpp 直接加载模型,可以根据每个模型遵循以下命令。 UD-Q4_K_XL 是唯一的量化类型。你也可以通过 Hugging Face 下载(第 3 步)。这类似于 ollama run 。使用 export LLAMA_CACHE="folder" 以强制 llama.cpp 保存到特定位置。

26B-A4B:

31B:

E4B:

E2B:

3

通过以下方式下载模型(在安装 pip install huggingface_hub hf_transfer )之后。你可以选择 UD-Q4_K_XL 或其他量化版本,例如 Q8_0 。如果下载卡住,请参见: Hugging Face Hub、XET 调试

4

然后以对话模式运行模型(带视觉 mmproj-F16):

5

Llama-server 部署

要在 llama-server 上部署 Gemma-4,请使用:

最后更新于

这有帮助吗?