En este instructivo, se explica el proceso de extremo a extremo para implementar un modelo de Gemma personalizado en una app de ejemplo para Android.
En este instructivo, haremos lo siguiente:
- Comienza con un modelo ajustado
- Convierte el modelo ajustado con la biblioteca de AI Edge Torch.
- Esto convertirá el punto de control de HuggingFace en un archivo .litertlm
- Evalúa la calidad del modelo ajustado
- Ejecuta los comandos de adb para enviar el modelo personalizado a un dispositivo de prueba.
- Esto enviará el modelo en formato .litertlm a un dispositivo Android para realizar pruebas locales.
- Ejecuta la app de ejemplo de Pirate Gemma.
- Se usará la biblioteca de Kotlin de LiteRT-LM para ejecutar la inferencia en el modelo ajustado en una app de ejemplo para Android.
Paso 1: Comienza con un modelo ajustado
En este instructivo, comenzaremos con un modelo ajustado. Para mostrar una diferencia clara entre un modelo base y uno ajustado, tomamos un modelo base Gemma270m y lo ajustamos para que hable como un pirata.
Puedes encontrar el modelo de Pirate Gemma previamente ajustado en
https://huggingface.co/erintwalsh/pirate-gemma
Para obtener más información sobre el ajuste de un modelo, consulta las guías de Gemma Cookbook y Unsloth.
Paso 2: Convierte y ejecuta tu modelo personalizado en la línea de comandos
Ahora que tienes un modelo personalizado publicado en Hugging Face, puedes usar la biblioteca de AI Edge Torch para descargar y convertir ese modelo a un formato .litertlm.
Requisitos previos
Asegúrate de tener instaladas la herramienta uv y Python 3.11 o una versión posterior en tu dispositivo.
Convierte el modelo
uv tool install litert-torch-nightly
litert-torch export_hf \
--model=[YOUR-HF-USERNAME]/pirate-gemma \
--output_dir=/tmp/pirate-gemma \
--externalize_embedder
Ejecuta tu modelo de forma local
uv tool install litert-lm
litert-lm run \
/tmp/pirate-gemma/model.litertlm \
--prompt="Where is the nearest buried treasure?"
Paso 3: Evalúa la calidad del modelo
Evalúa la calidad del ajuste
Una vez que tu modelo se ejecute de forma local, puedes usar la herramienta de CLI de evaluación de AI Edge para analizar la calidad del modelo LiteRT-LM de la optimización. Esta herramienta ofrece validación integrada de la paridad de calidad posterior a la conversión entre el modelo HF original y el modelo LiteRT-LM convertido con conjuntos de datos públicos. Además de los conjuntos de datos públicos, puedes crear tareas de evaluación personalizadas con tus propios datos y métricas específicas. Consulta un ejemplo de tarea personalizada para evaluar este modelo ajustado con 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
Paso 4: Envía tu modelo local a tu dispositivo de prueba
Usa estas instrucciones de adb para transferir el modelo que acabas de ejecutar a tu dispositivo Android físico.
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
Paso 5: Ejecuta la inferencia en tu modelo personalizado con la app de ejemplo de Capitán Gemma
Captain Gemma es una app que demuestra la interacción con el modelo en el dispositivo. Encuéntralo en GitHub y clona el repositorio para ejecutarlo en Android Studio.
Abre la app de ejemplo de Captain Gemma y ejecútala en tu dispositivo. Esta es una app que usa elementos de Android Compose para demostrar cómo ejecutar inferencias en un modelo ajustado en tu dispositivo Android. La app toma la entrada de texto de un usuario y devuelve la sabiduría pirata del modelo Gemma ajustado.
Ejecuta la app en el dispositivo de prueba al que acabas de enviar el archivo .litertlm. Ingresa una búsqueda y observa el resultado del modelo en el cuadro de diálogo blanco.

Código de muestra
Consulta ejemplos de cómo configurar tu modelo y ejecutar la inferencia con las APIs de LiteRT-LM en el código de muestra de Captain Gemma.
Paso 6: Implementación del modelo
Una vez que termines de probar tu modelo personalizado de forma local y esté todo listo para la implementación, tendrás opciones para alojar tu modelo, como las siguientes:
- Puedes enviar tu archivo
.litertlmal repositorio de modelos de Hugging Face que creaste antes y descargarlo en tu app con las APIs de Hugging Face. - Puedes usar un servicio de hosting, como Firebase, que proporciona APIs para que tu app recupere la URL del modelo y lo descargue para Android o iOS.