For the complete documentation index, see llms.txt. This page is also available as Markdown.

FunctionGemma: So ausführen & feinabstimmen

Erfahren Sie, wie Sie FunctionGemma lokal auf Ihrem Gerät und Telefon ausführen und feinabstimmen.

FunctionGemma ist ein neues Modell mit 270 Mio. Parametern von Google, das für Funktionsaufrufe und Fine-Tuning entwickelt wurde. Basierend auf Gemma 3 270M und speziell für textbasiertes Tool-Calling trainiert. Seine geringe Größe macht es ideal für den Einsatz auf Ihrem eigenen Smartphone.

Sie können das Modell in voller Genauigkeit ausführen auf 550 MB RAM (CPU) und Sie können es jetzt fine-tunen lokal mit Unsloth. Vielen Dank an Google DeepMind für die Partnerschaft mit Unsloth für Support ab Tag 0!

Anleitung zum AusführenFine-Tuning von FunctionGemma

Kostenlose Notebooks:

⚙️ Verwendungsleitfaden

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():
    """ Gibt das heutige Datum zurück """
    return {"today_date": "18. Dezember 2025"}
    
tokenizer.apply_chat_template(
    [
        {"role" : "user", "content" : "Wie lautet das heutige Datum?"},
    ],
    tools = [get_today_date], add_generation_prompt = True, tokenize = False,
)

Format des FunctionGemma-Chat-Templates:

FunctionGemma erfordert die System- oder Developer-Nachricht als Sie sind ein Modell, das Funktionsaufrufe mit den folgenden Funktionen durchführen kann Unsloth-Versionen haben dies bereits integriert, falls Sie vergessen, eine anzugeben. Bitte verwenden Sie daher unsloth/functiongemma-270m-it

🖥️ FunctionGemma ausführen

Unten sehen Sie eine Anleitung für den lokalen Desktop oder Sie können unseren Leitfaden zur Smartphone-Bereitstellung ansehen.

Llama.cpp-Tutorial (GGUF):

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

1

Holen Sie sich die neueste llama.cpp auf GitHub hier. 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 einfach nur CPU-Inferenz möchten. Für Apple Mac / Metal-Geräte, setzen Sie -DGGML_CUDA=OFF und fahren Sie dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.

2

Sie können direkt von Hugging Face herunterladen. Da das Modell so klein ist, verwenden wir die unquantisierte BF16-Variante in voller Genauigkeit.

3

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

4

Dann führen Sie das Modell im Konversationsmodus aus:

📱 Smartphone-Bereitstellung

Sie können FunctionGemma aufgrund seiner geringen Größe auch auf Ihrem Smartphone ausführen und bereitstellen. Wir haben mit PyTorch zusammengearbeitet, um einen optimierten Workflow mithilfe von quantisierungsbewusstem Training (QAT) zu erstellen, um 70 % Genauigkeit wiederherzustellen und es dann direkt auf Edge-Geräten bereitzustellen.

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

  • Erhalten Sie Privatsphäre zuerst, sofortige Antworten und Offline-Funktionen

  • Verwenden Sie unser kostenloses Colab-Notebook um Qwen3 0,6B feinabzustimmen und für die Smartphone-Bereitstellung zu exportieren - ändern Sie es einfach in Gemma3 und folgen Sie den Gemma 3 Executorch-Dokumenten.

📱Run LLMs on your Phone

Sehen Sie sich unsere iOS- und Android-Tutorials zur Bereitstellung auf Ihrem Smartphone an:

iOS-TutorialAndroid-Tutorial

🦥 Fine-Tuning von FunctionGemma

Google bemerkte, dass FunctionGemma für das Fine-Tuning vorgesehen ist für Ihre spezifische Funktionsaufruf-Aufgabe, einschließlich Multi-Turn-Anwendungsfällen. Unsloth unterstützt jetzt das Fine-Tuning von FunctionGemma. Wir haben 2 Fine-Tuning-Notebooks erstellt, die zeigen, wie Sie das Modell über vollständiges Fine-Tuning oder LoRA kostenlos über ein Colab-Notebook trainieren können:

Im Fine-Tuning-Notebook „vor dem Tool-Calling schlussfolgern“, werden wir es für "denken/schlussfolgern" vor dem Funktionsaufruf feinabstimmen. Chain-of-Thought-Reasoning wird immer wichtiger, um die Fähigkeiten zur Werkzeugnutzung zu verbessern.

FunctionGemma ist ein kleines Modell, das auf Funktionsaufrufe spezialisiert ist. Es verwendet sein eigenes, eigenständiges Chat-Template. Wenn Tool-Definitionen und ein Benutzer-Prompt bereitgestellt werden, 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.

Turn-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: "Wetter für Stadt abrufen",

parameters: { city: STRING }

}

<end_function_declaration>

<end_of_turn>

Benutzerdurchlauf

<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>

Abschluss des Assistenten

Das Wetter in Paris beträgt 26 Grad Celsius.

<end_of_turn>

Hier implementieren wir eine vereinfachte Version mit einem einzigen Denkblock (statt verschachteltem Reasoning) über <think></think>. Folglich sieht unsere Modellinteraktion so aus:

Denken + 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 Stadt-Argument aufrufen.

</think>

<start_function_call>call:get_weather{

city: "paris"

}

<end_function_call>

🪗Fine-Tuning von FunctionGemma für mobile Aktionen

Wir haben auch ein Notebook erstellt, das zeigt, wie Sie FunctionGemma mobile Aktionen ausführen lassen können. Im Fine-Tuning-Notebook für mobile Aktionen, haben wir auch die Auswertung aktiviert und zeigen, wie das Fine-Tuning für Aktionen auf dem Gerät gut funktioniert, wie am sinkenden Evaluierungsverlust zu sehen ist:

Zum Beispiel, gegeben einen Prompt Bitte setze für diesen Freitag, den 6. Juni 2025, um 14:00 Uhr eine Erinnerung für ein "Team Sync Meeting".

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

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

Wir haben auch ein Notebook erstellt, das zeigt, wie Sie FunctionGemma für Multi-Turn-Tool-Calls verwenden können. Im Notebook für Multi-Turn-Tool-Calling, zeigen wir, wie FunctionGemma in der Lage ist, Tools in einer langen Nachrichtenänderung aufzurufen, zum Beispiel siehe unten:

Sie müssen zunächst Ihre Tools wie unten angeben:

Dann erstellen wir ein Mapping für alle Tools:

Wir benötigen außerdem etwas Code für den Tool-Aufruf und das Parsen:

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?