O LiteRT, antes conhecido como TensorFlow Lite, é o ambiente de execução de alto desempenho do Google para IA no dispositivo. Encontre modelos LiteRT prontos para uma grande 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 do AI Edge.
Principais recursos
Otimizado para aprendizado de máquina no dispositivo: a LiteRT inclui cinco opções. principais restrições do ODML: latência (não há ida e volta ao servidor), privacidade (nenhum dado pessoal sai do dispositivo), conectividade (conexão com a internet não não obrigatório), tamanho (modelo e tamanho binário reduzidos) e consumo de energia (inferência eficiente e falta de conexões de rede).
Suporte a várias plataformas: compatível com Android e Dispositivos iOS, incorporados Linux microcontroladores.
Opções de modelo com vários frameworks: o AI Edge oferece ferramentas para converter modelos dos modelos do TensorFlow, do PyTorch e do JAX para o formato FlatBuffers (
.tflite
), permitindo o uso de uma ampla variedade de modelos de última geração em LiteRT. Você também tem acesso a ferramentas de otimização de modelos que podem lidar quantização e metadados.Suporte a diversas linguagens: inclui SDKs para Java/Kotlin, Swift, Objective-C, C++ e Python.
Alto desempenho: aceleração de hardware usando delegados especializados, como GPU e Core ML do iOS.
Fluxo de trabalho de desenvolvimento
O fluxo de trabalho de desenvolvimento da LiteRT envolve a identificação de um problema de ML/IA, como escolher um modelo que resolva esse problema e implementar o modelo no dispositivo. As etapas a seguir orientam você no fluxo de trabalho e fornecem links para mais instruções.
1. Identificar a solução mais adequada para o problema de ML
A LiteRT oferece aos usuários um alto nível de flexibilidade e personalização quando se trata de resolver problemas de machine learning, o que o torna adequado para usuários que precisam de um modelo específico ou uma implementação especializada. Usuários que buscam soluções "plug-and-play", podem preferir o MediaPipe Tarefas, que oferece soluções prontas para tarefas comuns de machine learning, como detecção de objetos, classificação de textos e inferência LLM.
Escolha um dos seguintes frameworks do AI Edge:
- LiteRT: ambiente de execução flexível e personalizável que pode ser executado em uma diversos modelos. Escolha um modelo para seu caso de uso e converta-o no formato LiteRT (se necessário) e execute no dispositivo. Se você pretende para usar o LiteRT, continue lendo.
- Tarefas do MediaPipe: soluções plug-and-play com modelos padrão que permitem para personalização. Escolha a tarefa que resolva seu problema de IA/ML e implementá-los em várias plataformas. Se você pretende usar o MediaPipe Tasks, consulte o MediaPipe do Cloud Tasks.
2. Escolher um modelo
Um modelo LiteRT é representado em um formato portátil eficiente conhecido como
FlatBuffers, que usa o .tflite
.
É possível usar um modelo LiteRT das seguintes maneiras:
Usar um modelo LiteRT existente: a abordagem mais simples é usar um O modelo LiteRT já está no formato
.tflite
. Esses modelos não que exigem a adição de etapas de conversão. Você pode encontrar modelos LiteRT em Modelos Kaggle.Converter um modelo em um modelo LiteRT: você pode usar o método Conversor do TensorFlow, PyToch Converter ou JAX conversor para converter modelos para o formato FlatBuffers (
.tflite
) e executá-los em LiteRT. Para começar, você pode encontrar nos seguintes sites:- Modelos do TensorFlow no Kaggle modelos e Hugging Face
- Modelos PyTorch no Hugging
Face e
torchvision
- Modelos JAX no Hugging Face
Um modelo LiteRT pode incluir opcionalmente metadados que contêm descrições de modelos legíveis por humanos e dados legíveis por máquina para geração 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 LiteRT para executar inferências completamente no dispositivo em dispositivos móveis, incorporados e na Web. A 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 sua preferência. plataforma:
- Executar no Android: execute modelos em dispositivos Android usando a APIs Java/Kotlin.
- Executar no iOS: execute modelos em dispositivos iOS usando o Swift APIs de terceiros.
- Executar em micro: execute modelos em dispositivos incorporados usando as APIs C++.
Nos dispositivos Android e iOS, é possível melhorar o desempenho usando hardware. e aceleração. Em qualquer plataforma, é possível usar uma GPU Delegate. No iOS, é possível usar o Core ML Delegação. Para adicionar suporte a novos aceleradores de hardware, você pode 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 LiteRT. Interpreter. Compatível com vários idiomas e plataformas como Java, Swift, C++, Objective-C e Python.
Modelos com metadados: é possível criar pipelines de inferência personalizados com o Biblioteca de Suporte LiteRT (em inglês).
Migrar do LiteRT
Os aplicativos que usam bibliotecas LiteRT continuarão funcionando, mas todos os novos desenvolvimentos e atualizações ativos serão incluídos somente nos pacotes LiteRT. As APIs LiteRT contêm os mesmos nomes de métodos que as APIs do TF Lite. Por isso, a migração para LiteRT não exige alterações detalhadas no código.
Para mais informações, consulte o guia de migração.
Próximas etapas
Novos usuários devem começar com o guia de início rápido da LiteRT. Para informações específicas, consulte as seguintes seções:
Conversão de modelo
- Converter modelos do TensorFlow
- Converter modelos PyTorch
- Converter modelos de IA generativa do PyTorch
- Converter modelos JAX
Guias de plataforma