Compartilhar via


Recursos de treinamento do Azure do Construtor de Modelos

Veja a seguir um guia para ajudá-lo a saber mais sobre os recursos usados para treinar modelos no Azure com o Construtor de Modelos.

O que é um experimento do Azure Machine Learning?

Um experimento do Azure Machine Learning é um recurso que precisa ser criado antes de executar o treinamento do Construtor de Modelos no Azure.

O experimento encapsula a configuração e os resultados de uma ou mais execuções de treinamento de machine learning. Os experimentos pertencem a um workspace específico. Na primeira vez que um experimento é criado, seu nome é registrado no workspace. Todas as execuções subsequentes - se o mesmo nome do experimento for usado - são registradas como parte do mesmo experimento. Caso contrário, um novo experimento será criado.

O que é um workspace do Azure Machine Learning?

Um workspace é um recurso do Azure Machine Learning que fornece um local central para todos os recursos e artefatos do Azure Machine Learning criados como parte da execução de treinamento.

Para criar um workspace do Azure Machine Learning, o seguinte é necessário:

  • Nome: um nome para seu workspace entre 3 e 33 caracteres. Os nomes podem conter apenas caracteres alfanuméricos e hifens.
  • Região: a localização geográfica do data center no qual o workspace e os recursos são implantados. É recomendável que você escolha um local próximo de onde você ou seus clientes estão.
  • Grupo de recursos: um contêiner que contém todos os recursos relacionados para uma solução do Azure.

O que é uma computação do Azure Machine Learning?

Uma computação do Azure Machine Learning é uma VM linux baseada em nuvem usada para treinamento.

Para criar uma computação do Azure Machine Learning, os seguintes valores são necessários:

  • Nome: um nome para sua computação entre 2 e 16 caracteres. Os nomes podem conter apenas caracteres alfanuméricos e hifens.

  • Tamanho da computação.

    O Construtor de Modelos pode usar um dos seguintes tipos de computação com otimização de GPU:

    Tamanho vCPU Memória: GiB GiB de armazenamento temporário (SSD) GPU Memória de GPU: GiB Máximo de discos de dados Máximo de NICs
    Standard_NC12 12 112 680 2 24 48 2
    Standard_NC24 24 224 1440 4 48 64 4

    Visite a documentação da VM Linux da série NC para obter mais detalhes sobre tipos de computação otimizados para GPU.

  • Prioridade de computação.

    • Baixa prioridade: adequado para tarefas com tempos de execução mais curtos. As tarefas podem ser afetadas por interrupções e falta de disponibilidade. Essa opção geralmente custa menos porque aproveita a capacidade excedente no Azure.
    • Dedicado: adequado para tarefas de qualquer duração, mas especialmente trabalhos de execução longa. As tarefas não são afetadas por interrupções ou falta de disponibilidade. Essa opção geralmente custa mais porque reserva um conjunto dedicado de recursos de computação no Azure para suas tarefas.

Formação

O treinamento no Azure só está disponível para o cenário de classificação de imagem do Construtor de Modelos. O algoritmo usado para treinar esses modelos é uma Rede Neural Profunda baseada na arquitetura ResNet50. O processo de treinamento leva algum tempo e a quantidade de tempo pode variar dependendo do tamanho da computação selecionada, bem como da quantidade de dados. Você pode acompanhar o progresso de suas execuções selecionando o link "Monitorar a execução atual no portal do Azure" no Visual Studio.

Resultados

Depois que o treinamento for concluído, dois projetos serão adicionados à sua solução com os seguintes sufixos:

  • ConsoleApp: um aplicativo de console C# que fornece código inicial para criar o pipeline de previsão e fazer previsões.

  • Modelo: um aplicativo .NET Standard em C# que contém os modelos de dados que definem o esquema de dados de modelo de entrada e saída, bem como os seguintes ativos:

    • bestModel.onnx: uma versão serializada do modelo no formato ONNX (Open Neural Network Exchange). O ONNX é um formato de software livre para modelos de IA que dá suporte à interoperabilidade entre estruturas como ML.NET, PyTorch e TensorFlow.
    • bestModelMap.json: uma lista de categorias usadas ao fazer previsões para mapear a saída do modelo para uma categoria de texto.
    • MLModel.zip: uma versão serializada do pipeline de previsão ML.NET que usa a versão serializada do modelo bestModel.onnx para fazer previsões e mapas de saídas usando o arquivo bestModelMap.json.

Usar o modelo de machine learning

As classes ModelInput e ModelOutput no projeto Model definem o esquema de entrada e saída esperados do modelo, respectivamente.

Em um cenário de classificação de imagem, o ModelInput contém duas colunas:

  • ImageSource: o caminho da cadeia de caracteres do local da imagem.
  • Label: a categoria real à qual a imagem pertence. Label é usado apenas como uma entrada durante o treinamento e não precisa ser fornecido ao fazer previsões.

O ModelOutput contém duas colunas:

  • Prediction: a categoria prevista da imagem.
  • Score: a lista de probabilidades para todas as categorias (a mais alta pertence ao Prediction).

Solucionando problemas

Não é possível criar computação

Se ocorrer um erro durante a criação da computação do Azure Machine Learning, o recurso de computação ainda poderá existir, em um estado de erro. Se você tentar recriar o recurso de computação com o mesmo nome, a operação falhará. Para corrigir esse erro, também:

  • Criar a nova computação com um nome diferente
  • Acesse o portal do Azure e remova o recurso de computação original