O que são destinos de computação no Azure Machine Learning?
Um destino de computação é um recurso de computação ou um ambiente designado em que você executa o script de treinamento ou hospeda a implantação do serviço. Essa localização pode ser o computador local ou um recurso de computação baseado em nuvem. O uso de destinos de computação facilita a alteração posterior do ambiente de computação sem a necessidade de alterar o código.
O Azure Machine Learning tem suporte variado nos diferentes destinos de computação. Em um ciclo de vida típico de desenvolvimento de modelo, você pode:
- Começar desenvolvendo o modelo e experimentando com um pequeno volume de dados. Nesta fase, use o ambiente local, como um computador local ou uma VM (máquina virtual) baseada em nuvem, como o destino de computação.
- Escale verticalmente para dados maiores ou faça um treinamento distribuído usando um desses destinos de computação de treinamento.
- Depois que o modelo estiver pronto, implante-o em um ambiente de hospedagem na Web com um destes destinos de computação de implantação.
Os recursos de computação usados para os destinos de computação são anexados a um workspace. Os destinos de computação diferentes do computador local são compartilhados pelos usuários do workspace.
Destinos de computação de treinamento
Ao escalar verticalmente o treinamento em conjuntos de dados maiores ou fazer um treinamento distribuído, use a computação do Azure Machine Learning para criar um cluster de vários nós ou de nó único que será escalado automaticamente sempre que você enviar um trabalho. Você também pode anexar um recurso de computação próprio, embora o suporte para diferentes cenários possa variar.
Os destinos de computação podem ser reutilizados pelos trabalhos de treinamento. Por exemplo, após anexar uma VM remota ao seu workspace, você pode reutilizá-la para vários trabalhos. Para pipelines de machine learning, use a etapa do pipeline apropriada para cada destino de computação.
Você pode usar qualquer um dos recursos a seguir para um destino de computação de treinamento para a maioria dos trabalhos. Nem todos os recursos podem ser usados para machine learning automatizado, pipelines de machine learning ou designer. O Azure Databricks pode ser usado como um recurso de treinamento para execuções locais e pipelines de aprendizado de máquina, mas não como um destino remoto para outro treinamento.
Destinos de treinamento | Machine learning automatizado | Pipelines do aprendizado de máquina | Designer do Azure Machine Learning |
---|---|---|---|
Computador local | Sim | ||
Cluster de computação do Azure Machine Learning | Sim | Sim | Sim |
Computação sem servidor do Azure Machine Learning | Sim | Sim | Sim |
Instância de computação do Azure Machine Learning | Sim (por meio do SDK) | Sim | Yes |
Kubernetes do Azure Machine Learning | Yes | Sim | |
VM remota | Sim | Sim | |
Pools do Spark do Synapse (versão prévia) | Sim (somente no modo local do SDK) | Sim | |
Azure Databricks | Sim (somente no modo local do SDK) | Sim | |
Azure Data Lake Analytics | Sim | ||
Azure HDInsight | Sim | ||
Lote do Azure | Sim |
Dica
A instância de computação tem um disco de SO de 120 GB. Se você ficar sem espaço em disco, use o terminal para limpar pelo menos 1-2 GB antes de parar ou reiniciar a instância de computação.
Destinos de computação para inferência
Ao executar a inferência, o Azure Machine Learning cria um contêiner do Docker que hospeda o modelo e os recursos associados necessários para usá-lo. Em seguida, esse contêiner será usado em um destino de computação.
O destino de computação que você usa para hospedar seu modelo afeta o custo e a disponibilidade do ponto de extremidade implantado. Use esta tabela para escolher um destino de computação apropriado.
Destino de computação | Usado para | Suporte de GPU | Descrição |
---|---|---|---|
Pontos de Extremidade do Machine Learning | Inferência em tempo real Inferência de lote |
Sim | Computação totalmente gerenciada para tempo real (pontos de extremidade online gerenciados) e pontuação em lote (pontos de extremidade em lote) na computação sem servidor. |
Kubernetes do Azure Machine Learning | Inferência em tempo real Inferência de lote |
Sim | Execute cargas de trabalho de inferência em clusters Kubernetes locais, de nuvem e borda. |
Destino de computação | Usado para | Suporte de GPU | Descrição |
---|---|---|---|
Serviço Web local | Teste/depuração | Use para teste e solução de problemas limitados. A aceleração de hardware depende do uso de bibliotecas no sistema local. | |
Kubernetes do Azure Machine Learning | Inferência em tempo real | Sim | Execute cargas de trabalho de inferência na nuvem. |
Instâncias de Contêiner do Azure | Inferência em tempo real Recomendado apenas para fins de desenvolvimento/teste. |
Use para cargas de trabalho baseadas em CPU de baixa escala que exigem menos de 48 GB de RAM. Não exige que você gerencie um cluster. Adequado apenas para modelos com menos de 1 GB. Com suporte no designer. |
Observação
Ao escolher uma SKU de cluster, primeiro escale verticalmente e, em seguida, escale horizontalmente. Comece com um computador que tenha 150% da RAM de que seu modelo requer, perfile o resultado e localize um computador que tenha o desempenho de que você precisa. Depois de aprender isso, aumente o número de computadores para atender à sua necessidade de inferência simultânea.
Computação (gerenciada) do Azure Machine Learning
O Azure Machine Learning cria e gerencia os recursos de computação gerenciados. Esse tipo de computação é otimizado para cargas de trabalho de aprendizado de máquina. Clusters de computação do Azure Machine Learning, computação sem servidor e instâncias de computação são as únicas computações gerenciadas.
Não é necessário criar computação sem servidor. Você pode criar instâncias de computação ou clusters de cálculo do Azure Machine Learning por meio dos seguintes:
- Estúdio do Azure Machine Learning
- O SDK do Python e o CLI do Azure:
- Um modelo do Azure Resource Manager. Para obter um exemplo de modelo, confira Criar um cluster de cálculo do Azure Machine Learning.
Observação
Em vez de criar um cluster de cálculo, use a computação sem servidor para descarregar o gerenciamento do ciclo de vida da computação para o Azure Machine Learning.
Quando criados, esses recursos de computação passam a fazer parte automaticamente do seu workspace, ao contrário de outros tipos de destinos de computação.
Funcionalidade | Cluster de computação | Instância de computação |
---|---|---|
Cluster de vários nós ou de nó único | ✓ | Cluster de nó único |
É escalado automaticamente toda vez que você envia um trabalho | ✓ | |
Gerenciamento automático de clusters e agendamento de trabalhos | ✓ | ✓ |
Suporte para recursos de CPU e GPU | ✓ | ✓ |
Observação
Para evitar encargos quando a computação estiver ociosa:
- Para um cluster de cálculo, verifique se o número mínimo de nós está definido como 0 ou use a computação sem servidor.
- Para uma instância de computação, habilite o desligamento por ociosidade.
Séries e tamanhos de VM com suporte
Importante
Se a instância de computação ou os clusters de computação forem baseados em qualquer uma dessas séries, recrie com outro tamanho de VM.
Estas séries de dados foram desativadas em 31 de agosto de 2023:
Estas séries de dados foram desativadas em 31 de agosto de 2024:
Ao selecionar um tamanho de nó para um recurso de computação gerenciado no Azure Machine Learning, você pode escolher entre os tamanhos de VM selecionados no Azure. O Azure oferece uma variedade de tamanhos para o Linux e o Windows em diferentes cargas de trabalho. Para saber mais, confira Tipos e tamanhos de VM.
Há algumas exceções e limitações para escolher um tamanho de VM:
- Não há suporte para algumas séries de VMs no Azure Machine Learning.
- Algumas séries de VM, como GPUs e outras SKUs especiais, podem inicialmente não aparecer em sua lista de VMs disponíveis. No entanto, você ainda poderá usá-las após solicitar uma alteração de cota. Para obter mais informações sobre a solicitação de cotas, confira Cota de solicitação e aumentos de limite.
Veja a tabela a seguir para saber mais sobre as séries com suporte.
Séries de VMs com suporte | Categoria | Com suporte por |
---|---|---|
DDSv4 | Propósito geral | Clusters e instância de computação |
Dv2 | Propósito geral | Clusters e instância de computação |
Dv3 | Propósito geral | Clusters e instância de computação |
DSv2 | Propósito geral | Clusters e instância de computação |
DSv3 | Propósito geral | Clusters e instância de computação |
EAv4 | Otimizado para memória | Clusters e instância de computação |
Ev3 | Otimizado para memória | Clusters e instância de computação |
ESv3 | Otimizado para memória | Clusters e instância de computação |
FSv2 | Computação otimizada | Clusters e instância de computação |
FX | Computação otimizada | Clusters de cálculo |
H | Computação de alto desempenho | Clusters e instância de computação |
HB | Computação de alto desempenho | Clusters e instância de computação |
HBv2 | Computação de alto desempenho | Clusters e instância de computação |
HBv3 | Computação de alto desempenho | Clusters e instância de computação |
HC | Computação de alto desempenho | Clusters e instância de computação |
LSv2 | Otimizado para armazenamento | Clusters e instância de computação |
M | Otimizado para memória | Clusters e instância de computação |
NC | GPU | Clusters e instância de computação |
Promocional NC | GPU | Clusters e instância de computação |
NCv2 | GPU | Clusters e instância de computação |
NCv3 | GPU | Clusters e instância de computação |
ND | GPU | Clusters e instância de computação |
NDv2 | GPU | Clusters e instância de computação |
NV | GPU | Clusters e instância de computação |
NVv3 | GPU | Clusters e instância de computação |
NCasT4_v3 | GPU | Clusters e instância de computação |
NDasrA100_v4 | GPU | Clusters e instância de computação |
Embora o Azure Machine Learning dê suporte a essas séries de VMs, elas podem não estar disponíveis em todas as regiões do Azure. Para verificar se a série de VMs está disponível, confira Produtos disponíveis por região.
Observação
O Azure Machine Learning não dá suporte a todos os tamanhos de VM com suporte na computação do Azure. Para listar os tamanhos de VM disponíveis, use o seguinte método:
Observação
O Azure Machine Learning não dá suporte a todos os tamanhos de VM com suporte na computação do Azure. Para listar os tamanhos de VM disponíveis compatíveis com tipos de VM de computação específicos, use um dos seguintes métodos:
Se você usar destinos de computação habilitados para GPU, recomendamos garantir a instalação de drivers adequados do CUDA no ambiente de treinamento. Considere a seguinte tabela para determinar a versão adequada do CUDA a ser usada:
Arquitetura da GPU | Série de VMs do Azure | Versões do CUDA compatíveis |
---|---|---|
Ampere | NDA100_v4 | 11.0+ |
Turing | NCT4_v3 | 10.0+ |
Volta | NCv3 e NDv2 | 9.0+ |
Pascal | NCv2 e ND | 9.0+ |
Maxwell | NV e NVv3 | 9.0+ |
Kepler | NC e NC Promocional | 9.0+ |
Além de garantir que a versão e o hardware do CUDA são compatíveis, verifique também se a versão do CUDA é compatível com a versão da estrutura de machine learning que você está usando:
- Para PyTorch, você pode verificar a compatibilidade visitando a página de versões anteriores do PyTorch.
- Para Tensorflow, você pode verificar a compatibilidade visitando o Build da página de origem do Tensorflow.
Isolamento de computação
A computação do Azure Machine Learning oferece tamanhos de VM isolados para um tipo de hardware específico e dedicados a um só cliente. Os tamanhos de VM isolados são mais adequados para cargas de trabalho que exigem um alto grau de isolamento de cargas de trabalho de outros clientes por motivos que incluem o cumprimento de requisitos de conformidade e regulatórios. Utilizar um tamanho isolado garante que a sua VM só seja executada na instância de servidor específica.
As ofertas atuais de VMs isoladas incluem:
- Standard_M128ms
- Standard_F72s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3 (com capacidade para RDMA)
Para saber mais sobre o isolamento, confira Isolamento na nuvem pública do Azure.
Computação não gerenciada
O Azure Machine Learning não gerencia um destino de computação não gerenciado. Você cria esse tipo de destino de computação fora do Azure Machine Learning e o anexa ao seu workspace. Os destinos de computação não gerenciados podem exigir etapas adicionais para manter ou aprimorar o desempenho de cargas de trabalho de machine learning.
O Azure Machine Learning é compatível com os seguintes tipos de computação:
- Máquinas virtuais remotas
- Azure HDInsight
- Azure Databricks
- Análise Azure Data Lake
Para obter mais informações, consulte Gerenciar recursos de computação.