Quais são os destinos de computação no Azure Machine Learning?

Um destino de computação é um ambiente ou recurso de computação designado onde executa o script de preparação ou aloja a implementação do serviço. Esta localização pode ser o seu computador local ou um recurso de computação baseado na cloud. A utilização de destinos de computação torna mais fácil alterar posteriormente o seu ambiente de computação sem ter de alterar o código.

Num ciclo de vida típico de desenvolvimento de modelos, poderá:

  1. Comece por desenvolver e experimentar uma pequena quantidade de dados. Nesta fase, utilize o seu ambiente local, como um computador local ou uma máquina virtual (VM) baseada na cloud, como destino de computação.
  2. Aumente verticalmente para dados maiores ou faça preparação distribuída com um destes destinos de computação de preparação.
  3. Depois de o modelo estar pronto, implemente-o num ambiente de alojamento Web com um destes destinos de computação de implementação.

Os recursos de computação que utiliza para os destinos de computação estão anexados a uma área de trabalho. Os recursos de computação que não sejam o computador local são partilhados pelos utilizadores da área de trabalho.

Destinos de computação de preparação

O Azure Machine Learning tem um suporte variável entre diferentes destinos de computação. Um ciclo de vida de desenvolvimento de modelos típico começa com desenvolvimento ou experimentação numa pequena quantidade de dados. Nesta fase, utilize um ambiente local como o seu computador local ou uma VM baseada na cloud. À medida que aumenta verticalmente a sua preparação em conjuntos de dados maiores ou efetua preparação distribuída, utilize a computação do Azure Machine Learning para criar um cluster de nó único ou de vários nós que dimensione automaticamente sempre que submeter uma tarefa. Também pode anexar o seu próprio recurso de computação, embora o suporte para diferentes cenários possa variar.

Os destinos de computação podem ser reutilizados de um trabalho de preparação para o seguinte. Por exemplo, depois de anexar uma VM remota à área de trabalho, pode reutilizá-la para várias tarefas. Para pipelines de machine learning, utilize o passo de pipeline adequado para cada destino de computação.

Pode utilizar qualquer um dos seguintes recursos para um destino de computação de preparação para a maioria das tarefas. Nem todos os recursos podem ser utilizados para machine learning automatizado, pipelines de machine learning ou estruturador. O Azure Databricks pode ser utilizado como um recurso de preparação para execuções locais e pipelines de machine learning, mas não como um destino remoto para outras preparações.

Destinos de preparação Aprendizagem automática automatizada Pipelines de aprendizagem automática Estruturador do Azure Machine Learning
Computador local Yes    
Cluster de cálculo do Azure Machine Learning Yes Yes Yes
Instância de computação do Azure Machine Learning Sim (através do SDK) Yes Yes
Azure Machine Learning Kubernetes Yes Yes Yes
VM Remota Yes Yes  
Conjuntos do Apache Spark (pré-visualização) Sim (apenas no modo local do SDK) Yes  
Azure Databricks Sim (apenas no modo local do SDK) Yes  
Azure Data Lake Analytics   Yes  
Azure HDInsight   Yes  
Azure Batch   Yes  

Dica

A instância de computação tem um disco do SO de 120 GB. Se ficar sem espaço em disco, utilize o terminal para limpar, pelo menos, 1 a 2 GB antes de parar ou reiniciar a instância de computação.

Destinos de computação para inferência

Ao realizar a inferência, o Azure Machine Learning cria um contentor do Docker que aloja o modelo e os recursos associados necessários para utilizá-lo. Em seguida, este contentor é utilizado num destino de computação.

O destino de computação que utiliza para alojar o modelo afetará o custo e a disponibilidade do ponto final implementado. Utilize esta tabela para escolher um destino de computação adequado.

Destino de computação Utilizado para Suporte de GPU Descrição
Serviço Web local Testar/depurar   Utilize para testes e resolução de problemas limitados. A aceleração de hardware depende da utilização de bibliotecas no sistema local.
Pontos finais do Azure Machine Learning Inferência em tempo real

