Este tutorial orienta você no processo completo de implantação de um modelo Gemma personalizado em um app de exemplo do Android.
Neste tutorial, vamos:
- Começar com um modelo ajustado
- Converter o modelo ajustado com a biblioteca AI Edge Torch
- Isso vai converter o checkpoint do HuggingFace em um arquivo .litertlm
- Avaliar a qualidade do modelo ajustado
- Executar os comandos adb para enviar o modelo personalizado a um dispositivo de teste
- Isso vai enviar o modelo no formato .litertlm para um dispositivo Android para testes locais
- Executar o app de exemplo Pirate Gemma
- Isso vai usar a biblioteca LiteRT-LM Kotlin para executar a inferência no modelo ajustado em um app Android de exemplo
Etapa 1: começar com um modelo ajustado
Para este tutorial, vamos começar com um modelo ajustado. Para mostrar uma diferença clara entre um modelo de base e um ajustado, pegamos um modelo Gemma270m de base e o ajustamos para falar como um pirata.
Você pode encontrar o modelo Pirate Gemma pré-ajustado em
https://huggingface.co/erintwalsh/pirate-gemma
Para mais informações sobre como ajustar um modelo, consulte os guias do Gemma Cookbook e Unsloth.
Etapa 2: converter e executar o modelo personalizado na linha de comando
Agora que você tem um modelo personalizado publicado no HuggingFace,
é possível usar a biblioteca AI Edge Torch para fazer o download e converter esse
modelo em um formato .litertlm.
Pré-requisitos
Instale a ferramenta uv e o Python 3.11 ou mais recente no seu dispositivo.
Converter modelo
uv tool install litert-torch-nightly
litert-torch export_hf \
--model=[YOUR-HF-USERNAME]/pirate-gemma \
--output_dir=/tmp/pirate-gemma \
--externalize_embedder
Executar o modelo localmente
uv tool install litert-lm
litert-lm run \
/tmp/pirate-gemma/model.litertlm \
--prompt="Where is the nearest buried treasure?"
Etapa 3: avaliar a qualidade do modelo
Avaliar a qualidade do ajuste
Depois que o modelo estiver em execução local, use a ferramenta de CLI de avaliação do AI Edge para analisar a qualidade do ajuste do modelo LiteRT-LM. Essa ferramenta oferece validação de paridade de qualidade pós-conversão integrada entre o modelo HF original e o modelo LiteRT-LM convertido com conjuntos de dados públicos. Além dos conjuntos de dados públicos, é possível criar tarefas de avaliação personalizadas usando seus próprios dados e métricas específicas. Confira um exemplo de tarefa personalizada para avaliar esse modelo ajustado usando o 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
Etapa 4: enviar o modelo local para o dispositivo de teste
Use estas instruções adb para enviar o modelo que você acabou de executar para o 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
Etapa 5: executar a inferência no modelo personalizado com o app de exemplo Captain Gemma
O Captain Gemma é um app que demonstra a interface com o modelo no dispositivo. Encontre-o no GitHub e clone o repositório para executá-lo no Android Studio.
Abra o app de exemplo Captain Gemma e execute-o no seu dispositivo. Esse é um app que usa elementos do Android Compose para demonstrar a execução de inferência em um modelo ajustado no seu dispositivo Android. O app recebe a entrada de texto de um usuário e retorna a sabedoria pirata do modelo Gemma ajustado.
Execute o app no dispositivo de teste, para o qual você acabou de enviar o arquivo .litertlm. Insira uma consulta e confira a saída do modelo na caixa de fala branca.

Exemplo de código
Confira exemplos de como configurar o modelo e executar a inferência com as APIs LiteRT-LM no exemplo de código do Captain Gemma.
Etapa 6: implantação do modelo
Depois de concluir os testes locais do modelo personalizado e estiver tudo pronto para a implantação, há opções de hospedagem do modelo, como:
- Você pode enviar o arquivo
.litertlmpara o repositório de modelos do HuggingFace que você criou anteriormente e fazer o download dele no app usando as APIs do HuggingFace - Você pode usar um serviço de hospedagem, como o Firebase, que fornece APIs para o app buscar o URL do modelo e fazer o download para Android ou iOS.