Share via


Recursos de treinamento do Azure para o Model Builder

Veja a seguir um guia que ajudará você a saber mais sobre os recursos usados para treinar modelos no Azure com o Model Builder.

O que é um experimento do Azure Machine Learning?

Um experimento do Azure Machine Learning é um recurso que precisa ser criado antes da execução do treinamento do Model Builder no Azure.

O experimento encapsula a configuração e os resultados de uma ou mais execuções de treinamento de aprendizado de máquina. Os experimentos pertencem a um workspace específico. Na primeira vez que um experimento é criado, o nome dele é registrado no workspace. Todas as execuções subsequentes (se o mesmo nome do experimento for usado) serã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 do treinamento.

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

  • Nome: um nome para o workspace entre três e 33 caracteres. Os nomes só podem conter 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 escolher um local próximo de você ou de seus clientes.
  • Grupo de recursos: um contêiner que contém todos os recursos relacionados a uma solução do Azure.

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

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

Para criar uma computação do Azure Machine Learning, é necessário o seguinte:

  • Nome: um nome para o workspace entre dois a 16 caracteres. Os nomes só podem conter caracteres alfanuméricos e hifens.

  • Tamanho da computação

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

    Tamanho vCPU Memória: GiB Armazenamento temporário (SSD) GiB GPU Memória da GPU: GiB Discos de dados máximos 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 do Linux da série NC para saber mais 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 impactado por interrupções e falta de disponibilidade. Geralmente custa menos porque aproveita a capacidade excedente no Azure.
    • Dedicado: adequado para tarefas de qualquer duração, mas especialmente para trabalhos de longa duração. Não é impactado por interrupções e falta de disponibilidade. Geralmente custa mais porque reserva um conjunto dedicado de recursos de computação no Azure para suas tarefas.

Treinamento

O treinamento no Azure está disponível somente para o cenário de classificação de imagem do Model Builder. 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. É possível acompanhar o progresso de suas execuções clicando no link "Monitorar a execução atual no portal do Azure" no Visual Studio.

Resultados

Após a conclusão do treinamento, dois projetos são adicionados à 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 padrão do .NET em c# 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 ONNX (Open Neural Network Exchange). 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 do ML.NET que usa a versão serializada do modelo bestModel.onnx para fazer previsões e mapear saídas usando o arquivo bestModelMap.json.

Usar o modelo de machine learning

As classes ModelInput e ModelOutput no projeto Modelo definem o esquema da entrada e da saída esperadas do modelo, respectivamente.

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

  • ImageSource: o caminho de cadeia de caracteres do local da imagem.
  • Label: a categoria real à qual a imagem pertence. Label é usado somente como entrada durante o treinamento e não precisa ser fornecido em 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).

Solução de problemas

Não é possível criar a 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. Ao tentar recriar o recurso de computação com o mesmo nome, a operação falha. Para corrigir esse erro:

  • Criar a computação com um nome diferente
  • Acessar o portal do Azure e remover o recurso de computação original