Partilhar via


Recursos de treinamento do Azure do Construtor de Modelos

A seguir está 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 aprendizado de máquina. As experiências pertencem a um espaço de trabalho específico. Na primeira vez que um experimento é criado, seu nome é registrado no espaço de trabalho. Todas as execuções subsequentes - se o mesmo nome de experimento for usado - são registradas como parte do mesmo experimento. Caso contrário, um novo experimento é criado.

O que é uma área de trabalho do Azure Machine Learning?

Um espaço de trabalho é 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 espaço de trabalho do Azure Machine Learning, é necessário o seguinte:

  • Nome: um nome para o espaço de trabalho entre 3 e 33 caracteres. Os nomes só podem conter caracteres alfanuméricos e hífenes.
  • Região: a localização geográfica do data center onde seu espaço de trabalho e recursos são implantados. É recomendável que você escolha um local perto 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, é necessário o seguinte:

  • Nome: um nome para sua computação entre 2 e 16 caracteres. Os nomes só podem conter caracteres alfanuméricos e hífenes.

  • Tamanho de computação

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

    Tamanho vCPU Memória: GiB Armazenamento (SSD) temporário GiB GPU Memória GPU: GiB Discos de dados máximos NICs máximos
    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 os tipos de computação otimizados para GPU.

  • Prioridade de computação

    • Baixa prioridade: Adequado para tarefas com tempos de execução mais curtos. Pode ser afetado por interrupções e falta de disponibilidade. Normalmente custa menos porque tira partido da capacidade excedentária no Azure.
    • Dedicado: Adequado para tarefas de qualquer duração, mas especialmente trabalhos de longa duração. Não afetado por interrupções ou falta de disponibilidade. Normalmente custa mais porque reserva um conjunto dedicado de recursos de computação no Azure para as 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

Quando 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 C# .NET Standard que contém os modelos de dados que definem o esquema de dados do modelo de entrada e saída, bem como os seguintes ativos:

    • bestModel.onnx: Uma versão serializada do modelo no formato Open Neural Network Exchange (ONNX). ONNX é um formato de código aberto para modelos de IA que suporta 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 de ML.NET que usa a versão serializada do modelo bestModel.onnx para fazer previsões e mapeia saídas usando o bestModelMap.json arquivo.

Use o modelo de aprendizado de máquina

As ModelInput classes e ModelOutput no projeto Model definem o esquema da entrada e saída esperadas 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 a que a imagem pertence. Label é usado apenas como um input quando 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).

Resolução de Problemas

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

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

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