# Gemma 4（26B MoE，4B 激活）

{% hint style="info" %}
**状态（2026年4月）：** Gemma 4 于 **2026年4月2日** 由 Google 发布，作为 Gemma 开放权重家族的下一代。推出了两个变体：一个 **31B 稠密** 模型（`google/gemma-4-31b-it`）和一个 **26B MoE，约有 4B 激活参数** (`google/gemma-4-26b-it`）。两者均按照标准的 **Gemma 使用条款** 发布于 [huggingface.co/google/gemma-4-26b-it](https://huggingface.co/google/gemma-4-26b-it) 和 [huggingface.co/google/gemma-4-31b-it](https://huggingface.co/google/gemma-4-31b-it).
{% endhint %}

Gemma 4 是 Google 在 Gemma 系列中的首个 MoE 条目，也是首个进入 LMSYS Arena 顶部排名的 Gemma 版本（厂商报告 **发布时总排名第 3**，在真实性和指令遵循方面略胜若干闭源模型）。最醒目的数字是 MoE 变体： **总参数 26B，每个 token 约激活 4B**，这使你能以小型稠密模型的推理成本获得接近前沿的指令遵循能力。

对于 Clore.ai 用户，实际意义很简单——26B MoE 可以在单张 **RTX 4090（24GB）** 上通过 FP8 或 4 位量化舒适运行（约 10 tok/s），并在单张 **H100 80GB** 上达到生产级吞吐量（约 40+ tok/s），使 Gemma 级别的指令遵循能力在市场上以大约 $0.5–2/天 的成本触手可及。31B 稠密变体能力更强但也更昂贵，需要 2× RTX 4090 或 1× H100 才能提供服务。

## 关键特性

* **MoE 架构（26B 变体）** — 总参数 26B，每个 token 约激活 4B；以 4B 级推理成本获得 26B 级质量
* **稠密回退方案（31B 变体）** — 适合偏好稠密推理可预测性和工具链成熟度的团队
* **128K 上下文窗口** — 长文档问答、中等规模代码库上的 RAG、多轮智能体循环
* **强大的指令遵循能力** — Gemma 4 明确针对工具使用、结构化输出和忠实约束遵循进行了调优
* **多语言** — 完整继承 Gemma 3 的多语言覆盖范围，并扩展了非英语基准测试集
* **开放权重，Gemma 条款** — 对大多数商业用途免费；请先查看 [Gemma 禁止使用政策](https://ai.google.dev/gemma/prohibited_use_policy) 再上线
* **一流工具支持** — 开箱即用支持 vLLM、SGLang、Ollama 和 Hugging Face Transformers

## 选择你的变体

| 变体                                     | 总参数 | 激活参数          | 上下文  | 推荐量化           | 推荐的 Clore GPU                                                                                                   |
| -------------------------------------- | --- | ------------- | ---- | -------------- | --------------------------------------------------------------------------------------------------------------- |
| **Gemma 4 26B MoE** (`gemma-4-26b-it`) | 26B | 每个 token 约 4B | 128K | FP8 或 4 位 GPTQ | 1× [RTX 4090](https://clore.ai/rent-4090.html?utm_source=docs\&utm_medium=guide\&utm_campaign=gemma4) （24GB，量化） |
| **Gemma 4 31B 稠密** (`gemma-4-31b-it`)  | 31B | 31B（全部）       | 128K | FP8 或 BF16     | 1× [H100](https://clore.ai/rent-h100.html?utm_source=docs\&utm_medium=guide\&utm_campaign=gemma4) （80GB，BF16）   |

{% hint style="success" %}
**实用选择：** 对于 90% 的单 GPU 部署，选择 **FP8 上的 Gemma 4 26B MoE**。你可以在 4090 上以约 10–15 tok/s、在 H100 上以约 40+ tok/s 获得 Arena 级标杆质量，同时无需承担稠密 31B 推理的延迟成本。
{% endhint %}

***

## 服务器要求

| 组件     | 26B MoE（4 位，4090）  | 26B MoE（FP8，H100） | 31B 稠密（BF16，H100） |
| ------ | ------------------ | ----------------- | ----------------- |
| GPU 显存 | 24GB               | 80GB              | 80GB              |
| 系统内存   | 32GB               | 64GB              | 64GB              |
| 磁盘     | 60GB NVMe          | 80GB NVMe         | 90GB NVMe         |
| 网络     | 用于 HF 拉取的 100 Mbps | 推荐 1 Gbps         | 推荐 1 Gbps         |
| CUDA   | 12.1+              | 12.4+             | 12.4+             |
| 驱动     | 550+               | 555+              | 555+              |

建议在静态权重占用之外额外预留约 20% 的显存余量，以覆盖长上下文下的 KV 缓存。将 `--gpu-memory-utilization 0.90` 用于 vLLM 是一个不错的默认值。

***

## 在 CLORE.AI 上快速部署

最快的路径：租用单张 GPU，拉取标准 `vllm/vllm-openai` 镜像，并通过与 OpenAI 兼容的 API 提供模型服务。下面是本系列其余指南使用的 docker-compose 布局——请根据你上面选择的变体调整模型名称和张量并行大小。

### 选项 A — 在单张 GPU 上运行 Gemma 4 26B MoE（vLLM，FP8）

```yaml
版本："3.8"
服务：
  vllm：
    镜像：vllm/vllm-openai:latest
    端口：
      - "8000:8000"
    环境变量：
      - HUGGING_FACE_HUB_TOKEN=${HF_TOKEN}
    卷：
      - hf_cache:/root/.cache/huggingface
    命令：>
      --model google/gemma-4-26b-it
      --quantization fp8
      --max-model-len 32768
      --gpu-memory-utilization 0.90
      --served-model-name gemma-4-26b
      --trust-remote-code
    部署：
      资源：
        预留：
          设备：
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    shm_size: "8gb"

卷：
  hf_cache：
```

```bash
# 启动它
HF_TOKEN=hf_xxx docker compose up -d

# 在权重下载时查看日志
docker compose logs -f vllm
```

{% hint style="info" %}
**许可证门控：** Hugging Face 上的 Gemma 模型要求每个账号先接受一次 Google 的条款。请在浏览器中访问模型页面，点击“确认许可证”，然后导出 `HF_TOKEN` 以便容器可以拉取权重。
{% endhint %}

### 选项 B — 在 H100 上运行 Gemma 4 31B 稠密（vLLM，BF16）

```bash
docker run --gpus all -p 8000:8000 \
  -e HUGGING_FACE_HUB_TOKEN=$HF_TOKEN \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  --ipc=host \
  vllm/vllm-openai:latest \
  --model google/gemma-4-31b-it \
  --dtype bfloat16 \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.90 \
  --served-model-name gemma-4-31b
```

### 选项 C — 在 2× RTX 4090 上运行 Gemma 4 31B 稠密（FP8，张量并行）

```bash
docker run --gpus all -p 8000:8000 \
  -e HUGGING_FACE_HUB_TOKEN=$HF_TOKEN \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  --ipc=host \
  vllm/vllm-openai:latest \
  --model google/gemma-4-31b-it \
  --quantization fp8 \
  --tensor-parallel-size 2 \
  --max-model-len 16384 \
  --gpu-memory-utilization 0.90 \
  --served-model-name gemma-4-31b
```

### 选项 D — 使用 Ollama 进行快速本地测试

对于笔记本级实验，Ollama 封装了 GGUF 社区构建版。预计量化版本会在官方发布后几天内上线。

```bash
# 一旦社区 GGUF 发布
ollama pull gemma4:26b-moe-q4_k_m
ollama run gemma4:26b-moe-q4_k_m

# 在 :11434 上提供与 OpenAI 兼容的 API
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4:26b-moe-q4_k_m",
    "messages": [{"role":"user","content":"请用两句话总结 MoE 路由方法。"}]
  }'
```

请参阅 [Ollama 指南](/guides/guides_v2-zh/yu-yan-mo-xing/ollama.md) 了解通用设置、模型管理和持久化技巧。

***

## 使用示例

vLLM 容器在以下位置暴露与 OpenAI 兼容的 API： `:8000`。任何支持 OpenAI chat-completions 架构的工具都可以直接使用。

### Curl 聊天补全

```bash
curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma-4-26b",
    "messages": [
      {"role": "system", "content": "你是一位严谨的技术写作者。"},
      {"role": "user", "content": "请用三句话解释 MoE 路由，且不要使用类比。"}
    ],
    "max_tokens": 512,
    "temperature": 0.7
  }'
```

### Python（OpenAI 客户端）

```python
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")

resp = client.chat.completions.create(
    model="gemma-4-26b",
    messages=[
        {"role": "system", "content": "你以纯文本回答，不使用 markdown。"},
        {"role": "user", "content": "给我一个针对 Go HTTP 处理器的 5 条代码审查清单。"},
    ],
    temperature=0.7,
    max_tokens=1024,
)
print(resp.choices[0].message.content)
```

### 流式响应

```python
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")

stream = client.chat.completions.create(
    model="gemma-4-26b",
    messages=[{"role": "user", "content": "写一首关于分布式推理的俳句。"}],
    stream=True,
    max_tokens=128,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)
print()
```

### Hugging Face Transformers（离线使用）

```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "google/gemma-4-26b-it"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    load_in_4bit=True,  # 可将该 MoE 装入单张 24GB 显卡
)

messages = [
    {"role": "user", "content": "请重构这个 Python 函数以提升可读性：\n\ndef f(x): return [i for i in x if i%2==0 and i>10]"},
]
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
output = model.generate(input_ids, max_new_tokens=512, do_sample=True, temperature=0.7)
print(tokenizer.decode(output[0][input_ids.shape[-1]:], skip_special_tokens=True))
```

***

## 性能提示

* **在 Hopper 上使用 FP8。** 在 H100 上，FP8 检查点的内存占用大约是 BF16 的一半，而在指令遵循任务上没有可测得的质量损失。传递 `--quantization fp8` 给 vLLM。
* **在 Ada（RTX 4090）上使用 4 位 GPTQ。** 对于单张 4090 上的 MoE 变体，社区 GPTQ 4 位构建是实用的甜蜜点——预计约 10–15 tok/s。Ollama 的 Q4\_K\_M GGUF 构建也能提供相近质量，且运维更简单。
* **31B 稠密使用张量并行。** 在 2× RTX 4090 上，传递 `--tensor-parallel-size 2`。将上下文限制在你实际需要的范围内（`--max-model-len 16384`）——上下文每翻倍，KV 缓存占用也大致翻倍。
* **MoE 使用专家并行。** 在 26B MoE 的多 GPU 配置中，vLLM 的 `--enable-expert-parallel` 可以在更高批量大小下显著提升吞吐量。对于单 GPU 来说则没这个必要。
* **长上下文使用分块预填充。** 当超过 32K 时，添加 `--enable-chunked-prefill` 到 vLLM。这能让预填充延迟保持可控，并防止解码路径出现停顿。
* **预先拉取权重。** 对于临时性的 Clore 租用，请在 `/root/.cache/huggingface` 挂载持久卷，这样后续运行就能跳过 50–60GB 的下载。
* **选择合适的服务后端。** vLLM 是稳妥的默认选择。SGLang 在 Hopper 上的高并发工作负载中通常表现更优；更广泛的比较请参阅 [vLLM 指南](/guides/guides_v2-zh/yu-yan-mo-xing/vllm.md) 。

***

## 基准测试

{% hint style="warning" %}
**厂商发布的数据——独立验证仍在等待中。** 以下数字来自 Google 于 2026 年 4 月 2 日发布的启动材料。私有评测上的独立复现仍在陆续到来。请将 Arena 排名和真实性分数视为方向性指标，而非绝对值。
{% endhint %}

| 基准                 | Gemma 4 26B MoE     | Gemma 4 31B 稠密      | 参考   |
| ------------------ | ------------------- | ------------------- | ---- |
| LMSYS Arena（总榜）    | 发布时第 3              | 发布时约第 5             | 厂商报告 |
| 指令遵循（IFEval）       | 厂商称相较 Gemma 3 有显著提升 | 厂商称相较 Gemma 3 有显著提升 | 厂商报告 |
| 真实性（SimpleQA / 类似） | 根据 Google，优于若干闭源模型  | 相当                  | 厂商报告 |
| 多语言（Global-MMLU）   | 厂商称与更大得多的模型持平       | 迄今为止最佳 Gemma 分数     | 厂商报告 |

Gemma 4 的定位论点是“每个激活参数带来更多实用性”，而不是“纯粹的 HumanEval 之王”。如果你需要纯代码生成，请与 [GLM-5.1](/guides/guides_v2-zh/yu-yan-mo-xing/glm-5-1.md) （前沿编码）或 [Qwen3.5](/guides/guides_v2-zh/yu-yan-mo-xing/qwen35.md) （最佳 35B 级稠密模型）比较。如果你需要长时程智能体循环，GLM-5.1 仍然是更锋利的工具。

***

## 故障排查

| 问题                                    | 解决方案                                                                                                                |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `OutOfMemoryError` 在 24GB 上加载 26B MoE | 切换到 FP8（`--quantization fp8`）或 4 位（`load_in_4bit=True` 在 Transformers 中）。将 `--max-model-len` 降到 16384 以缩小 KV 缓存。    |
| `OutOfMemoryError` 在 H100 上加载 31B 稠密  | 80GB 上以 32K 上下文运行 BF16 已经处于边缘。降低 `--max-model-len` 到 16384，或改用 FP8。                                                 |
| Hugging Face 下载失败并返回 403              | 你尚未在模型页面接受 Gemma 许可证。请在浏览器中打开该 URL，确认条款，然后使用具有 `read` 权限范围的令牌重新拉取。                                                  |
| 首个 token 很慢                           | 冷启动权重加载（首次请求约 30–60 秒）外加长输入的预填充。服务器启动后先发一个虚拟预热请求。添加 `--enable-chunked-prefill` 用于长上下文工作负载。                          |
| 输出乱码 / 重复循环                           | 检查聊天模板—— `tokenizer.apply_chat_template` 是必需的；不要手动拼接 `system`+`user` 字符串。将 `temperature=0.7` 和 `top_p=0.95` 作为通用设置。 |
| 工具 / JSON 输出不可靠                       | 使用 vLLM 的 `--guided-decoding-backend` 或通过 `response_format`传递 JSON schema。该模型对约束的遵循很好，但非结构化提示仍然会漂移。                 |
| `不支持的量化方式` vLLM 中的错误                  | 升级到 2026 年 4 月之后发布的 vLLM 版本（`pip install -U vllm --pre`）。Gemma 4 架构需要最新的配置解析器。                                      |

***

## 常见问题

**Gemma 4 对比 Llama 4？** 不同任务，不同形态。 [Llama 4 Scout](/guides/guides_v2-zh/yu-yan-mo-xing/llama4.md) 是 109B/17B-active，并拥有标称 10M 上下文——当你需要向模型灌入超大输入时非常合适。Gemma 4 26B MoE 的总参数规模小得多（26B 对 109B），每个 token 激活的参数也更少（4B 对 17B），并且在指令遵循和真实性方面调优得更深入。对于紧张的显存预算和单位参数质量，Gemma 4 更胜一筹。对于夸张的上下文长度，Llama 4 Scout 更强。

**Gemma 4 26B MoE 需要多少显存？**

* 4 位 GGUF / GPTQ：可装入 **24GB** （单张 RTX 4090），约 10–15 tok/s。
* FP8：在 **40GB**上运行轻松，在 **80GB** （H100）上速度快，约 40+ tok/s。
* 完整 BF16：约 55GB 权重外加 KV 缓存——建议使用 **80GB** 卡。

**我可以将 Gemma 4 用于商业用途吗？** 可以，依据标准 Gemma 使用条款。部署前请查看 [Gemma 禁止使用政策](https://ai.google.dev/gemma/prohibited_use_policy) ——其中对特定使用场景（欺骗、生成 CSAM、非法活动）有限制，并且你必须将下游许可证声明传递给你的用户。它不是 Apache 2.0 / MIT 模型——它是在使用政策约束下开放权重的模型。如果你需要完全无限制的许可证， [Qwen3.5](/guides/guides_v2-zh/yu-yan-mo-xing/qwen35.md) （Apache 2.0）或 [GLM-5.1](/guides/guides_v2-zh/yu-yan-mo-xing/glm-5-1.md) （MIT）是替代选择。

**Gemma 4 对比 DeepSeek-V4？** [DeepSeek-V4](/guides/guides_v2-zh/yu-yan-mo-xing/deepseek-v4.md) 属于不同的权重级别——约 1T 参数、多模态、1M 上下文。当你需要原始能力且拥有严肃的 GPU 机架时，用 DeepSeek-V4。当你想要在 **单张 GPU** 上获得强大的指令遵循能力，并且在意 Clore 上约 $1–2/天 的租用成本时，用 Gemma 4 26B MoE。Gemma 4 是“能装进 4090 的最佳模型”候选；DeepSeek-V4 是“我愿意为 8× H200 付费”的候选。

**Gemma 4 支持视觉 / 多模态输入吗？** Gemma 4 的主发布版本是仅文本的指令微调模型（`*-it`）。Google 过去通常会在文本版本之后推出 PaliGemma 视觉变体——请关注 [huggingface.co/google](https://huggingface.co/google) 以获取更新。若你今天需要一个支持图像的开放模型，可以看看 [Kimi K2.5](/guides/guides_v2-zh/yu-yan-mo-xing/kimi-k2.md) 或 [Llama 4 Scout](/guides/guides_v2-zh/yu-yan-mo-xing/llama4.md).

***

## 相关指南

* [vLLM](/guides/guides_v2-zh/yu-yan-mo-xing/vllm.md) — 本指南使用的生产服务后端
* [Ollama](/guides/guides_v2-zh/yu-yan-mo-xing/ollama.md) — 使用 GGUF 构建进行本地测试的最快路径
* [Llama 4](/guides/guides_v2-zh/yu-yan-mo-xing/llama4.md) — Meta 的 MoE 替代方案，支持 10M 上下文
* [GLM-5.1](/guides/guides_v2-zh/yu-yan-mo-xing/glm-5-1.md) — 当前沿级编码 MoE（744B/40B-active），当 Gemma 的规模级别不够时可选
* [Qwen3.5](/guides/guides_v2-zh/yu-yan-mo-xing/qwen35.md) — Apache-2.0 的 35B 稠密模型，另一个强大的单 GPU 选项
* [Gemma 3](/guides/guides_v2-zh/yu-yan-mo-xing/gemma3.md) — 前一代版本，是迁移时很有用的基线

### 链接

* [Hugging Face 上的 Gemma 4 26B MoE](https://huggingface.co/google/gemma-4-26b-it)
* [Hugging Face 上的 Gemma 4 31B 稠密](https://huggingface.co/google/gemma-4-31b-it)
* [Gemma 使用条款](https://ai.google.dev/gemma/terms)
* [Gemma 禁止使用政策](https://ai.google.dev/gemma/prohibited_use_policy)
* [vLLM 文档](https://docs.vllm.ai)
* [SGLang 仓库](https://github.com/sgl-project/sglang)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-zh/yu-yan-mo-xing/gemma4.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
