Gemma 4 QAT 发布:优化边缘设备的模型压缩

Google 发布了针对 Gemma 4 进行量化感知训练 (QAT) 优化的新检查点。此次更新专注于降低内存需求并提高在移动设备、笔记本电脑和消费级 GPU 上的本地部署推理速度,且不会像标准压缩那样带来显著的质量损失。

量化感知训练 (QAT) 与 后训练量化 (PTQ)

QAT 通过在训练期间模拟量化过程,将量化过程直接集成到训练阶段中。与在训练完成后对模型进行压缩的标准后训练量化 (PTQ) 相比,这种方法最大限度地减少了质量损失。Google 报告称,QAT 的结果比标准的 PTQ 基准具有更高的整体质量。

此次发布提供了两种主要格式的 QAT 检查点:

  • Q4_0: 一种广泛使用的量化格式,旨在最大限度地提高所有 Gemma 4 模型的性能。
  • Mobile-Specialized Format: 一种专门为边缘硬件设计的创新架构,以进一步减少内存占用。

移动端特定优化

为了确保在移动处理器上的流畅性能,Google 实施了一种自定义量化架构,以应对边缘硬件的具体限制:

  • Static Activations: 通过在训练期间预先计算缩放设置,模型减少了移动芯片上的实时处理负载,从而实现更快的响应时间。
  • Channel-wise Quantization: 数据结构经过调整以与移动加速器的设计对齐,从而允许计算原生运行,而无需缓慢的软件变通方案。
  • Targeted 2-bit Quantization: 核心推理层保持较高精度,而负责生成 token 的模型特定部分被大幅压缩至 2-bit 以节省存储。
  • Embedding and KV Cache Optimization: 压缩重点在于词汇表和短期记忆 (KV cache),这极大地减少了长对话期间的活跃内存占用。

对于 Gemma 4 E2B 模型的纯文本部署(不包括 Per-Layer Embeddings),内存需求降低至不足 1 GB。

部署与生态系统支持

QAT 检查点可在 Hugging Face 上通过 GGUF 格式用于 llama.cpp,以及通过压缩张量用于 vLLM。此次发布还支持多种其他集成路径:

  • Local Desktop Execution: 通过 llama.cpp、Ollama 和 LM Studio 支持。
  • On-Device Deployment: 通过 Google 的 LiteRT-LM 运行时或通过 Transformers.js 进行基于 Web 的执行,针对边缘部署进行了优化。
  • High-Performance Serving:SGLangvLLM 支持,并针对 Apple Silicon 通过 MLX 进行了特定优化。
  • Fine-tuning: 权重可以使用 Hugging Face Transformers 和 Unsloth 进行微调。

社区洞察与技术观察

开发者反馈突出了这些压缩模型的实用价值和局限性:

性能与准确度

某些用户指出,第三方优化可能会进一步提高结果。一位用户报告称,Unsloth 的 QAT 量化版本相对于未量化的 BF16 模型表现出比 Google 原始 QAT 检查点更高的准确度:

"Looks like they can get very close to 100% accuracy compared to the BF16 model that is unquantized, and Unsloth's quants are better than the original Google's QAT as posted in the article."

VRAM 与 硬件兼容性

Gemma 4 12B 模型的 Q4_0 变体需要大约 6.7GB 的 VRAM,这使得它在拥有 16GB RAM 的机器上是可行的。然而,社区成员注意到 Google 的 macOS Edge Gallery 中存在差异,其中 12B 模型因 RAM 限制被列为不支持,尽管 Q4_0 变体具有较低的需求。

多模态能力

早期测试表明,压缩后的 E2B 模型仍具备多模态任务的能力。一位用户报告称,成功在 Mac 上使用 litert-lm 运行了 gemma-4-E2B-it-litert-lm 模型(约 3.2GB),展示了其处理音频和图像输入甚至生成有效 SVG 代码的能力。

Sources