O LiteRT (abreviação de Lite Runtime), antes 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 variedade de tarefas de ML/IA ou converter e executar modelos do TensorFlow, PyTorch e JAX para o formato TFLite usando as ferramentas de conversão e otimização de 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 (não é necessário ter conexão com a Internet), tamanho (modelo reduzido e tamanho 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 modelos de vários frameworks: o AI Edge oferece ferramentas para converter modelos do PyTorch e do TensorFlow no formato FlatBuffers (
.tflite), permitindo que você use uma ampla variedade 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.Compatibilidade com diversas linguagens: inclui SDKs para Java/Kotlin, Swift, Objective-C, C++ e Python.
Alto desempenho: aceleração de hardware por delegados especializados, como GPU e iOS Core ML.
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 mostram o fluxo de trabalho e fornecem links para mais instruções.
1. Identificar a solução mais adequada para o problema de ML
O LiteRT oferece aos usuários um alto nível de flexibilidade e capacidade de personalização ao resolver problemas de machine learning, 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 machine learning, como detecção de objetos, classificação de texto e inferência de LLM.
Escolha um dos seguintes frameworks de IA de borda:
- LiteRT: tempo de execução flexível e personalizável que pode executar uma ampla variedade de modelos. Escolha um modelo para seu caso de uso, converta-o para o formato LiteRT (se necessário) e execute no dispositivo. Se você pretende usar o LiteRT, continue lendo.
- MediaPipe Tasks: 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-a 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 já no formato
.tflite. Esses modelos não exigem etapas de conversão adicionais. Você pode encontrar modelos LiteRT no Kaggle Models.Converter um modelo em um modelo LiteRT:use o PyTorch Converter ou o TensorFlow Converter para converter modelos no formato FlatBuffers (
.tflite) e executá-los no LiteRT. Para começar, você pode encontrar modelos nos seguintes sites:- Modelos do PyTorch no Hugging
Face e no
torchvision - Modelos do TensorFlow no Kaggle Models e no Hugging Face
- Modelos do PyTorch no Hugging
Face e no
Como opção, um modelo do LiteRT pode incluir metadados que contenham descrições de modelo legíveis por humanos e dados legíveis por máquina para a geração automática de pipelines de pré e pós-processamento durante inferências no dispositivo. Confira mais detalhes sobre como adicionar metadados.
3. Integrar o modelo ao app
É possível implementar seus modelos LiteRT para executar inferências completamente no dispositivo em dispositivos móveis, incorporados e da Web. 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 LiteRT na plataforma de sua preferência:
- 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 no Micro: execute modelos em dispositivos incorporados usando as APIs C++.
Nos dispositivos Android e iOS, é possível melhorar o desempenho usando a aceleração de hardware. Em qualquer uma das plataformas, você pode usar um delegado de GPU. No iOS, é possível usar o delegado Core ML. Para adicionar suporte a novos aceleradores de hardware, você pode definir 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. Ela é compatível com várias plataformas e linguagens como Java, Swift, C++, Objective-C e Python.
Modelos com metadados: você pode criar pipelines de inferência personalizados com a LiteRT Support Library.
Migrar do TF Lite
Os aplicativos que usam bibliotecas do TF Lite vão continuar funcionando, mas todo o novo desenvolvimento ativo e as atualizações serão incluídos apenas em pacotes LiteRT. As APIs LiteRT contêm os mesmos nomes de métodos das APIs do 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 início rápido do LiteRT. Para informações específicas, consulte as seções a seguir:
Conversão de modelo
- Converter modelos do PyTorch
- Converter modelos de IA generativa do PyTorch
- Converter modelos do TensorFlow
- Converter modelos JAX
Guias de plataforma