Visão geral do LiteRT

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:

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:

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

Guias de plataforma