Gemma 4 备忘清单

Gemma 4 是 Google DeepMind 基于 Apache 2.0 发布的开放权重多模态大语言模型家族,覆盖从移动端边缘部署到服务器级部署的四种规模,并具备前沿智能能力。

快速开始

快速上手

from transformers import AutoProcessor, AutoModelForCausalLM
import torch

MODEL_ID = "google/gemma-4-E4B-it"

processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(
    MODEL_ID,
    dtype=torch.bfloat16,
    device_map="auto"
)

messages = [
    {"role": "system", "content": "You are helpful."},
    {"role": "user",   "content": "Explain MoE briefly."},
]

text = processor.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False
)
inputs = processor(
    text=text, return_tensors="pt"
).to(model.device)
input_len = inputs["input_ids"].shape[-1]

outputs = model.generate(**inputs, max_new_tokens=512)
response = processor.decode(
    outputs[0][input_len:], skip_special_tokens=False
)
result = processor.parse_response(response)
# result["thinking"]  → 内部推理链
# result["response"] → 展示给用户的最终回答

简介

发布于 2026-03-31 · Apache 2.0 · 基于 Gemini 3 研究构建 · 支持 140+ 语言

安装

$ pip install -U transformers torch accelerate

全部模型均可在 HuggingFace 通过 google/<model-id> 获取

规格Model ID
E2Bgemma-4-E2B-it
E4Bgemma-4-E4B-it
31Bgemma-4-31b-it
26B A4Bgemma-4-26b-a4b-it

采样参数

参数
temperature1.0
top_p0.95
top_k64

最佳实践

  • 任意提示中都应将图片/音频放在文本之前
  • 多轮对话时:在历史中省略思考块(thought blocks)
  • 训练数据中包含 75%+ 的 CoT 数据以保持推理能力
  • 仅文本微调时冻结视觉层

模型家族

模型规格

模型架构总参数每 Token 激活层数上下文模态
E2BDense+PLE5.1B (2.3B eff)2.3B35128KText+Image+Audio
E4BDense+PLE8B (4.5B eff)4.5B42128KText+Image+Audio
31BDense30.7B30.7B60256KText+Image
26B A4BMoE25.2B3.8B30256KText+Image

滑动窗口:512 tokens(E2B/E4B)· 1024 tokens(31B/26B)· 词表:262K(全模型一致)

架构特性

混合注意力

  • Local 层:滑动窗口(512 或 1024 tokens)
  • Global 层:全局上下文,与 local 层交错排列
  • 最后一层始终是 global attention 层

PLE — 边缘模型(E2B/E4B)

  • Per-Layer Embeddings:每个解码层都有自己的小型 embedding 表
  • 大型静态表通过快速查表,不走稠密矩阵乘法
  • 有效计算参数远小于加载总参数
  • 可在 1.5 GB 以下 VRAM(4-bit 量化)进行推理

p-RoPE & Shared KV Cache

  • 在 global 层使用 Proportional RoPE(p-RoPE)提升长程一致性
  • global 层共享 KV Cache,降低峰值显存占用
  • 在 256K 上下文下保持稳定性能

MoE — 26B A4B

  • 128 个专家 + 1 个始终激活的共享专家
  • 推理时每个 token 激活 8 个专家
  • 速度接近 4B 稠密模型,质量接近 30B
  • 视觉编码器约 5.5 亿参数(与 31B 相同)

显存需求

模型BF16(16-bit)8-bit4-bit
E2B9.6 GB4.6 GB3.2 GB
E4B15 GB7.5 GB5 GB
31B58.3 GB30.4 GB17.4 GB
26B A4B48 GB25 GB15.6 GB

仅为基础权重显存,不含 KV cache 额外占用。

选型建议

可用 VRAM推荐模型
< 5 GBE2B (4-bit)
5–8 GBE4B (4-bit)
15–20 GBE4B (BF16)
24–32 GB31B (4-bit)
48–80 GB31B (BF16)
高吞吐场景26B A4B

基准测试

核心基准

