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 é um espaço 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, os seguintes valores são necessários:
Nome: um nome para sua computação entre 2 e 16 caracteres. Os nomes só podem conter caracteres alfanuméricos e hífenes.
Tamanho do computador.
O Construtor de Modelos 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 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 o de documentação da
de documentação de VMs 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. 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 longa duração. 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 obtidos
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 arquivo
bestModelMap.json
.
Use o modelo de aprendizado de máquina
As classes
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 se treina e não precisa ser fornecido quando se fazem 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 aoPrediction
).
Soluçã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