flask-gearGemma 4 微调指南

使用 Unsloth 训练 Google 的 Gemma 4。

你现在可以对 Google 的 Gemma 4 E2B、E4B、26B-A4B 和 31B 使用 Unsloth 进行arrow-up-right微调。支持包括全部 视觉、文本、音频和 RL 微调。

  • 通过我们的 Gemma 4 进行微调 免费 Google Colab 笔记本:

  • 如果你想 保留推理 能力,你可以将推理风格示例与直接答案混合使用(至少保留 75% 的推理)。否则你可以完全输出。

  • 全量微调(FFT) 也可以使用。它会占用 4 倍更多的 VRAM。

  • Gemma 4 支持 140 种语言,因此非常适合多语言微调。

  • 微调完成后,你可以导出为 GGUF (适用于 llama.cpp/Unsloth/Ollama 等)

如果你使用的是旧版本(或在本地微调),请先更新:

Unsloth Studio:

基于代码的 Unsloth:

pip install --upgrade --force-reinstall --no-cache-dir unsloth unsloth_zoo

快速开始

🦥 Unsloth Studio 指南

Gemma 4 可以在 Unsloth Studio中运行和微调,这是我们为本地 AI 推出的新开源网页界面。使用 Unsloth Studio,你可以在以下系统上本地运行模型: MacOS、Windows、Linux 以及:

1

安装 Unsloth

在终端中运行:

MacOS、Linux、WSL:

curl -fsSL https://unsloth.ai/install.sh | sh

Windows PowerShell:

irm https://unsloth.ai/install.ps1 | iex
circle-check
2

启动 Unsloth

MacOS、Linux、WSL 和 Windows:

unsloth studio -H 0.0.0.0 -p 8888

然后在浏览器中打开 http://localhost:8888

3

训练 Gemma 4

首次启动时,你需要创建一个密码以保护你的账户,并在之后重新登录。随后你会看到一个简短的引导向导,用于选择模型、数据集和基本设置。你可以随时跳过。

在搜索栏中搜索 Gemma 4,并选择你想要的模型和数据集。接下来,按需调整超参数和上下文长度。

4

监控训练进度

点击开始训练后,你将能够监控并观察模型的训练进度。训练损失应当稳定下降。 完成后,模型会自动保存。

5

导出你的微调模型

完成后,Unsloth Studio 允许你将模型导出为 GGUF、safetensor 等格式。

🦥 Unsloth Core(基于代码)指南

下面是一个最小 SFT 配方(适用于“仅文本”微调)。另请参阅我们的 视觉微调 部分。

circle-info

如果你想进行 GRPO,只要禁用 fast vLLM 推理并改用 Unsloth 推理,它就能在 Unsloth 中运行。请参考我们的 视觉 RL 笔记本示例。

circle-info

如果你遇到 OOM:

  • per_device_train_batch_size 调低到 1 和/或降低 max_seq_length.

  • 保留 use_gradient_checkpointing="unsloth" 开启(它旨在减少 VRAM 使用并延长上下文长度)。

MoE 加载示例(bf16 LoRA):

加载完成后,你将附加 LoRA 适配器,并像上面的 SFT 示例那样进行训练。

MoE 微调(26B-A4B)

这个 26B-A4B 模型是 Gemma 4 系列中速度 / 质量的折中选择。由于它是一个 MoE 模型,每个 token 只激活部分参数,因此更稳妥的微调方式是:

  • 使用 LoRA 而不是全量微调

  • 优先使用 16 位 / bf16 LoRA 如果显存允许

  • 先从更短的上下文和更小的 rank 开始

  • 只有在流程稳定后再扩大规模

如果你的目标是最高质量,并且有更多显存,请改用 31B

多模态微调(E2B / E4B)

由于 E2BE4B 支持 图像音频,它们是 Gemma 4 中用于多模态微调的主要变体。

  • 使用 FastVisionModel

  • 加载多模态模型时,请先 finetune_vision_layers = False

  • 仅微调语言、注意力和 MLP 层

  • 如果任务需要,再启用视觉或音频层

Gemma 4 多模态 LoRA 示例:

图像示例格式

记住:对于 Gemma 4 多模态提示,请把图像 放在 文本指令之前。

音频示例格式

音频仅适用于 E2B / E4B 。请保持片段简短且与任务相关。

保存 / 导出微调模型

你可以查看我们针对以下内容的特定推理 / 部署指南: Unsloth Studio, llama.cpp, vLLM, llama-server, OllamaSGLang.

保存为 GGUF

Unsloth 支持直接保存为 GGUF:

或者将 GGUF 推送到 Hugging Face:

如果导出的模型在另一个运行时中的表现更差,Unsloth 会指出最常见的原因: 推理时使用了错误的聊天模板 / EOS 令牌 (你必须使用与你训练时相同的聊天模板)。

更多详情请阅读我们的推理指南:

Gemma 4 数据最佳实践

Gemma 4 有一些你需要注意的格式细节。

1. 使用标准聊天角色

Gemma 4 使用标准的:

  • system

  • user

  • assistant

这意味着你的 SFT 数据集应写成常规聊天格式,而不是旧的 Gemma 特定角色格式。

2. 思考模式是显式的

要启用思考模式,请在 <|think|> 放在 系统提示词开头.

已启用思考:

已禁用思考:

如果你想在 SFT 期间保留思考风格行为:

  • 保持格式一致

  • 决定你是想训练 可见的思考块 还是 仅最终答案

  • 不要 在同一数据集中混合多种不兼容的思考格式 对于大多数生产环境助手来说,最简单的设置是只在

最终可见答案 上进行微调.

3. 多轮规则

对于多轮对话,只保留 最终可见答案 在对话历史中。不要 在同一数据集中混合多种不兼容的思考格式 将更早的思考块重新喂回后续轮次。

4. 多模态内容应先出现

对于 Gemma 4 多模态提示,请放置:

  • 图像在文本之前

  • 音频在文本之前

  • 视频帧在文本之前

这也应体现在你的训练数据中。

最后更新于

这有帮助吗?