Este é um exemplo para Android usando os modelos Microsoft Phi-3.5 tflite.
A API de Inferência LLM para Android permite executar grandes modelos de linguagem (LLMs) totalmente no dispositivo para aplicações Android, que você pode usar para realizar uma ampla variedade de tarefas, como gerar texto, recuperar informações em linguagem natural e resumir documentos. A tarefa oferece suporte integrado para múltiplos modelos de linguagem grandes texto-para-texto, para que você possa aplicar os mais recentes modelos generativos de IA no dispositivo em seus apps Android.
Googld AI Edge Torch é uma biblioteca Python que suporta a conversão de modelos PyTorch para o formato .tflite, que pode ser executado com TensorFlow Lite e MediaPipe. Isso possibilita aplicações para Android, iOS e IoT que rodam modelos totalmente no dispositivo. AI Edge Torch oferece ampla cobertura para CPU, com suporte inicial para GPU e NPU. AI Edge Torch busca integrar-se de forma próxima ao PyTorch, construindo sobre torch.export() e oferecendo boa cobertura dos operadores Core ATen.
-
Este exemplo é para Android 14+
-
Instale Python 3.10.12
Sugestão: use conda para instalar seu ambiente Python
- Ubuntu 20.04 / 22.04 (fique atento ao google ai-edge-torch)
Sugestão: use uma VM Linux Azure ou uma VM em nuvem de terceiros para criar seu ambiente
- Acesse seu bash Linux para instalar a biblioteca Python
git clone https://github.com/google-ai-edge/ai-edge-torch.git
cd ai-edge-torch
pip install -r requirements.txt -U
pip install tensorflow-cpu -U
pip install -e .
- Baixe Microsoft-3.5-Instruct do Hugging Face
git lfs install
git clone https://huggingface.co/microsoft/Phi-3.5-mini-instruct
- Converta Microsoft Phi-3.5 para tflite
python ai-edge-torch/ai_edge_torch/generative/examples/phi/convert_phi3_to_tflite.py --checkpoint_path Your Microsoft Phi-3.5-mini-instruct path --tflite_path Your Microsoft Phi-3.5-mini-instruct tflite path --prefill_seq_len 1024 --kv_cache_max_len 1280 --quantize True
por favor, instale o mediapipe primeiro
pip install mediapipe
execute este código no seu notebook
import mediapipe as mp
from mediapipe.tasks.python.genai import bundler
config = bundler.BundleConfig(
tflite_model='Your Phi-3.5 tflite model path',
tokenizer_model='Your Phi-3.5 tokenizer model path',
start_token='start_token',
stop_tokens=[STOP_TOKENS],
output_filename='Your Phi-3.5 task model path',
enable_bytes_to_unicode_mapping=True or Flase,
)
bundler.create_bundle(config)adb shell rm -r /data/local/tmp/llm/ # Remove any previously loaded models
adb shell mkdir -p /data/local/tmp/llm/
adb push 'Your Phi-3.5 task model path' /data/local/tmp/llm/phi3.task
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
