Affiner FunctionGemma 270M pour les actions mobiles

Présentation

Mobile Actions est une application de démonstration qui permet aux utilisateurs de déclencher des actions sur leur appareil à partir d'une saisie vocale ou textuelle. Il repense l'interaction avec l'assistant comme une fonctionnalité entièrement hors connexion. Qu'il s'agisse de "Crée un événement d'agenda pour le déjeuner de demain", "Ajoute Jean à mes contacts" ou "Allume la lampe de poche", le modèle analyse le langage naturel et identifie l'outil OS approprié pour exécuter la commande.

Ce guide vous explique comment :

  1. Finetuning du modèle FunctionGemma 270M à l'aide de l'ensemble de données Mobile Actions
  2. Déployer le modèle personnalisé dans la galerie Google AI Edge

Vous pourrez apprendre de bout en bout, de l'affinage d'un modèle à son déploiement sur un appareil.

Étape 1 : Affiner FunctionGemma avec l'ensemble de données Mobile Actions

FunctionGemma est un modèle de 270 millions de paramètres basé sur l'architecture Gemma 3. Il a été entraîné spécifiquement pour les appels de fonction, ce qui lui permet de traduire les requêtes en langage naturel en appels de fonction.

Ce modèle est suffisamment petit et efficace pour s'exécuter sur un téléphone mobile, mais comme c'est souvent le cas pour les modèles de cette taille, il nécessite un réglage fin pour être spécialisé dans la tâche qu'il va effectuer.

Pour affiner FunctionGemma, nous utilisons l'ensemble de données Mobile Actions, qui est disponible publiquement sur Hugging Face. Chaque entrée de cet ensemble de données fournit les informations suivantes :

  • Ensemble d'outils (fonctions) que le modèle peut utiliser :
    1. Allume la lampe de poche
    2. Éteint la lampe de poche
    3. Crée un contact dans la liste de contacts du téléphone
    4. Envoie un e-mail
    5. Affiche un lieu sur la carte
    6. Ouvre les paramètres Wi-Fi
    7. Crée un événement d'agenda
  • Requête système fournissant le contexte, comme la date et l'heure actuelles
  • Requête de l'utilisateur, comme turn on the flashlight.
  • Réponse attendue du modèle, y compris les appels de fonction appropriés.

Voici à quoi ressemble la fonction "Afficher la carte" :

{
  "function": {
    "name": "show_map",
    "description": "Shows a location on the map.",
    "parameters": {
      "type": "OBJECT",
      "properties": {
        "query": {
          "type": "STRING",
          "description": "The location to search for. May be the name of a place, a business, or an address."
        }
      },
      "required": [
        "query"
      ]
    }
  }
}

Le notebook Colab couvre toutes les étapes nécessaires, y compris :

  • Configurer l'environnement
  • Charger et prétraiter l'ensemble de données Mobile Actions
  • Affiner le modèle à l'aide de Hugging Face TRL
  • Convertir le modèle au format .litertlm pour le déploiement

Prérequis : Vous devez utiliser le même compte Google que celui que vous avez utilisé pour enregistrer le fichier .litertlm à l'étape 1 et être connecté à ce compte sur votre téléphone Android.

Après l'affinage, nous convertissons et quantifions les pondérations du modèle au format .litertlm.

Vous pouvez déployer le modèle dans l'option Google AI Edge Gallery > Mobile Actions en sélectionnant Load Model et en le choisissant dans votre Google Drive (ou une autre méthode de distribution). La Google AI Edge Gallery est disponible sur le Google Play Store.

Mobile Actions Finetune Challenge dans la galerie Google AI Edge Tâche "Actions mobiles" dans Google AI Edge Gallery

Vous pouvez maintenant essayer de donner une commande vocale ou de saisir du texte dans l'application pour voir dans quelle mesure votre nouveau modèle affiné appelle les fonctions à sa disposition.

Étapes suivantes

Félicitations ! Vous savez désormais comment affiner un modèle avec Hugging Face et le déployer sur l'appareil avec LiteRT-LM.