FunctionGemma : comment l'exécuter et le fine-tuner
Apprenez à exécuter et fine-tuner FunctionGemma localement sur votre appareil et votre téléphone.
FunctionGemma est un nouveau modèle de 270 M de paramètres de Google, conçu pour l’appel de fonctions et le fine-tuning. Basé sur Gemma 3 270M et entraîné spécifiquement pour l’appel d’outils en texte seul, sa petite taille le rend idéal à déployer sur votre propre téléphone.
Vous pouvez exécuter le modèle en précision complète sur 550 Mo de RAM (CPU) et vous pouvez maintenant fine-tuner le localement avec Unsloth. Merci à Google DeepMind pour son partenariat avec Unsloth et son support dès le premier jour !
Tutoriel d’exécutionFine-tuning de FunctionGemma
FunctionGemma GGUF à exécuter : unsloth/functiongemma-270m-it-GGUF
Notebooks gratuits :
Fine-tuner pour raisonner/penser avant les appels d’outils en utilisant notre notebook FunctionGemma
Faire l’appel d’outils multi-tour dans un notebook gratuit Notebook d’appel d’outils multi-tour
Fine-tuner pour activer les actions mobiles (calendrier, définir une minuterie) dans notre Notebook d’actions mobiles
⚙️ Guide d’utilisation
Google recommande ces réglages pour l’inférence :
top_k = 64top_p = 0.95temperature = 1.0longueur maximale du contexte =
32,768
Le format du modèle de chat se trouve lorsque nous utilisons ce qui suit :
def get_today_date():
""" Obtient la date d’aujourd’hui """
return {"today_date": "18 décembre 2025"}
tokenizer.apply_chat_template(
[
{"role" : "user", "content" : "quelle est la date d’aujourd’hui ?"},
],
tools = [get_today_date], add_generation_prompt = True, tokenize = False,
)Format du modèle de chat FunctionGemma :
FunctionGemma nécessite le message système ou message développeur comme Vous êtes un modèle capable d’effectuer des appels de fonctions avec les fonctions suivantes Les versions Unsloth intègrent déjà cela si vous oubliez d’en fournir une, alors veuillez utiliser unsloth/functiongemma-270m-it
🖥️ Exécuter FunctionGemma
Voir ci-dessous pour un guide de bureau local, ou vous pouvez consulter notre Guide de déploiement sur téléphone.
Tutoriel Llama.cpp (GGUF) :
Instructions pour exécuter dans llama.cpp (notez que nous utiliserons du 4 bits pour s’adapter à la plupart des appareils) :
Obtenez la dernière version de llama.cpp sur GitHub ici. Vous pouvez également suivre les instructions de compilation ci-dessous. Remplacez -DGGML_CUDA=ON par -DGGML_CUDA=OFF si vous n’avez pas de GPU ou si vous souhaitez simplement une inférence CPU. Pour les appareils Apple Mac / Metal, définissez -DGGML_CUDA=OFF puis continuez normalement - la prise en charge de Metal est activée par défaut.
Vous pouvez récupérer directement depuis Hugging Face. Comme le modèle est très petit, nous utiliserons la variante BF16 complète non quantifiée.
Téléchargez le modèle via (après avoir installé pip install huggingface_hub hf_transfer ). Vous pouvez choisir BF16 ou d’autres versions quantifiées (bien qu’il ne soit pas recommandé d’aller en dessous de 4 bits) en raison de la petite taille du modèle.
Puis exécutez le modèle en mode conversation :
📱 Déploiement sur téléphone
Vous pouvez également exécuter et déployer FunctionGemma sur votre téléphone grâce à sa petite taille. Nous avons collaboré avec PyTorch pour créer un flux de travail simplifié utilisant l’entraînement conscient de la quantification (QAT) afin de récupérer 70 % de précision, puis de les déployer directement sur des appareils en périphérie.
Déployez FunctionGemma localement sur Pixel 8 et iPhone 15 Pro pour obtenir des vitesses d’inférence d’environ 50 jetons/s
Obtenez la confidentialité d’abord, des réponses instantanées et des capacités hors ligne
Utilisez notre notebook Colab gratuit pour fine-tuner Qwen3 0.6B et l’exporter pour le déploiement sur téléphone - remplacez simplement par Gemma3, et suivez la documentation Gemma 3 Executorch.
Consultez nos tutoriels iOS et Android pour le déploiement sur votre téléphone :
🦥 Fine-tuning de FunctionGemma
Google a noté que FunctionGemma est destiné à être fine-tuné pour votre tâche spécifique d’appel de fonctions, y compris les cas d’usage multi-tour. Unsloth prend désormais en charge le fine-tuning de FunctionGemma. Nous avons créé 2 notebooks de fine-tuning, qui montrent comment vous pouvez entraîner le modèle via un fine-tuning complet ou LoRA gratuitement via un notebook Colab :
Dans le Notebook de fine-tuning Reason before Tool Calling, nous allons le fine-tuner pour qu’il « pense/raisonne » avant l’appel de fonction. Le raisonnement en chaîne de pensée devient de plus en plus important pour améliorer les capacités d’utilisation d’outils.
FunctionGemma est un petit modèle spécialisé dans l’appel de fonctions. Il utilise son propre modèle de chat distinct. Lorsqu’on lui fournit des définitions d’outils et une invite utilisateur, il génère une sortie structurée. Nous pouvons ensuite analyser cette sortie pour exécuter l’outil, récupérer les résultats et les utiliser pour générer la réponse finale.
Invite développeur
<start_of_turn>developer
Vous pouvez effectuer des appels de fonctions avec les fonctions suivantes :
Déclaration de fonction
<start_function_declaration>declaration:get_weather{
description: "Obtenir la météo d’une ville",
parameters: { city: STRING }
}
<end_function_declaration>
<end_of_turn>
Tour utilisateur
<start_of_turn>user
Quelle est la météo à Paris ?
<end_of_turn>
Appel de fonction
<start_of_turn>model
<start_function_call>call:get_weather{
city: "paris"
}
<end_function_call>
Réponse de fonction
<start_function_response>response:get_weather{temperature:26}
<end_function_response>
Fermeture de l’assistant
La météo à Paris est de 26 degrés Celsius.
<end_of_turn>
Ici, nous implémentons une version simplifiée utilisant un seul bloc de réflexion (plutôt qu’un raisonnement entrelacé) via <think></think>. Par conséquent, notre interaction avec le modèle ressemble à ceci :
Réflexion + Appel de fonction
<start_of_turn>model
<think>
L’utilisateur veut la météo pour Paris. J’ai l’outil get_weather. Je devrais l’appeler avec l’argument city.
</think>
<start_function_call>call:get_weather{
city: "paris"
}
<end_function_call>
🪗Fine-tuning de FunctionGemma pour les actions mobiles
Nous avons également créé un notebook pour montrer comment faire exécuter à FunctionGemma des actions mobiles. Dans le Notebook de fine-tuning Mobile Actions, nous avons également activé l’évaluation, et montrons comment le fine-tuning pour des actions sur appareil fonctionne bien, comme on peut le voir avec la baisse de la perte d’évaluation :

Par exemple, avec une invite donnée Veuillez définir un rappel pour une « réunion Team Sync » ce vendredi 6 juin 2025 à 14 h.
Nous avons fine-tuné le modèle pour qu’il puisse produire :
🏃♂️Appel d’outils multi-tour avec FunctionGemma
Nous avons également créé un notebook pour montrer comment faire effectuer à FunctionGemma des appels d’outils multi-tour. Dans le Notebook d’appel d’outils multi-tour, nous montrons comment FunctionGemma est capable d’appeler des outils dans une longue conversation, par exemple voir ci-dessous :

Vous devez d’abord spécifier vos outils comme ci-dessous :
Nous créons ensuite une correspondance pour tous les outils :
Nous avons également besoin de code pour l’appel d’outils et le parsing :
Et maintenant, nous pouvons appeler le modèle !
Essayez les 3 notebooks que nous avons créés pour FunctionGemma :
Mis à jour
Ce contenu vous a-t-il été utile ?

