Gemma 3 - Anleitung zum Ausführen

Wie man Gemma 3 effektiv mit unseren GGUFs auf llama.cpp, Ollama, Open WebUI ausführt und wie man mit Unsloth finetunt!

Google veröffentlicht Gemma 3 mit einem neuen 270M-Modell und den bisherigen Größen 1B, 4B, 12B und 27B. Die 270M- und 1B-Modelle sind nur für Text, während größere Modelle sowohl Text als auch Vision verarbeiten. Wir stellen GGUFs bereit sowie eine Anleitung, wie man es effektiv ausführt, und wie man feinabstimmt & macht RL mit Gemma 3!

circle-check

Ausführungs-TutorialFeinabstimmungs-Tutorial

Unsloth ist das einzige Framework, das auf float16-Maschinen für Gemma 3 Inferenz und Training funktioniert. Das bedeutet, Colab-Notebooks mit kostenlosen Tesla T4 GPUs funktionieren ebenfalls!

circle-info

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 Standard in llama.cpp 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\n
  • Chat-Vorlage mit \nZeilenumbrüchen gerendert (außer dem letzten)

triangle-exclamation

✨Gemma 3 auf deinem Telefon ausführen

Um die Modelle auf deinem Telefon auszuführen, empfehlen wir jede mobile App, die GGUFs lokal auf Edge-Geräten wie Telefonen ausführen kann. Nach der Feinabstimmung kannst du es in GGUF exportieren und dann lokal auf deinem Telefon ausführen. Stelle sicher, dass dein Telefon genügend RAM/Leistung hat, um die Modelle zu verarbeiten, da es überhitzen kann; daher empfehlen wir für diesen Anwendungsfall Gemma 3 270M oder die Gemma 3n-Modelle. Du kannst das Open-Source-Projekt AnythingLLM'sarrow-up-right Mobile App, die du auf Android hierarrow-up-right oder ChatterUIarrow-up-right, die großartige Apps zum Ausführen von GGUFs auf deinem Telefon sind.

circle-check

🦙 Tutorial: Wie man Gemma 3 in Ollama ausführt

  1. Installieren Sie ollama falls du es noch nicht getan hast!

  1. Führen Sie das Modell aus! Beachten Sie, dass Sie aufrufen können ollama servein einem anderen Terminal, falls es fehlschlägt! Wir fügen alle unsere Fixes und vorgeschlagenen Parameter (Temperatur usw.) in params in unserem Hugging Face Upload! Du kannst den Modellnamen 'gemma-3-27b-it-GGUF' in jedes Gemma-Modell wie 'gemma-3-270m-it-GGUF:Q8_K_XL' ändern.

📖 Tutorial: Wie man Gemma 3 27B in llama.cpp ausführt

  1. Holen Sie sich die neueste llama.cpp auf GitHub hierarrow-up-right. Sie können auch den unten stehenden Build-Anweisungen folgen. Ändern Sie -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn Sie keine GPU haben oder nur CPU-Inferenz wünschen.

  1. Wenn Sie llama.cpp direkt zum Laden von Modellen kannst du Folgendes tun: (:Q4_K_XL) ist der Quantisierungstyp. Du kannst auch über Hugging Face herunterladen (Punkt 3). Das ist ähnlich wie ollama run

  1. ODER lade das Modell herunter über (nach der Installation pip install huggingface_hub hf_transfer ). Du kannst Q4_K_M wählen oder andere quantisierte Versionen (wie BF16 in voller Präzision). Weitere Versionen unter: https://huggingface.co/unsloth/gemma-3-27b-it-GGUFarrow-up-right

  1. Führe Unsloths Flappy Bird-Test aus

  2. Bearbeiten --threads 32 für die Anzahl der CPU-Threads bearbeiten, --ctx-size 16384 für Kontextlänge (Gemma 3 unterstützt 128K Kontextlänge!), --n-gpu-layers 99 für das GPU-Offloading für wie viele Schichten. Versuchen Sie, es anzupassen, wenn Ihre GPU nicht mehr genügend Speicher hat. Entfernen Sie es auch, wenn Sie nur CPU-Inferenz haben.

  3. Für Konversationsmodus:

  1. Für Nicht-Konversationsmodus zum Testen von Flappy Bird:

Die vollständige Eingabe aus unserem https://unsloth.ai/blog/deepseekr1-dynamicarrow-up-right 1.58bit Blog ist:

triangle-exclamation

🦥 Feinabstimmung von Gemma 3 in Unsloth

Unsloth ist das einzige Framework, das auf float16-Maschinen für Gemma 3 Inferenz und Training funktioniert. Das bedeutet, Colab-Notebooks mit kostenlosen Tesla T4 GPUs funktionieren ebenfalls!

circle-exclamation

Unsloth Fine-Tuning Fixes

Unsere Lösung in Unsloth ist dreifach:

  1. Behalte alle Zwischenaktivierungen im bfloat16-Format – kann float32 sein, aber das verwendet 2x mehr VRAM oder RAM (über Unsloths asynchrones Gradient Checkpointing)

  2. Führe alle Matrixmultiplikationen in float16 mit Tensor Cores aus, aber mache manuelles Hoch- / Runtercasten ohne die Hilfe von Pythons gemischter Präzisions-Autocast.

  3. Caste alle anderen Optionen, die keine Matrixmultiplikationen benötigen (Layernorms), auf float32 hoch.

🤔 Gemma 3 Fehlerbehebungsanalyse

Gemma 3 1B bis 27B überschreiten das Maximum von float16 von 65504

Zuerst, bevor wir finetunen oder Gemma 3 ausführen, haben wir festgestellt, dass bei Verwendung von float16 gemischter Präzision Gradienten und Aktivierungen unendlich werden leider. Das passiert bei T4-GPUs, der RTX-20x-Serie und V100-GPUs, wo sie 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, während bfloat16 riesige Zahlen bis zu 10^38darstellen kann! Aber beachte, dass beide Zahlformate nur 16 Bit verwenden! Das liegt daran, dass float16 mehr Bits zuordnet, damit es kleinere Dezimalstellen besser darstellen kann, während bfloat16 Bruchteile nicht gut darstellen kann.

Aber warum float16? Lass uns einfach float32 verwenden! Leider ist float32 auf GPUs bei Matrixmultiplikationen sehr langsam – manchmal 4 bis 10x langsamer! Daher können wir das nicht tun.

Zuletzt aktualisiert

War das hilfreich?