Inferência de lote
Yes Computação totalmente gerida em tempo real (pontos finais online geridos) e classificação em lote (pontos finais de lote) em computação sem servidor.
Azure Machine Learning Kubernetes Inferência em tempo real

Inferência de lote
Yes Execute a inferência de cargas de trabalho nos clusters do Kubernetes no local, na cloud e no edge.
Azure Container Instances (apenas SDK/CLI v1) Inferência em tempo real

Recomendado apenas para fins de desenvolvimento/teste.
  Utilize para cargas de trabalho baseadas em CPU de baixa escala que requerem menos de 48 GB de RAM. Não requer a gestão de um cluster.

Suportado no estruturador.

Nota

Ao escolher um SKU de cluster, primeiro aumente verticalmente e, em seguida, aumente horizontalmente. Comece com um computador que tenha 150% da RAM de que o seu modelo necessita, crie o perfil do resultado e localize um computador que tenha o desempenho de que precisa. Assim que tiver aprendido, aumente o número de máquinas para se adaptarem à sua necessidade de inferência simultânea.

Nota

As instâncias de contentor requerem o SDK ou a CLI v1 e são adequadas apenas para modelos pequenos com menos de 1 GB de tamanho.

Saiba onde e como implementar o modelo num destino de computação.

Computação do Azure Machine Learning (gerida)

Um recurso de computação gerida é criado e gerido pelo Azure Machine Learning. Esta computação está otimizada para cargas de trabalho de machine learning. Os clusters de computação e as instâncias de computação do Azure Machine Learning são os únicos cálculos geridos.

Pode criar instâncias de computação ou clusters de computação do Azure Machine Learning a partir de:

Quando criados, estes recursos de computação fazem automaticamente parte da área de trabalho, ao contrário de outros tipos de destinos de computação.

Funcionalidade Cluster de cálculo Instância de computação
Cluster de um ou vários nós Cluster de nó único
Dimensiona automaticamente sempre que submete uma tarefa
Gestão automática de clusters e agendamento de tarefas
Suporte para recursos de CPU e GPU

Nota

Quando um cluster de computação está inativo, é dimensionado automaticamente para 0 nós, para que não pague quando não está a ser utilizado. Uma instância de computação está sempre ativada e não dimensiona automaticamente. Deve parar a instância de computação quando não a estiver a utilizar para evitar custos adicionais.

Séries e tamanhos de VM suportados

Nota

A série H virtual machine series será descontinuada a 31 de agosto de 2022. Crie clusters de computação e instâncias de computação com tamanhos de VM alternativos. As instâncias de computação e clusters existentes com máquinas virtuais da série H não funcionarão após 31 de agosto de 2022.

Quando seleciona um tamanho de nó para um recurso de computação gerido no Azure Machine Learning, pode escolher entre os tamanhos de VM selecionados disponíveis no Azure. O Azure oferece uma gama de tamanhos para Linux e Windows para diferentes cargas de trabalho. Para saber mais, veja Tipos e tamanhos de VM.

Existem algumas exceções e limitações para escolher um tamanho de VM:

  • Algumas séries de VMs não são suportadas no Azure Machine Learning.
  • Existem algumas séries de VMs, como GPUs e outros SKUs especiais, que podem não aparecer inicialmente na sua lista de VMs disponíveis. No entanto, ainda pode utilizá-las, assim que pedir uma alteração de quota. Para obter mais informações sobre como pedir quotas, veja Pedir aumentos de quota. Veja a tabela seguinte para saber mais sobre as séries suportadas.
