Questo tutorial illustra l'intero processo di deployment di un modello Gemma personalizzato in un'app di esempio Android.
In questo tutorial:
- Inizieremo con un modello ottimizzato
- Convertiremo il modello ottimizzato con la libreria AI Edge Torch
- In questo modo, il checkpoint di HuggingFace verrà convertito in un file .litertlm
- Valuteremo la qualità del modello ottimizzato
- Eseguiremo i comandi adb per eseguire il push del modello personalizzato su un dispositivo di test
- In questo modo, il modello in formato .litertlm verrà inviato a un dispositivo Android per i test locali
- Eseguiremo l'app di esempio Pirate Gemma
- In questo modo, la libreria Kotlin LiteRT-LM verrà utilizzata per eseguire l'inferenza sul modello ottimizzato in un'app per Android di esempio
Passaggio 1: inizia con un modello ottimizzato
Per questo tutorial, inizieremo con un modello ottimizzato. Per mostrare una chiara differenza tra un modello di base e uno ottimizzato, abbiamo preso un modello di base Gemma270m modello e lo abbiamo ottimizzato per parlare come un pirata.
Puoi trovare il modello Pirate Gemma pre-ottimizzato all'indirizzo
https://huggingface.co/erintwalsh/pirate-gemma
Per ulteriori informazioni sull'ottimizzazione di un modello, consulta le guide Gemma Cookbook e Unsloth.
Passaggio 2: converti ed esegui il modello personalizzato nella riga di comando
Ora che hai pubblicato un modello personalizzato su HuggingFace,
puoi utilizzare la libreria AI Edge Torch per scaricare e convertire quel
modello in formato .litertlm.
Prerequisiti
Assicurati di aver installato lo strumento uv e Python 3.11 o versioni successive sul tuo dispositivo.
Converti il modello
uv tool install litert-torch-nightly
litert-torch export_hf \
--model=[YOUR-HF-USERNAME]/pirate-gemma \
--output_dir=/tmp/pirate-gemma \
--externalize_embedder
Esegui il modello in locale
uv tool install litert-lm
litert-lm run \
/tmp/pirate-gemma/model.litertlm \
--prompt="Where is the nearest buried treasure?"
Passaggio 3: valuta la qualità del modello
Valuta la qualità dell'ottimizzazione
Una volta che il modello è in esecuzione in locale, puoi utilizzare lo strumento CLI di valutazione AI Edge per analizzare la qualità del modello LiteRT-LM dell'ottimizzazione. Questo strumento offre la convalida della parità di qualità post-conversione integrata tra il modello HF originale e il modello LiteRT-LM convertito con set di dati pubblici. Oltre ai set di dati pubblici, puoi creare attività di valutazione personalizzate utilizzando i tuoi dati e metriche specifiche. Consulta un esempio di attività personalizzata per valutare questo modello ottimizzato utilizzando LLM-as-a-Judge.
uv tool install ai-edge-eval
GEMINI_API_KEY="your_actual_api_key_here"
ai_edge_eval \
--framework custom \
--runner litert-lm \
--model-path /path/to/your/model.litertlm \
--custom-tasks-file pirate_gemma_custom_task.py \
--tasks pirate_gemma_eval \
--output-dir /tmp/results
Passaggio 4: esegui il push del modello locale sul dispositivo di test
Utilizza queste istruzioni adb per eseguire il push del modello appena eseguito sul tuo dispositivo Android fisico.
adb shell rm -r /data/local/tmp/llm/ # Remove any previously loaded models
adb shell mkdir -p /data/local/tmp/llm/
adb push /tmp/pirate-gemma/model.litertlm /data/local/tmp/llm/pirate-gemma.litertlm
Passaggio 5: esegui l'inferenza sul modello personalizzato con l'app di esempio Captain Gemma
Captain Gemma è un'app che mostra l'interfaccia con il modello sul dispositivo. Trovala su GitHub e clona il repository per eseguirla in Android Studio.
Apri l'app di esempio Captain Gemma ed eseguila sul tuo dispositivo. Si tratta di un'app che utilizza gli elementi di Android Compose per dimostrare l'esecuzione dell'inferenza su un modello ottimizzato sul tuo dispositivo Android. L'app accetta l'input di testo da un utente e restituisce la saggezza pirata del modello Gemma ottimizzato.
Esegui l'app sul dispositivo di test, su cui hai appena eseguito il push del file .litertlm. Inserisci una query e visualizza l'output del modello nella casella di testo bianca.

Codice campione
Consulta gli esempi di configurazione del modello ed esecuzione dell'inferenza con le API LiteRT-LM nel codice campione di Captain Gemma.
Passaggio 6: deployment del modello
Una volta terminato il test locale del modello personalizzato e pronto per il deployment, sono disponibili opzioni per l'hosting del modello, ad esempio:
- Puoi eseguire il push del file
.litertlmnel repository del modello HuggingFace che hai creato in precedenza e scaricarlo nella tua app utilizzando le API HuggingFace - Puoi utilizzare un servizio di hosting come Firebase, che fornisce API per la tua app per recuperare l'URL del modello e scaricarlo per Android o iOS.