O LiteRT (abreviação de "ambiente de execução Lite"), anteriormente conhecido como TensorFlow Lite, é o ambiente de execução de alto desempenho do Google para IA no dispositivo. Você pode encontrar modelos LiteRT prontos para execução para uma ampla gama de tarefas de ML/IA ou converter e executar modelos do TensorFlow, PyTorch e JAX no formato TFLite usando as ferramentas de conversão e otimização da IA no Edge.
Principais recursos
Otimizado para aprendizado de máquina no dispositivo: o LiteRT aborda cinco restrições principais do ODML: latência (não há ida e volta para um servidor), privacidade (nenhum dado pessoal sai do dispositivo), conectividade (a conectividade de Internet não é necessária), tamanho (tamanho reduzido do modelo e do binário) e consumo de energia (inferência eficiente e falta de conexões de rede).
Suporte a várias plataformas: compatível com dispositivos Android e iOS, Linux incorporado e microcontroladores.
Opções de modelo com vários frameworks: o AI Edge oferece ferramentas para converter modelos do TensorFlow, PyTorch e JAX no formato FlatBuffers (
.tflite), permitindo que você use uma ampla gama de modelos de última geração no LiteRT. Você também tem acesso a ferramentas de otimização de modelos que podem processar quantização e metadados.Suporte a várias linguagens: inclui SDKs para Java/Kotlin, Swift, Objective-C, C++ e Python.
Alto desempenho: aceleração de hardware com delegados especializados, como GPU e Core ML do iOS.
Fluxo de trabalho de desenvolvimento
O fluxo de trabalho de desenvolvimento do LiteRT envolve identificar um problema de ML/IA, escolher um modelo que resolva esse problema e implementar o modelo no dispositivo. As etapas a seguir orientam você pelo fluxo de trabalho e fornecem links para mais instruções.
1. Identifique a solução mais adequada para o problema de ML
O LiteRT oferece aos usuários um alto nível de flexibilidade e personalização ao resolver problemas de aprendizado de máquina, o que o torna uma boa opção para usuários que precisam de um modelo específico ou de uma implementação especializada. Os usuários que procuram soluções plug-and-play podem preferir o MediaPipe Tasks, que oferece soluções prontas para tarefas comuns de aprendizado de máquina, como detecção de objetos, classificação de texto e inferência de LLM.
Escolha um dos seguintes frameworks de IA de borda:
- LiteRT: ambiente de execução flexível e personalizável que pode executar uma ampla gama de modelos. Escolha um modelo para seu caso de uso, converta-o para o formato LiteRT (se necessário) e execute-o no dispositivo. Se você pretende usar o LiteRT, continue lendo.
- Tarefas do MediaPipe: soluções plug-and-play com modelos padrão que permitem personalização. Escolha a tarefa que resolve seu problema de IA/ML e implemente em várias plataformas. Se você pretende usar o MediaPipe Tasks, consulte a documentação do MediaPipe Tasks.
2. Escolher um modelo
Um modelo do LiteRT é representado em um formato portátil eficiente conhecido como
FlatBuffers, que usa a extensão de arquivo
.tflite.
É possível usar um modelo do LiteRT das seguintes maneiras:
Usar um modelo LiteRT existente:a abordagem mais simples é usar um modelo LiteRT que já esteja no formato
.tflite. Esses modelos não exigem etapas de conversão adicionais. Você pode encontrar modelos LiteRT em Modelos Kaggle.Converta um modelo em um modelo do LiteRT:use o conversor do TensorFlow, o conversor do PyTorch ou o conversor do JAX para converter modelos para o formato FlatBuffers (
.tflite) e executá-los no LiteRT. Para começar, encontre modelos nos seguintes sites:- Modelos do TensorFlow em Modelos do Kaggle e Hugging Face.
- Modelos PyTorch no Hugging
Face e no
torchvision - Modelos JAX no Hugging Face
Um modelo LiteRT pode incluir metadados que tenham uma descrição de modelo legível por humanos e dados legíveis por máquina para a geração automática de pipelines de pré- e pós-processamento durante a inferência no dispositivo. Consulte Adicionar metadados para mais detalhes.
3. Integrar o modelo ao app
É possível implementar seus modelos do LiteRT para executar inferências totalmente no dispositivo na Web, em dispositivos incorporados e em dispositivos móveis. O LiteRT contém APIs para Python, Java e Kotlin para Android, Swift para iOS e C++ para microdispositivos.
Use os guias a seguir para implementar um modelo do LiteRT na sua plataforma preferida:
- Executar no Android: execute modelos em dispositivos Android usando as APIs Java/Kotlin.
- Executar no iOS: execute modelos em dispositivos iOS usando as APIs Swift.
- Executar em micro: execute modelos em dispositivos incorporados usando as APIs C++.
Em dispositivos Android e iOS, é possível melhorar o desempenho usando a aceleração de hardware. Em qualquer uma das plataformas, é possível usar um delegado de GPU. No iOS, é possível usar o delegado Core ML. Para adicionar suporte a novos aceleradores de hardware, defina seu próprio delegado.
É possível executar a inferência das seguintes maneiras com base no tipo de modelo:
Modelos sem metadados: use a API LiteRT Interpreter. Compatível com várias plataformas e linguagens, como Java, Swift, C++, Objective-C e Python.
Modelos com metadados: é possível criar pipelines de inferência personalizados com a Biblioteca de suporte do LiteRT.
Migrar do TF Lite
Os aplicativos que usam bibliotecas TF Lite vão continuar funcionando, mas todo o novo desenvolvimento e atualizações ativas só serão incluídos nos pacotes do LiteRT. As APIs LiteRT contêm os mesmos nomes de método das APIs TF Lite. Portanto, a migração para LiteRT não exige mudanças detalhadas no código.
Para mais informações, consulte o guia de migração.
Próximas etapas
Os novos usuários devem começar com o Guia de início rápido do LiteRT. Para informações específicas, consulte as seções a seguir:
Conversão de modelo
- Converter modelos do TensorFlow
- Converter modelos do PyTorch
- Converter modelos de IA generativa do PyTorch
- Converter modelos JAX
Guias de plataformas