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 fornece 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 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 do 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é-processamento 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 o 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