Gemma 4 Fine-Tuning-Leitfaden
Trainiere Gemma 4 von Google mit Unsloth.
Du kannst jetzt Googles Gemma 4 12B, E2B, E4B, 26B-A4B und 31B mit Unsloth. Unsloth unterstützt alle Vision-, Text-, Audio- und RL-Fine-Tuning für Gemma 4.
Unsloth trainiert Gemma 4 ~1,5x schneller mit ~60 % weniger VRAM als FA2-Setups (kein Genauigkeitsverlust)
Wir haben viele allgemeine Fehler für das Gemma-4-Training behoben (nicht von Unsloth abgeleitet).
Gemma 4 E2B läuft mit 8 GB VRAM. E4B benötigt 10 GB VRAM.
SchnellstartFehlerbehebungen + Tipps
Gemma 4 feinabstimmen über unsere kostenlosen Google-Colab-Notebooks:
Du kannst Gemma 4 kostenlos mit einer UI in unserem Unsloth Studio✨ Notebook:
Du kannst dir auch weitere Notebooks hier ansehen.
Du kannst Gemma 4 auch mit Reinforcement Learning (RL) auf 9 GB VRAM.
Gemma 4 E2B LoRA funktioniert auf 8–10 GB VRAM. E4B LoRA benötigt 17 GB VRAM.
31B QLoRA funktioniert mit 22 GB und 26B-A4B LoRA benötigt >40 GB
Exportieren/Modelle in GGUF usw. speichern. und vollständiges Fine-Tuning (FFT) funktioniert ebenfalls.
🐛 Fehlerbehebungen + Tipps
Wenn du bei Gemma-4 E2B und E4B einen Loss von 13–15 siehst, ist das völlig normal – das ist eine häufige Eigenart multimodaler Modelle. Das passierte auch bei Gemma-3N, Llama Vision, Mistral-Vision-Modellen und mehr.
Gemma 26B und 31B haben einen niedrigeren Loss bei 1–3 oder weniger. Vision ist 2x höher, also 3–5
🍇Gradient Accumulation könnte deine Verluste aufblähen


