Criar modelos LiteRT

Nesta página, você encontra orientações para criar modelos do TensorFlow com a intenção de converter para o formato de modelo LiteRT. Os modelos de machine learning (ML) usados com o LiteRT são originalmente criados e treinados com as bibliotecas e ferramentas principais do TensorFlow. Depois de criar um modelo com o TensorFlow Core, você pode convertê-lo em um formato de modelo de ML menor e mais eficiente chamado LiteRT model.

Se você já tiver um modelo para converter, consulte a página Visão geral da conversão de modelos para saber como fazer isso.

Como criar seu modelo

Se você estiver criando um modelo personalizado para seu caso de uso específico, comece desenvolvendo e treinando um modelo do TensorFlow ou estendendo um modelo existente.

Restrições de design do modelo

Antes de iniciar o processo de desenvolvimento do modelo, você precisa conhecer as restrições dos modelos LiteRT e criar seu modelo considerando essas restrições:

  • Capacidades de computação limitadas: em comparação com servidores totalmente equipados com várias CPUs, alta capacidade de memória e processadores especializados, como GPUs e TPUs, os dispositivos móveis e de borda são muito mais limitados. Embora estejam crescendo em poder de computação e compatibilidade com hardware especializado, os modelos e os dados que você pode processar com eles ainda são relativamente limitados.
  • Tamanho dos modelos: a complexidade geral de um modelo, incluindo a lógica de pré-processamento de dados e o número de camadas no modelo, aumenta o tamanho na memória de um modelo. Um modelo grande pode ser executado de forma inaceitavelmente lenta ou simplesmente não caber na memória disponível de um dispositivo móvel ou de borda.
  • Tamanho dos dados: o tamanho dos dados de entrada que podem ser processados de maneira eficaz com um modelo de machine learning é limitado em um dispositivo móvel ou de borda. Modelos que usam grandes bibliotecas de dados, como bibliotecas de linguagem, de imagens ou de videoclipes, podem não caber nesses dispositivos e exigir soluções de armazenamento e acesso fora do dispositivo.
  • Operações compatíveis do TensorFlow: os ambientes de execução do LiteRT são compatíveis com um subconjunto de operações de modelos de machine learning em comparação com os modelos regulares do TensorFlow. Ao desenvolver um modelo para uso com o LiteRT, acompanhe a compatibilidade do modelo com os recursos dos ambientes de execução do LiteRT.

Para mais informações sobre como criar modelos eficazes, compatíveis e de alto desempenho para o LiteRT, consulte Práticas recomendadas de desempenho.

Desenvolvimento do modelo

Para criar um modelo LiteRT, primeiro crie um modelo usando as bibliotecas principais do TensorFlow. As bibliotecas principais do TensorFlow são as de nível mais baixo que fornecem APIs para criar, treinar e implantar modelos de ML.

Fluxo de trabalho de build do TFLite

O TensorFlow oferece dois caminhos para fazer isso. É possível desenvolver seu próprio código de modelo personalizado ou começar com uma implementação de modelo disponível no Model Garden do TensorFlow.

Model Garden

O Model Garden do TensorFlow oferece implementações de muitos modelos de aprendizado de máquina (ML) de última geração para visão e processamento de linguagem natural (PLN). Você também vai encontrar ferramentas de fluxo de trabalho para configurar e executar rapidamente esses modelos em conjuntos de dados padrão. Os modelos de machine learning no Model Garden incluem código completo para que você possa testar, treinar ou treinar novamente usando seus próprios conjuntos de dados.

Se você quer comparar o desempenho de um modelo conhecido, verificar os resultados de uma pesquisa lançada recentemente ou estender modelos atuais, o Grupo de modelos pode ajudar você a alcançar suas metas de ML.

Modelos personalizados

Se o caso de uso não for compatível com os modelos do Model Garden, use uma biblioteca de alto nível, como o Keras, para desenvolver seu código de treinamento personalizado. Para aprender os fundamentos do TensorFlow, consulte o guia do TensorFlow. Para começar a usar exemplos, consulte a visão geral dos tutoriais do TensorFlow, que contém links para tutoriais de nível iniciante a especialista.

Avaliação do modelo

Depois de desenvolver o modelo, avalie o desempenho dele e teste em dispositivos do usuário final. O TensorFlow oferece algumas maneiras de fazer isso.

  • O TensorBoard é uma ferramenta que fornece as medições e visualizações necessárias durante o fluxo de trabalho de machine learning. Ele permite acompanhar métricas de experimentos, como perda e acurácia, visualizar o gráfico do modelo, projetar embeddings para um espaço dimensional menor e muito mais.
  • As ferramentas de comparativo de mercado estão disponíveis para cada plataforma compatível, como o app de comparativo de mercado do Android e o app de comparativo de mercado do iOS. Use essas ferramentas para medir e calcular estatísticas de métricas de performance importantes.

Otimização de modelos

Com as restrições em recursos específicos para modelos do TensorFlow Lite, a otimização de modelos pode ajudar a garantir que o desempenho do modelo seja bom e use menos recursos de computação. O desempenho do modelo de aprendizado de máquina geralmente é um equilíbrio entre o tamanho e a velocidade da inferência e a acurácia. No momento, o LiteRT aceita otimização por quantização, poda e clustering. Consulte o tópico Otimização de modelo para mais detalhes sobre essas técnicas. O TensorFlow também oferece um kit de ferramentas de otimização de modelos que fornece uma API que implementa essas técnicas.

Próximas etapas