Série de VMs suportada Categoria Suportado por
DDSv4 Fins gerais Clusters de computação e instância
Dv2 Fins gerais Clusters de computação e instância
Dv3 Fins gerais Clusters de computação e instância
DSv2 Fins gerais Clusters de computação e instância
DSv3 Fins gerais Clusters de computação e instância
EAv4 Otimizada para memória Clusters de computação e instância
Ev3 Otimizada para memória Clusters de computação e instância
ESv3 Otimizada para memória Clusters de computação e instância
FSv2 Otimizado para computação Clusters de computação e instância
FX Otimizado para computação Clusters de computação
H Computação de elevado desempenho Clusters de computação e instância
HB Computação de elevado desempenho Clusters de computação e instância
HBv2 Computação de elevado desempenho Clusters de computação e instância
HBv3 Computação de elevado desempenho Clusters de computação e instância
HC Computação de elevado desempenho Clusters de computação e instância
LSv2 Otimizada para armazenamento Clusters de computação e instância
M Otimizada para memória Clusters de computação e instância
NC GPU Clusters de computação e instância
NC Promo GPU Clusters de computação e instância
NCv2 GPU Clusters de computação e instância
NCv3 GPU Clusters de computação e instância
ND GPU Clusters de computação e instância
NDv2 GPU Clusters de computação e instância
NV GPU Clusters de computação e instância
NVv3 GPU Clusters de computação e instância
NCasT4_v3 GPU Clusters de computação e instância
NDasrA100_v4 GPU Clusters de computação e instância

Embora o Azure Machine Learning suporte estas séries de VMs, estas poderão não estar disponíveis em todas as regiões do Azure. Para verificar se as séries de VMs estão disponíveis, veja Produtos disponíveis por região.

Nota

O Azure Machine Learning não suporta todos os tamanhos de VM suportados pela Computação do Azure. Para listar os tamanhos de VM disponíveis, utilize um dos seguintes métodos:

Se utilizar os destinos de computação preparados para GPU, é importante garantir que os controladores CUDA corretos estão instalados no ambiente de preparação. Utilize a tabela seguinte para determinar a versão correta do CUDA a utilizar:

Arquitetura de GPU Série de VMs do Azure Versões de CUDA suportadas
Ampere NDA100_v4 11.0+
Turing NCT4_v3 10.0+
Volta NCv3, NDv2 9.0+
Pascal NCv2, ND 9.0+
Maxwell NV, NVv3 9.0+
Kepler NC, NC Promo 9.0+

Além de garantir que a versão CUDA e o hardware são compatíveis, certifique-se também de que a versão CUDA é compatível com a versão da arquitetura de machine learning que está a utilizar:

Isolamento de computação

A computação do Azure Machine Learning oferece tamanhos de VM isolados a um tipo de hardware específico e dedicados a um único cliente. Os tamanhos de VM isolados são mais adequados para cargas de trabalho que requerem um elevado grau de isolamento das cargas de trabalho de outros clientes por motivos que incluem cumprir os requisitos de conformidade e regulamentação. Utilizar um tamanho isolado garante que a VM será a única em execução nessa instância de servidor específica.

As ofertas de VM isoladas atuais incluem:

  • Standard_M128ms
  • Standard_F72s_v2
  • Standard_NC24s_v3
  • Standard_NC24rs_v3*

*Com capacidade RDMA

Para saber mais sobre o isolamento, veja Isolamento na cloud pública do Azure.

Computação não gerida

Um destino de computação não gerido não é gerido pelo Azure Machine Learning. Pode criar este tipo de destino de computação fora do Azure Machine Learning e, em seguida, anexá-lo à área de trabalho. Os recursos de computação não geridos podem exigir passos adicionais para manter ou melhorar o desempenho das cargas de trabalho de machine learning.

O Azure Machine Learning suporta os seguintes tipos de computação não geridos:

  • Máquinas virtuais remotas

  • Azure HDInsight

  • Azure Databricks

  • Azure Data Lake Analytics

  • Azure Synapse conjunto do Spark (pré-visualização)

    Dica

    Atualmente, isto requer o SDK do Azure Machine Learning v1.

  • Kubernetes

Para obter mais informações, veja Gerir recursos de computação.

Passos seguintes

Aprenda a: