Gemma 3 - Anleitung zur Ausführung
Wie man Gemma 3 effektiv mit unseren GGUFs auf llama.cpp, Ollama, Open WebUI ausführt und wie man mit Unsloth feinabstimmt!
Google veröffentlicht Gemma 3 mit einem neuen 270M-Modell und den vorherigen Größen 1B, 4B, 12B und 27B. Die 270M und 1B sind nur für Text, während die größeren Modelle sowohl Text als auch Vision verarbeiten. Wir stellen GGUFs bereit sowie eine Anleitung, wie man es effizient ausführt und wie man feinjustiert & macht RL mit Gemma 3!
NEU 14. Aug. 2025 Update: Probieren Sie unser Fine-Tuning Gemma 3 (270M) Notebook und GGUFs zum Ausführen.
Siehe auch unser Gemma 3n Anleitung.
AusführungsanleitungFeinabstimmungsanleitung
Unsloth ist das einzige Framework, das auf float16-Maschinen für Gemma 3 Inferenz und Training funktioniert. Das bedeutet, dass Colab-Notebooks mit kostenlosen Tesla T4-GPUs ebenfalls funktionieren!
Feinjustieren Sie Gemma 3 (4B) mit Vision-Unterstützung mithilfe unseres kostenloses Colab-Notebook
Laut dem Gemma-Team ist die optimale Konfiguration für die Inferenz
temperature = 1.0, top_k = 64, top_p = 0.95, min_p = 0.0
Unsloth Gemma 3 Uploads mit optimalen Konfigurationen:
⚙️ Empfohlene Inferenz-Einstellungen
Laut dem Gemma-Team sind die offiziell empfohlenen Einstellungen für die Inferenz:
Temperatur von 1.0
Top_K von 64
Min_P von 0,00 (optional, aber 0,01 funktioniert gut, der llama.cpp-Standard ist 0,1)
Top_P von 0.95
Repetition Penalty von 1.0. (1.0 bedeutet deaktiviert in llama.cpp und transformers)
Chat-Vorlage:
<bos><start_of_turn>user\nHello!<end_of_turn>\n<start_of_turn>model\nHey there!<end_of_turn>\n<start_of_turn>user\nWhat is 1+1?<end_of_turn>\n<start_of_turn>model\nChat-Vorlage mit
\nZeilenumbrüchen gerendert (außer dem letzten)
llama.cpp und andere Inferenz-Engines fügen automatisch ein <bos> hinzu - FÜGEN SIE NICHT ZWEI <bos>-Token HINZU! Sie sollten das <bos> beim Prompten des Modells ignorieren!
✨Gemma 3 auf Ihrem Telefon ausführen
Um die Modelle auf Ihrem Telefon auszuführen, empfehlen wir jede mobile App, die GGUFs lokal auf Edge-Geräten wie Telefonen ausführen kann. Nach dem Fine-Tuning können Sie es als GGUF exportieren und dann lokal auf Ihrem Telefon ausführen. Stellen Sie sicher, dass Ihr Telefon genügend RAM/Leistung hat, um die Modelle zu verarbeiten, da es überhitzen kann. Wir empfehlen daher die Verwendung von Gemma 3 270M oder den Gemma 3n-Modellen für diesen Anwendungsfall. Sie können das Open-Source-Projekt AnythingLLM's mobile App, die Sie herunterladen können auf Android hier oder ChatterUI, welche großartige Apps zum Ausführen von GGUFs auf Ihrem Telefon sind.
Denken Sie daran, dass Sie den Modellnamen 'gemma-3-27b-it-GGUF' in jeden Gemma-Modellnamen wie 'gemma-3-270m-it-GGUF:Q8_K_XL' für alle Tutorials ändern können.
🦙 Tutorial: Wie man Gemma 3 in Ollama ausführt
In Ollama ausführen
Installieren Siefalls Sie es noch nicht getan haben!
curl -fsSL https://ollama.com/install.sh | sh
Führen Sie das Modell aus! Beachten Sie, dass Sieollama servein einem anderen Terminal aufrufen können, wenn es fehlschlägt! Wir fügen alle unsere Fixes und vorgeschlagenen Parameter (Temperatur usw.) inin unserem Hugging Face-Upload! Sie können den Modellnamen 'gemma-3-27b-it-GGUF' in jeden Gemma-Modellnamen wie 'gemma-3-270m-it-GGUF:Q8_K_XL' ändern.
📖 Tutorial: Wie man Gemma 3 27B in llama.cpp ausführt
Hole dir die neueste
llama.cppauf GitHub hier. Du kannst auch den Build-Anweisungen unten folgen. Ändere-DGGML_CUDA=ONzu-DGGML_CUDA=OFFwenn du keine GPU hast oder nur CPU-Inferenz möchtest. Für Apple Mac / Metal-Geräte, setze-DGGML_CUDA=OFFdann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.
Wenn du
llama.cppdirekt zum Laden von Modellen verwenden möchten, können Sie Folgendes tun: (:Q4_K_XL) ist der Quantisierungstyp. Sie können auch über Hugging Face herunterladen (Punkt 3). Dies ähneltollama run
ODER laden Sie das Modell herunter via (nach Installation von
pip install huggingface_hub hf_transfer). Sie können Q4_K_M wählen oder andere quantisierte Versionen (wie BF16 Vollpräzision). Weitere Versionen unter: https://huggingface.co/unsloth/gemma-3-27b-it-GGUF
Führen Sie Unsloths Flappy Bird-Test aus
Bearbeiten
Sie können--threads 32für die Anzahl der CPU-Threads bearbeiten,für Kontextlänge (Gemma 3 unterstützt 128K Kontextlänge!),--n-gpu-layers 99--n-gpu-layers 2Für den Konversationsmodus:
Für den Nicht-Konversationsmodus, um Flappy Bird zu testen:
Die vollständige Eingabe aus unserem https://unsloth.ai/blog/deepseekr1-dynamic 1.58bit-Blog ist:
Denken Sie daran, <bos> zu entfernen, da Gemma 3 automatisch ein <bos> hinzufügt!
🦥 Fine-Tuning von Gemma 3 in Unsloth
Unsloth ist das einzige Framework, das auf float16-Maschinen für Gemma 3 Inferenz und Training funktioniert. Das bedeutet, dass Colab-Notebooks mit kostenlosen Tesla T4-GPUs ebenfalls funktionieren!
Probieren Sie unser neues Gemma 3 (270M) Notebook welches das 270M-Parameter-Modell sehr gut im Schachspielen macht und den nächsten Zug vorhersagen kann.
Oder feinjustieren Sie Gemma 3n (E4B) mit Text • Vision • Audio
Beim Versuch eines vollständigen Fine-Tunes (FFT) von Gemma 3 werden alle Layer standardmäßig auf float32 auf float16-Geräten gesetzt. Unsloth erwartet float16 und castet dynamisch hoch. Um das zu beheben, führen Sie model.to(torch.float16) nach dem Laden aus oder verwenden Sie eine GPU mit bfloat16-Unterstützung.
Unsloth Fine-Tuning Fixes
Unsere Lösung in Unsloth ist dreifach:
Behalten Sie alle Zwischenaktivierungen im bfloat16-Format bei - sie können float32 sein, aber das verbraucht 2x mehr VRAM oder RAM (über Unsloths asynchrones Gradient Checkpointing)
Führen Sie alle Matrixmultiplikationen in float16 mit Tensor-Cores aus, aber casten Sie manuell hoch/runter ohne die Hilfe von Pythons (Pytorchs) Mixed-Precision-Autocast.
Casten Sie alle anderen Optionen, die keine Matrixmultiplikationen benötigen (Layernorms), auf float32 hoch.
🤔 Gemma 3 Fixes Analyse

Zuerst, bevor wir feinjustieren oder Gemma 3 ausführen, haben wir festgestellt, dass bei Verwendung von float16 Mixed Precision Gradienten und Aktivierungen leider unendlich werden Dies passiert bei T4-GPUs, der RTX-20x-Serie und V100-GPUs, die nur float16 Tensor-Cores haben.
Bei neueren GPUs wie RTX-30x oder höher, A100s, H100s usw. haben diese GPUs bfloat16 Tensor-Cores, sodass dieses Problem nicht auftritt! Aber warum?
Float16 kann nur Zahlen bis zu 65504, darstellen, während bfloat16 riesige Zahlen bis zu 10^38darstellen kann! Aber beachten Sie, dass beide Zahlenformate nur 16 Bit verwenden! Das liegt daran, dass float16 mehr Bits zuordnet, damit es kleinere Dezimalzahlen besser darstellen kann, während bfloat16 Brüche nicht gut darstellen kann.
Aber warum float16? Lassen Sie uns einfach float32 verwenden! Aber leider ist float32 in GPUs bei Matrixmultiplikationen sehr langsam - manchmal 4- bis 10-mal langsamer! Daher können wir das nicht tun.
Zuletzt aktualisiert
War das hilfreich?


