Ottimizzare FunctionGemma 270M per le Azioni mobili

Panoramica

Mobile Actions è un'app demo in cui gli utenti possono attivare azioni sul proprio dispositivo tramite input vocale o di testo. Reinterpreta l'interazione con l'assistente come una funzionalità completamente offline. Che si tratti di "Crea un evento nel calendario per il pranzo di domani", "Aggiungi Giovanni ai miei contatti" o "Accendi la torcia", il modello analizza il linguaggio naturale e identifica lo strumento del sistema operativo corretto per eseguire il comando.

Questa guida ti mostra come:

  1. Ottimizzazione del modello FunctionGemma 270M utilizzando il set di dati Mobile Actions
  2. Deployment del modello personalizzato nella galleria Google AI Edge

Potrai imparare tutto il processo, dall'ottimizzazione di un modello al suo deployment sul dispositivo.

Passaggio 1: esegui il fine tuning di FunctionGemma con il set di dati Mobile Actions

FunctionGemma è un modello con 270 milioni di parametri basato sull'architettura Gemma 3. È stato addestrato specificamente per la chiamata di funzione, consentendogli di tradurre le richieste in linguaggio naturale in chiamate di funzione.

Questo modello è piccolo ed efficiente al punto giusto per essere eseguito su un cellulare, ma come accade spesso per i modelli di queste dimensioni, richiede un'ottimizzazione per specializzarlo per l'attività che deve svolgere.

Per perfezionare FunctionGemma, utilizziamo il set di dati Mobile Actions, che è disponibile pubblicamente su Hugging Face. Ogni voce di questo set di dati fornisce:

  • Il set di strumenti (funzioni) che il modello può utilizzare:
    1. Attiva la torcia
    2. Spegne la torcia
    3. Crea un contatto nell'elenco contatti dello smartphone
    4. Invio di un'email
    5. Mostra una posizione sulla mappa
    6. Apre le impostazioni Wi-Fi.
    7. Crea un nuovo evento nel calendario
  • Il prompt di sistema che fornisce il contesto, ad esempio la data e l'ora correnti
  • Il prompt dell'utente, ad esempio turn on the flashlight.
  • La risposta prevista del modello, incluse le chiamate di funzione appropriate.

Ecco come appare la funzione Mostra mappa:

{
  "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"
      ]
    }
  }
}

Il notebook Colab copre tutti i passaggi necessari, tra cui:

  • Configurazione dell'ambiente
  • Caricamento e pre-elaborazione del set di dati Azioni mobile
  • Ottimizzazione del modello utilizzando Hugging Face TRL
  • Conversione del modello nel formato .litertlm per il deployment

Prerequisito: devi utilizzare lo stesso Account Google che hai utilizzato per salvare il file .litertlm nel passaggio 1 e aver eseguito l'accesso con questo account sullo smartphone Android.

Dopo l'ottimizzazione, convertiamo e quantizziamo i pesi del modello nel formato .litertlm.

Puoi eseguire il deployment del modello nell'opzione Google AI Edge Gallery - Azioni mobile scegliendo Load Model e selezionandolo da Google Drive (o da un metodo di distribuzione alternativo). La Galleria Google AI Edge è disponibile sul Google Play Store.

Mobile Actions Finetune Challenge nella galleria Google AI Edge Attività Azioni mobile nella galleria Google AI Edge

Ora puoi provare a dare un comando vocale o a digitare nell'app per vedere come funziona il nuovo modello ottimizzato quando chiama le funzioni a sua disposizione.

Passaggi successivi

Complimenti! Ora sai come ottimizzare un modello con Hugging Face ed eseguirne il deployment sul dispositivo con LiteRT-LM.