基准项31B26B A4BE4BE2BGemma 3 27B
MMLU Pro85.2%82.6%69.4%60.0%67.6%
MMMLU (multilingual)88.4%86.3%76.6%67.4%70.7%
AIME 2026 (math)89.2%88.3%42.5%37.5%20.8%
GPQA Diamond84.3%82.3%58.6%43.4%42.4%
LiveCodeBench v680.0%77.1%52.0%44.0%29.1%
Codeforces ELO21501718940633110
BigBench Extra Hard74.4%64.8%33.1%21.9%19.3%
Tau2 avg (agentic)76.9%68.2%42.2%24.5%16.2%
HLE no tools19.5%8.7%
HLE with search26.5%17.2%

以上结果均基于启用 thinking 模式的指令微调模型。

视觉基准

基准项31B26B A4BE4BE2B
MMMU Pro76.9%73.8%52.6%44.2%
MATH-Vision85.6%82.4%59.5%52.4%
MedXPertQA MM61.3%58.1%28.7%23.5%
OmniDocBench↓0.1310.1490.1810.290

OmniDocBench = 文档编辑距离(越低越好)。

长上下文

基准项31B26B A4BE4BE2B
MRCR v2 128K66.4%44.1%25.4%19.1%

Arena AI (LMSYS ELO)

ModelELOOpen Rank
Gemma 4 31B1452#3
Gemma 4 26B A4B1441#6

Thinking 模式

Thinking 控制

在 system prompt 开头加上 <|think|>

messages = [
    {
        "role": "system",
        "content": "<|think|>You are a math expert."
    },
    {"role": "user", "content": "Solve: 3x + 7 = 22"}
]

text = processor.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=True
)
outputs = model.generate(**inputs, max_new_tokens=2048)
response = processor.decode(
    outputs[0][input_len:], skip_special_tokens=False
)
result = processor.parse_response(response)
# result["thinking"]  → 分步推理
# result["response"] → 最终回答

Thinking 输出结构

<|channel>thought
[内部逐步推理 - 对用户隐藏]
<channel|>
[对用户可见的最终回答]

关闭 thinking 时的行为

对 31B/26B A4B 来说,即使 enable_thinking=False,仍会输出空标签:

<|channel>thought
<channel|>
[最终回答]

E2B/E4B 在关闭时会完全跳过空标签。

控制 Token

Token作用
<|think|>在 system prompt 启用 thinking
<|channel>thought\n打开内部思考块
<channel|>关闭思考块
<|turn>打开一轮对话
<turn|>关闭一轮对话

多轮对话规则

  • 不要把 thought 内容写入会话历史
  • 仅将 result["response"] 作为模型轮次内容传回
  • 复杂推理任务建议提高 max_new_tokens
  • AIME、证明题、调试等任务建议 enable_thinking=True

多模态

图片输入

支持可变宽高比 + 可配置的视觉 token 预算

预算适用场景
70快速分类、视频帧
140图像描述、缩略图
280通用图像理解
560图表、示意图
1120OCR、PDF 解析、细节识别
# 图片必须在文本之前(硬性要求)
messages = [{"role": "user", "content": [
  {"type": "image", "image": image},
  {"type": "text",  "text": "Describe this chart."},
]}]
inputs = processor(
  text=text,
  images=image,
  return_tensors="pt"
).to(model.device)

视觉编码器:约 1.5 亿参数(E2B/E4B)· 约 5.5 亿参数(31B/26B)

音频输入

仅 E2B 与 E4B 支持(约 3 亿参数音频编码器)

  • 音频最长:30 秒
  • 支持任务:ASR 与语音翻译

ASR 提示词

Transcribe the following speech in
{LANGUAGE} into {LANGUAGE} text.

翻译提示词

Transcribe in {SRC_LANG}, then
translate to {TARGET_LANG}.

视频输入

连续图像帧处理:

  • 最大:60 秒,1 fps 即 60 帧
  • 每帧建议使用低 token 预算(70-140)
  • E2B/E4B 可同时处理音轨
# 将帧作为图像列表传入
inputs = processor(
    text=text,
    images=[frame1, frame2, ..., frame60],
    return_tensors="pt"
)

模态顺序

内容中始终将图片/音频放在文本前面

# ✅ 正确顺序
content = [
    {"type": "image", "image": img},
    {"type": "text",  "text": "Describe it."},
]

# ❌ 文本在前会导致对齐问题
content = [
    {"type": "text",  "text": "Describe it."},
    {"type": "image", "image": img},
]

部署

HuggingFace

$ pip install -U transformers accelerate

BF16(默认)

from transformers import (
    AutoProcessor, AutoModelForCausalLM
)
import torch

