googleFunctionGemma: Wie man ausführt & feinabstimmt

Lerne, wie man FunctionGemma lokal auf deinem Gerät und Telefon ausführt und feinabstimmt.

FunctionGemma ist ein neues Modell von Google mit 270M Parametern, das für Funktionsaufrufe und Feinabstimmung entwickelt wurde. Basierend auf Gemma 3 270M und speziell für textbasierte Tool-Aufrufe trainiert, macht seine geringe Größe es ideal, es auf Ihrem eigenen Telefon bereitzustellen.

Sie können das Modell in voller Präzision ausführen auf 550MB RAM (CPU) und Sie können es jetzt feinabstimmen lokal mit Unsloth ausführen. Danke an Google DeepMind für die Partnerschaft mit Unsloth für Day-Zero-Unterstützung!

AusführungsanleitungFeinabstimmung von FunctionGemma

Kostenlose Notebooks:

⚙️ Gebrauchsanleitung

Google empfiehlt diese Einstellungen für die Inferenz:

  • top_k = 64

  • top_p = 0.95

  • temperature = 1.0

  • maximale Kontextlänge = 32,768

Das Chat-Template-Format findet sich, wenn wir Folgendes verwenden:

def get_today_date():
    """ Liefert das heutige Datum """
    return {"today_date": "18. Dezember 2025"}
    
tokenizer.apply_chat_template(
    [
        {"role" : "user", "content" : "was ist das heutige Datum?"},
    ],
    tools = [get_today_date], add_generation_prompt = True, tokenize = False,
)

FunctionGemma-Chat-Template-Format:

circle-info

FunctionGemma benötigt die System- oder Developer-Nachricht als Sie sind ein Modell, das Funktionsaufrufe mit den folgenden Funktionen durchführen kann Unsloth-Versionen haben dies eingebaut, falls Sie vergessen, eine zu übergeben, verwenden Sie daher bitte unsloth/functiongemma-270m-itarrow-up-right

🖥️ FunctionGemma ausführen

Siehe unten für eine lokale Desktop-Anleitung oder Sie können unsere Telefon-Bereitstellungsanleitung ansehen.

Llama.cpp Tutorial (GGUF):

Anweisungen zum Ausführen in llama.cpp (beachte, dass wir 4-Bit verwenden werden, um auf die meisten Geräte zu passen):

1

Hole dir die neueste llama.cpp auf GitHub hierarrow-up-right. Du kannst auch den Build-Anweisungen unten folgen. Ändere -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn du keine GPU hast oder nur CPU-Inferenz möchtest. Für Apple Mac / Metal-Geräte, setze -DGGML_CUDA=OFF dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.

2

Sie können direkt von Hugging Face ziehen. Da das Modell so klein ist, verwenden wir die unquantisierte Vollpräzisions-BF16-Variante.

3

Laden Sie das Modell herunter (nach der Installation pip install huggingface_hub hf_transfer ). Sie können wählen BF16 oder andere quantisierte Versionen (obwohl es nicht empfohlen wird, unter 4-Bit zu gehen) aufgrund der geringen Modellgröße.

4

Dann führe das Modell im Konversationsmodus aus:

📱 Telefon-Bereitstellung

Sie können FunctionGemma aufgrund seiner geringen Größe auch auf Ihrem Telefon ausführen und bereitstellen. Wir haben mit PyTorch zusammengearbeitet, um einen optimierten Workflow unter Verwendung quantisierungsbewusster Ausbildung zu erstellen (QAT), um 70 % Genauigkeit wiederherzustellen und sie dann direkt auf Edge-Geräten bereitzustellen.

  • Bereitstellen von FunctionGemma lokal auf Pixel 8 und iPhone 15 Pro um Inferenzgeschwindigkeiten von ~50 Tokens/s zu erreichen

  • Erhalten Sie Datenschutz zuerst, sofortige Antworten und Offline-Funktionen

  • Verwenden Sie unser kostenloses Colab-Notebookarrow-up-right um Qwen3 0.6B feinzuabstimmen und für die Telefonbereitstellung zu exportieren - ändern Sie es einfach auf Gemma3 und folgen Sie den Gemma 3 Executorch-Dokumentenarrow-up-right.

📱Run LLMs on your Phonechevron-right

Sehen Sie sich unsere iOS- und Android-Tutorials für die Bereitstellung auf Ihrem Telefon an:

appleiOS-TutorialandroidAndroid-Tutorial

