Visão geral do jardim modelo

O TensorFlow Model Garden fornece implementações de muitos modelos de aprendizado de máquina (ML) de última geração para visão e processamento de linguagem natural (NLP), bem como ferramentas de fluxo de trabalho para permitir que você configure e execute rapidamente esses modelos em conjuntos de dados padrão. Esteja você procurando comparar o desempenho de um modelo conhecido, verificar os resultados de pesquisas lançadas recentemente ou ampliar modelos existentes, o Model Garden pode ajudá-lo a impulsionar suas pesquisas e aplicativos de ML.

O Model Garden inclui os seguintes recursos para desenvolvedores de aprendizado de máquina:

Esses recursos são criados para serem usados ​​com a estrutura TensorFlow Core e integrados aos seus projetos de desenvolvimento TensorFlow existentes. Os recursos do Model Garden também são fornecidos sob uma licença de código aberto , para que você possa estender e distribuir livremente os modelos e ferramentas.

Modelos práticos de ML são computacionalmente intensivos para treinar e executar e podem exigir aceleradores como Unidades de Processamento Gráfico (GPUs) e Unidades de Processamento Tensor (TPUs). A maioria dos modelos no Model Garden foi treinada em grandes conjuntos de dados usando TPUs. No entanto, você também pode treinar e executar esses modelos em processadores GPU e CPU.

Modelos de jardim modelo

Os modelos de aprendizado de máquina no Model Garden incluem código completo para que você possa testá-los, treiná-los ou treiná-los novamente para pesquisa e experimentação. O Jardim Modelo inclui duas categorias principais de modelos: modelos oficiais e modelos de pesquisa .

modelos oficiais

O repositório Official Models é uma coleção de modelos de última geração, com foco em visão e processamento de linguagem natural (NLP). Esses modelos são implementados usando as APIs atuais de alto nível do TensorFlow 2.x. As bibliotecas de modelos neste repositório são otimizadas para desempenho rápido e mantidas ativamente pelos engenheiros do Google. Os modelos oficiais incluem metadados adicionais que você pode usar para configurar experimentos rapidamente usando a estrutura de experimentos de treinamento do Model Garden.

Modelos de pesquisa

O repositório de modelos de pesquisa é uma coleção de modelos publicados como recursos de código para artigos de pesquisa. Esses modelos são implementados usando o TensorFlow 1.xe 2.x. As bibliotecas de modelos na pasta de pesquisa são suportadas pelos proprietários do código e pela comunidade de pesquisa.

Estrutura do experimento de treinamento

A estrutura de experimentos de treinamento do Model Garden permite montar e executar experimentos de treinamento rapidamente usando seus modelos oficiais e conjuntos de dados padrão. A estrutura de treinamento usa metadados adicionais incluídos nos modelos oficiais do Model Garden para permitir que você configure modelos rapidamente usando um modelo de programação declarativa. Você pode definir um experimento de treinamento usando comandos Python na biblioteca TensorFlow Model ou configurar o treinamento usando um arquivo de configuração YAML, como este exemplo .

A estrutura de treinamento usa tfm.core.base_trainer.ExperimentConfig como o objeto de configuração, que contém os seguintes objetos de configuração de nível superior:

  • tempo de runtime : define o hardware de processamento, a estratégia de distribuição e outras otimizações de desempenho
  • task : define o modelo, dados de treinamento, perdas e inicialização
  • trainer : define o otimizador, loops de treinamento, loops de avaliação, resumos e pontos de verificação

Para obter um exemplo completo usando a estrutura de experimento de treinamento do Model Garden, consulte o tutorial Classificação de imagens com o Model Garden . Para obter informações sobre a estrutura do experimento de treinamento, confira a documentação da API de modelos do TensorFlow . Se você está procurando uma solução para gerenciar loops de treinamento para seus experimentos de treinamento de modelo, confira o Orbit .

Operações de ML especializadas

O Model Garden contém muitas operações de visão e NLP especificamente projetadas para executar modelos de última geração que são executados com eficiência em GPUs e TPUs. Revise os documentos da API da biblioteca TensorFlow Models Vision para obter uma lista de operações de visão especializadas. Revise os documentos da API da Biblioteca de NLP de modelos do TensorFlow para obter uma lista de operações de NLP . Essas bibliotecas também incluem funções utilitárias adicionais usadas para processamento de dados de visão e NLP, treinamento e execução de modelo.

Loops de treinamento com Orbit

Há duas opções padrão para treinar modelos do TensorFlow:

  • Use a função Keras Model.fit de alto nível. Se o seu modelo e procedimento de treinamento se encaixam nas suposições do Model.fit de Keras (incremental gradiente descendente em lotes de dados), isso pode ser muito conveniente.
  • Escreva um loop de treinamento personalizado com keras ou sem . Você pode escrever um loop de treinamento personalizado com métodos TensorFlow de baixo nível, como tf.GradientTape ou tf.function . No entanto, essa abordagem requer muito código clichê e não faz nada para simplificar o treinamento distribuído.

Orbit tenta fornecer uma terceira opção entre esses dois extremos.

Orbit é uma biblioteca leve e flexível projetada para facilitar a gravação de loops de treinamento personalizados no TensorFlow 2.x e funciona bem com a estrutura de experimentos de treinamento Model Garden . O Orbit lida com tarefas comuns de treinamento de modelos, como salvar pontos de verificação, executar avaliações de modelos e configurar a redação de resumos. Ele se integra perfeitamente ao tf.distribute e oferece suporte à execução em diferentes tipos de dispositivos, incluindo hardware de CPU, GPU e TPU. A ferramenta Orbit também é de código aberto , para que você possa estender e adaptar às suas necessidades de treinamento de modelo.

O guia Orbit está disponível aqui .