mid = "google/gemma-4-31b-it"
processor = AutoProcessor.from_pretrained(mid)
model = AutoModelForCausalLM.from_pretrained(
    mid,
    torch_dtype=torch.bfloat16,
    device_map="auto"
)

4-bit 量化

from transformers import BitsAndBytesConfig

bnb = BitsAndBytesConfig(load_in_4bit=True)
model = AutoModelForCausalLM.from_pretrained(
    mid,
    quantization_config=bnb,
    device_map="auto"
)

Ollama

$ ollama pull gemma4     # 31B(默认)
$ ollama pull gemma4:e4b # 边缘 4B 版本
$ ollama pull gemma4:e2b # 边缘 2B 版本
$ ollama run  gemma4     # 交互聊天

自定义 GGUF(Modelfile)

FROM /path/to/fine-tuned.gguf
SYSTEM "You are a coding assistant."
$ ollama create mygemma -f Modelfile
$ ollama run mygemma

vLLM Server

$ vllm serve google/gemma-4-31B-it \
  --max-model-len 8192 \
  --enable-auto-tool-choice \
  --tool-call-parser gemma4 \
  --reasoning-parser gemma4

OpenAI 兼容 API 地址:http://localhost:8000/v1

Cloud & API

平台说明
Gemini APIgemma-4-31b-it
AI Studio浏览器 Playground
Vertex AI自定义端点
Cloud RunServerless GPU
GKE + vLLM自动伸缩

边缘与移动端

运行时适用场景
AICore (Android)系统级 API
LiteRT-LMIoT、Raspberry Pi
AI Edge Gallery端侧评测
LM Studio桌面图形界面
llama.cppCPU/GPU 混合

微调

QLoRA 配置

单张 16 GB GPU(T4 / 免费 Colab / Kaggle)即可:

from unsloth import FastModel

model, tokenizer = FastModel.from_pretrained(
    "google/gemma-4-E4B-it",
    load_in_4bit=True,
    max_seq_length=4096
)

model = FastModel.get_peft_model(
    model,
    r=16,
    lora_alpha=16,
    lora_dropout=0,
    target_modules=[
        "q_proj", "k_proj",
        "v_proj", "o_proj",
        "gate_proj", "up_proj", "down_proj"
    ],
)

视觉微调(E2B / E4B)

from unsloth import FastVisionModel

model, tokenizer = FastVisionModel.from_pretrained(
    "google/gemma-4-E4B-it",
    finetune_vision_layers=False,   # 冻结视觉编码器
    finetune_language_layers=True,
    load_in_4bit=True,
)

MoE 微调

对于 26B A4B,全量微调会破坏专家路由:

  • 仅使用 LoRA bf16(不要做 FFT)
  • 建议从 r=16lora_alpha=16 起步
  • 在 loss 收敛后再逐步增大上下文长度
  • 避免训练专家路由相关权重矩阵

数据要求

要求建议值
CoT 数据占比≥ 75% 的训练集
Thinking 格式包含 <|think|> 触发标记
多模态顺序图片/音频在文本前
Chat 模板ShareGPT 或 OpenAI 格式
RL 奖励可验证的最终答案

视觉微调建议

  1. 先冻结视觉层finetune_vision_layers=False
  2. 仅微调 LLM + attention + MLP projector
  3. 解冻前先验证文本域质量
  4. 仅在领域图像任务中解冻视觉层
  5. 训练时使用较低 token 预算(70–280)可节省 VRAM

Gemmaverse

专项模型

模型领域说明
MedGemma 4B医学影像多模态 X-ray/MRI 分析
MedGemma 27B临床文本EHR + 医疗报告推理
CodeGemma编程代码补全与重构
PaliGemma 2视觉语言细粒度 VLM 与视觉推理
ShieldGemma安全LLM 输出安全分类器
DataGemma事实数据基于 Google Data Commons 对齐
FunctionGemma工具调用低资源函数调用解析

生态

库与框架

  • ADK (Agent Development Kit)
  • JAX Gemma Library (google-deepmind/gemma)
  • Gemma Cookbook (google-gemma/gemma-cookbook)
  • google/adk-samples starter agents

社区变体

  • 100K+ 社区微调衍生模型
  • RecurrentGemma (Griffin architecture)
  • EmbeddingGemma, T5Gemma 2
  • VaultGemma (differential privacy)

延伸阅读