🦥 Feinabstimmung von FunctionGemma

Google bemerkte, dass FunctionGemma dazu gedacht ist, feinabgestimmt zu werden für Ihre spezifische Funktion-Aufruf-Aufgabe, einschließlich Multi-Turn-Anwendungsfälle. Unsloth unterstützt jetzt die Feinabstimmung von FunctionGemma. Wir haben 2 Feinabstimmungs-Notebooks erstellt, die zeigen, wie Sie das Modell über vollständige Feinabstimmung oder LoRA kostenlos über ein Colab-Notebook trainieren können:

Im Reason-before-Tool-Calling-Feinabstimmungs-Notebookarrow-up-rightwerden wir es feinabstimmen, "denken/überlegen" vor Funktionsaufrufen. Chain-of-Thought-Reasoning wird zunehmend wichtig, um die Fähigkeiten zur Tool-Nutzung zu verbessern.

FunctionGemma ist ein kleines Modell, das auf Funktionsaufrufe spezialisiert ist. Es verwendet sein eigenes spezielles Chat-Template. Wenn es mit Tool-Definitionen und einer Benutzeraufforderung versehen wird, erzeugt es eine strukturierte Ausgabe. Diese Ausgabe können wir dann parsen, um das Tool auszuführen, die Ergebnisse abzurufen und sie zur Generierung der endgültigen Antwort zu verwenden.

Zug-Typ
Inhalt

Developer-Prompt

<start_of_turn>developer

Sie können Funktionsaufrufe mit den folgenden Funktionen durchführen:

Funktionsdeklaration

<start_function_declaration>declaration:get_weather{

description: "Hole das Wetter für die Stadt",

parameters: { city: STRING }

}

<end_function_declaration>

<end_of_turn>

Benutzerzug

<start_of_turn>user

Wie ist das Wetter in Paris?

<end_of_turn>

Funktionsaufruf

<start_of_turn>model

<start_function_call>call:get_weather{

city: "paris"

}

<end_function_call>

Funktionsantwort

<start_function_response>response:get_weather{temperature:26}

<end_function_response>

Assistent-Abschluss

Das Wetter in Paris beträgt 26 Grad Celsius.

<end_of_turn>

Hier implementieren wir eine vereinfachte Version unter Verwendung eines einzelnen Denkblocks (anstelle von verflochtenem Reasoning) mittels <think></think>. Folglich sieht unsere Modellinteraktion so aus:

Thinking + Funktionsaufruf

<start_of_turn>model

<think>

Der Benutzer möchte das Wetter für Paris. Ich habe das Tool get_weather. Ich sollte es mit dem Argument city aufrufen.

</think>

<start_function_call>call:get_weather{

city: "paris"

}

<end_function_call>

🪗Feinabstimmung von FunctionGemma für Mobile Actions

Wir haben auch ein Notebook erstellt, das zeigt, wie Sie FunctionGemma mobile Aktionen ausführen lassen können. Im Mobile-Actions-Feinabstimmungs-Notebookarrow-up-righthaben wir ebenfalls eine Bewertung aktiviert und zeigen, wie sich die Feinabstimmung für On-Device-Aktionen bewährt, wie man an dem sinkenden Evaluationsverlust sehen kann:

Zum Beispiel gegeben eine Aufforderung Bitte legen Sie eine Erinnerung für ein "Team Sync Meeting" an diesem Freitag, dem 6. Juni 2025, um 14:00 Uhr fest.

Wir haben das Modell so feinabgestimmt, dass es ausgeben kann:

🏃‍♂️Multi-Turn-Tool-Calling mit FunctionGemma

Wir haben auch ein Notebook erstellt, das zeigt, wie Sie FunctionGemma Multi-Turn-Tool-Aufrufe durchführen lassen können. Im Multi-Turn-Tool-Calling-Notebookarrow-up-rightzeigen wir, wie FunctionGemma in der Lage ist, Tools in einer langen Nachrichtenfolge aufzurufen, zum Beispiel siehe unten:

Sie müssen zuerst Ihre Tools wie unten angeben:

Wir erstellen dann eine Zuordnung für alle Tools:

Wir benötigen auch etwas Code zur Tool-Aufruf- und Parsing-Verarbeitung:

Und jetzt können wir das Modell aufrufen!

Probieren Sie die 3 Notebooks aus, die wir für FunctionGemma erstellt haben:

Zuletzt aktualisiert

War das hilfreich?