Skip to content

Latest commit

 

History

History
105 lines (58 loc) · 3.91 KB

File metadata and controls

105 lines (58 loc) · 3.91 KB

Usando Microsoft Phi-3.5 tflite para criar app Android

Este é um exemplo para Android usando os modelos Microsoft Phi-3.5 tflite.

📚 Conhecimento

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.

🪬 Diretrizes

🔥 Converter Microsoft Phi-3.5 para suporte tflite

  1. Este exemplo é para Android 14+

  2. Instale Python 3.10.12

Sugestão: use conda para instalar seu ambiente Python

  1. 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

  1. 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 .
  1. Baixe Microsoft-3.5-Instruct do Hugging Face
git lfs install

git clone  https://huggingface.co/microsoft/Phi-3.5-mini-instruct
  1. 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

🔥 Converter Microsoft Phi-3.5 para Android Mediapipe Bundle

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)

🔥 Usando adb push para enviar o modelo da tarefa para o caminho do seu dispositivo Android

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

🔥 Executando seu código Android

demo

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.