Wenn du Verluste höher als 13–15 siehst (wie 100 oder 300), wird Gradient Accumulation höchstwahrscheinlich nicht korrekt berücksichtigt – wir haben dies als Teil von Unsloth und Unsloth Studio behoben.
Mehr über Gradient Accumulation erfährst du in unserem Blog zur Fehlerbehebung bei Gradient Accumulation: https://unsloth.ai/blog/gradient
⁉️IndexError bei der Inferenz von Gemma-4 31B und 26B-A4B
Du könntest diesen Fehler bei der Inferenz mit 31B und 26B sehen:
Die Ursache ist unten:
Wobei Gemma-4 31B und 26B-A4B mit num_kv_shared_layers = 0. In Python, -0 == 0, also layer_types[:-0] wird zu layer_types[:0] == []. Der Cache wird mit null Layer-Slots aufgebaut und schon der allererste Attention-Forward crasht in Cache.update.
⛔ use_cache = True Die Generierung war Kauderwelsch für E2B, E4B
use_cache = True Die Generierung war Kauderwelsch für E2B, E4BSiehe Issue "[Gemma 4] use_cache=False beschädigt die Attention-Berechnung und erzeugt unbrauchbare Logits #45242"
Gemma-4 E2B und E4B teilen KV-Zustände über die Layer hinweg (num_kv_shared_layers = 20 und 18). Der Cache ist der einzige Ort, an dem frühe Layer KV für spätere Layer ablegen, damit diese sie wiederverwenden können. Wenn use_cache=False (wie es jedes QLoRA-Tutorial setzt und wie gradient_checkpointing=True erzwingt), Gemma4TextModel.forward überspringt die Cache-Erstellung, sodass die KV-geteilten Layer darauf zurückfallen, K und V lokal aus den aktuellen Hidden States neu zu berechnen. Die Logits werden unbrauchbar und der Trainings-Loss divergiert.
Vorher (unsloth/gemma-4-E2B-it, Prompt "Was ist 1+1?"):
Nach unserem Fix:
📻Audio-float16-Überlauf
Gemma4AudioAttention verwendet config.attention_invalid_logits_value = -1e9 in einem masked_fill Auf fp16 (Tesla T4) überläuft -1e9 den fp16-Maximalwert von 65504 und verursacht:
Dies lag an self.config.attention_invalid_logits_value :
💡Tipps für Gemma-4
Wenn du die Reasoning-Fähigkeit bewahren kannst du Beispiele im Reasoning-Stil mit direkten Antworten mischen (halte mindestens 75 % Reasoning ein). Andernfalls kannst du es vollständig ausgeben. Verwende
gemma-4für das Chat-Template ohne Thinking undgemma-4-thinkingfür die Thinking-Variante. Verwende die Thinking-Variante für die größeren 26B- und 31B-Modelle und die Variante ohne Thinking für die kleineren Modelle.Um den Thinking-Modus zu aktivieren, verwende
enable_thinking = True / Falseintokenizer.apply_chat_templateThinking aktiviert:
Wird ausgeben
<bos><|turn>system\n<|think|><turn|>\n<|turn>user\nWas ist 2+2?<turn|>\n<|turn>model\nThinking deaktiviert:
Wird ausgeben
<bos><|turn>user\nWas ist 2+2?<turn|>\n<|turn>model\n<|channel>thought\n<channel|>Gemma 4 ist leistungsstark für mehrsprachiges Fine-Tuning, da es 140 Sprachen unterstützt.
Es wird empfohlen, zu trainieren E4B QLoRA statt E2B LoRA da E4B größer ist und der Unterschied in der Quantisierungsgenauigkeit minimal ist. Gemma 4 E4B LoRA ist sogar noch besser.
Nach dem Fine-Tuning kannst du exportieren nach GGUF (für llama.cpp/Unsloth/Ollama/usw.)
⚡Schnellstart
🦥 Unsloth Studio-Leitfaden
Gemma 4 kann ausgeführt und feinabgestimmt werden in Unsloth Studio, unserer neuen Open-Source-Web-UI für lokale KI.
Mit Unsloth Studio kannst du Modelle lokal auf macOS, Windows, Linux und auf NVIDIA-GPUs trainieren. Intel-, MLX- und AMD-Trainingsunterstützung kommt noch diesen Monat.

Gemma 4 trainieren
Beim ersten Start musst du ein Passwort erstellen, um dein Konto zu sichern, und dich später erneut anmelden. Danach siehst du einen kurzen Einrichtungsassistenten, um ein Modell, einen Datensatz und grundlegende Einstellungen auszuwählen. Du kannst ihn jederzeit überspringen.
Suche in der Suchleiste nach Gemma 4 und wähle dein gewünschtes Modell und deinen Datensatz aus. Passe anschließend deine Hyperparameter und die Kontextlänge nach Bedarf an.

🦥 Unsloth Core (codebasiert) Leitfaden
Wir haben kostenlose Notebooks für Gemma 4 erstellt:
Und für Reinforcement Learning (RL): E2B (RL GRPO)
Wir haben auch Notebooks für die größeren Gemma-4-Modelle erstellt, aber sie benötigen A100:
Gemma-4-26B-A4B - A100-GPU
Gemma-4-31B - A100-GPU
Unten findest du ein eigenständiges Gemma-4-26B-A4B-it-Text-SFT-Rezept. Dies ist nur Text – siehe auch unseren Vision-Fine-Tuning Abschnitt für weitere Details.
Wenn Ihnen der Speicher ausgeht:
Reduzieren Sie
per_device_train_batch_sizeauf 1 und/oder reduzieren Siemax_seq_length.Behalten Sie
use_gradient_checkpointing="unsloth"aktiviert (es ist darauf ausgelegt, den VRAM-Verbrauch zu senken und die Kontextlänge zu erhöhen).
Ladebeispiel für MoE (bf16 LoRA):
Sobald es geladen ist, fügen Sie LoRA-Adapter hinzu und trainieren ähnlich wie im SFT-Beispiel oben.
Verstärkendes Lernen (RL)
Sie können Gemma 4 jetzt mit RL, GSPO, GRPO usw. mit unserem kostenlosen Notebook.
Gemma 4 E2B RL funktioniert mit 9 GB.
Das Ziel des Notebooks ist es, Gemma 4 beizubringen, Sudoku-Rätsel mit GRPO.
Das Modell wird eine Strategie entwickeln, um leere Felder auszufüllen, und wir belohnen es für korrekte Platzierungen und das Lösen gültiger Rätsel.
Sie können Gemma 4 RL mit Unsloth ausführen, auch wenn es von vLLM nicht unterstützt wird, indem Sie fast_inference=False beim Laden des Modells setzen:

MoE-Finetuning (26B-A4B)
Das 26B-A4B Modell ist der Mittelweg zwischen Geschwindigkeit und Qualität im Gemma-4-Portfolio. Da es ein MoE Modell ist, bei dem pro Token nur ein Teil der Parameter aktiv ist, ist ein konservativer Finetuning-Ansatz:
verwenden Sie LoRA anstatt vollständigem Finetuning
bevorzugen Sie 16-Bit- / bf16-LoRA wenn der Speicher es zulässt
beginnen Sie zuerst mit kürzeren Kontexten und kleineren Rängen
skalieren Sie erst hoch, wenn die Pipeline stabil ist
Wenn Ihr Ziel die höchste Qualität ist und Sie mehr Speicher haben, verwenden Sie 31B stattdessen.
Multimodales Finetuning (E2B / E4B)
Da E2B und E4B unterstützen Bild und Audio, sind sie die wichtigsten Gemma-4-Varianten für multimodales Finetuning.
laden Sie das multimodale Modell mit
FastVisionModelbehalten Sie
finetune_vision_layers = Falsezuerstfinetunen Sie zunächst nur die Sprach-, Attention- und MLP-Schichten
aktivieren Sie Bild- oder Audioschichten später, wenn Ihre Aufgabe dies erfordert
Gemma-4-Multimodal-LoRA-Beispiel:
Bildbeispielformat
Denken Sie daran: Bei multimodalen Gemma-4-Prompts das Bild vor die Textanweisung setzen.
Audio-Beispielformat
Audio ist für E2B / E4B nur gedacht. Halten Sie Clips kurz und auf die Aufgabe zugeschnitten.
Speichern / Export des feinabgestimmten Modells
Sie können unsere speziellen Inferenz- / Bereitstellungsanleitungen für Unsloth Studio, llama.cpp, vLLM, llama-server, Ollama oder SGLang.
Als GGUF speichern
Unsloth unterstützt das direkte Speichern in GGUF:
Oder GGUFs zu Hugging Face pushen:
Wenn sich das exportierte Modell in einer anderen Laufzeitumgebung schlechter verhält, kennzeichnet Unsloth die häufigste Ursache: falsche Chatvorlage / EOS-Token zur Inferenzzeit (Sie müssen dieselbe Chatvorlage verwenden, mit der Sie trainiert haben).
Für weitere Details lesen Sie unsere Inferenzanleitungen:
Best Practices für Gemma-4-Daten
Gemma 4 hat einige Formatierungsdetails, die Sie beachten müssen.
1. Verwenden Sie standardmäßige Chat-Rollen
Gemma 4 verwendet die Standardrollen:
systemuserassistant
Das bedeutet, dass Ihr SFT-Datensatz im normalen Chatformat und nicht in älteren Gemma-spezifischen Rollenformaten geschrieben sein sollte.
2. Der Denkmodus ist explizit
Wenn Sie das Denkstil-Verhalten während des SFT beibehalten möchten:
halten Sie das Format konsistent
entscheiden Sie, ob Sie trainieren möchten auf sichtbaren Denkschritten oder auf nur Endantworten
tun Sie nicht mehrere inkompatible Denkformate im selben Datensatz mischen
Für die meisten produktiven Assistenten ist die einfachste Einrichtung, auf dem nur auf die endgültige sichtbare Antwort.
3. Regel für mehrere Gesprächsrunden
Behalten Sie bei Gesprächen mit mehreren Runden nur die endgültige sichtbare Antwort im Gesprächsverlauf. Tun Sie nicht frühere Denkschritte nicht in spätere Runden zurück.
Zuletzt aktualisiert
War das hilfreich?




