Quais são os destinos de computação no Azure Machine Learning?
Um destino de computação é um recurso ou ambiente de computação designado onde você executa seu script de treinamento ou hospeda sua implantação de serviço. Esse local pode ser sua máquina 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 variável em diferentes destinos de computação. Em um ciclo de vida típico de desenvolvimento de modelo, você pode:
- Comece por desenvolver e experimentar uma pequena quantidade de dados. Nesta etapa, use seu ambiente local, como um computador local ou uma máquina virtual (VM) baseada em nuvem, como seu destino de computação.
- Aumente a escala para dados maiores ou faça treinamento distribuído usando um desses destinos de computação de treinamento.
- Depois que seu modelo estiver pronto, implante-o em um ambiente de hospedagem na Web com um desses destinos de computação de implantação.
Os recursos de computação que você usa para seus destinos de computação são anexados a um espaço de trabalho. Recursos de computação diferentes da máquina local são compartilhados pelos usuários do espaço de trabalho.
Treinamento de alvos computacionais
À medida que você amplia seu treinamento em conjuntos de dados maiores ou executa treinamento distribuído, use a computação do Aprendizado de Máquina do Azure para criar um cluster de um ou vários nós que é dimensionado automaticamente cada vez que você envia um trabalho. Você também pode anexar seu próprio recurso de computação, embora o suporte para diferentes cenários possa variar.
Os alvos de computação podem ser reutilizados de um trabalho de treinamento para o próximo. Por exemplo, depois de anexar uma VM remota ao seu espaço de trabalho, você pode reutilizá-la para vários trabalhos. Para pipelines de aprendizado de máquina, use a etapa de pipeline apropriada para cada destino de computação.
Você pode usar qualquer um dos seguintes recursos para um destino de computação de treinamento para a maioria dos trabalhos. Nem todos os recursos podem ser usados para aprendizado de máquina automatizado, pipelines de aprendizado de máquina 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 outros treinamentos.
Objetivos de formação | Aprendizagem automática de máquina | Pipelines de 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 (através do SDK) | Sim | Sim |
Azure Machine Learning Kubernetes | Sim | Sim | |
VM remota | Sim | Sim | |
Piscinas Apache Spark (pré-visualização) | 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 | ||
Azure Batch | Sim |
Gorjeta
A instância de computação tem um disco do 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 Aprendizado de Máquina do Azure cria um contêiner do Docker que hospeda o modelo e os recursos associados necessários para usá-lo. Esse contêiner é 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 | Utilizado para | Suporte de GPU | Description |
---|---|---|---|
Pontos finais do Azure Machine Learning | Inferência em tempo real Inferência de lote |
Sim | Cálculos totalmente gerenciados para computação em tempo real (endpoints online gerenciados) e pontuação em lote (endpoints em lote) em computação sem servidor. |
Azure Machine Learning Kubernetes | Inferência em tempo real Inferência de lote |
Sim | Execute cargas de trabalho de inferência em clusters Kubernetes locais, na nuvem e de borda. |
Destino de computação | Utilizado para | Suporte de GPU | Description |
---|---|---|---|
Serviço Web local | Teste/depuração | Use para testes limitados e solução de problemas. A aceleração de hardware depende do uso de bibliotecas no sistema local. | |
Azure Machine Learning Kubernetes | Inferência em tempo real | Sim | Execute cargas de trabalho de inferência na nuvem. |
Azure Container Instances | 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 requer que você gerencie um cluster. Adequado apenas para modelos com menos de 1 GB de tamanho. Suportado no designer. |
Nota
Ao escolher uma SKU de cluster, primeiro aumente a escala e, em seguida, diminua. Comece com uma máquina que tenha 150% da RAM que o seu modelo requer, perfile o resultado e encontre uma máquina que tenha o desempenho que você precisa. Depois de aprender isso, aumente o número de máquinas para atender à sua necessidade de inferência simultânea.
Implante e classifique um modelo de aprendizado de máquina usando um ponto de extremidade online.
Computação do Azure Machine Learning (gerenciada)
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. Os clusters de computação do Azure Machine Learning, a computação sem servidor e as instâncias de computação são os únicos cálculos gerenciados.
Não há necessidade de criar computação sem servidor. Você pode criar instâncias de computação ou clusters de computação do Azure Machine Learning a partir de:
- Azure Machine Learning studio
- O SDK do Python e a CLI do Azure:
- Um modelo do Azure Resource Manager. Para obter um modelo de exemplo, consulte Criar um cluster de computação do Azure Machine Learning.
Nota
Em vez de criar um cluster de computação, 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 são automaticamente parte do seu espaço 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 cada vez que você envia um trabalho | ✓ | |
Gerenciamento automático de cluster e agendamento de tarefas | ✓ | ✓ |
Suporte para recursos de CPU e GPU | ✓ | ✓ |
Nota
Para evitar cobranças quando a computação estiver ociosa:
- Para um cluster de computação, verifique se o número mínimo de nós está definido como 0 ou use computação sem servidor.
- Para uma instância de computação, habilite o desligamento ocioso.
Série e tamanhos de VM suportados
Importante
Se sua instância de computação ou clusters de computação forem baseados em qualquer uma dessas séries, recrie com outro tamanho de VM antes da data de desativação para evitar a interrupção do serviço.
Estas séries serão aposentadas em 31 de agosto de 2023:
Estas séries serão aposentadas em 31 de agosto de 2024:
Ao selecionar um tamanho de nó para um recurso de computação gerenciado no Aprendizado de Máquina do Azure, você pode escolher entre os tamanhos de VM selecionados disponíveis no Azure. O Azure oferece uma variedade de tamanhos para Linux e Windows para diferentes cargas de trabalho. Para saber mais, consulte Tipos e tamanhos de VM.
Há algumas exceções e limitações para escolher um tamanho de VM:
- Algumas séries de VM não são suportadas no Azure Machine Learning.
- Algumas séries de VMs, como GPUs e outras SKUs especiais, podem não aparecer inicialmente na sua lista de VMs disponíveis. Mas você ainda pode usá-los, depois de solicitar uma alteração de cota. Para obter mais informações sobre como solicitar cotas, consulte Solicitar aumentos de cota e limite. Consulte a tabela a seguir para saber mais sobre as séries suportadas.
Série VM suportada | Categoria | Apoiado por |
---|---|---|
DDSv4 | Fins gerais | Computação de clusters e instância |
DV2 | Fins gerais | Computação de clusters e instância |
DV3 | Fins gerais | Computação de clusters e instância |
DSv2 | Fins gerais | Computação de clusters e instância |
DSv3 | Fins gerais | Computação de clusters e instância |
EAv4 | Com otimização de memória | Computação de clusters e instância |
Ev3 | Com otimização de memória | Computação de clusters e instância |
ESv3 | Com otimização de memória | Computação de clusters e instância |
FSv2 | Com otimização de computação | Computação de clusters e instância |
FX | Com otimização de computação | Clusters de computação |
H | Computação de elevado desempenho | Computação de clusters e instância |
HB | Computação de elevado desempenho | Computação de clusters e instância |
HBv2 | Computação de elevado desempenho | Computação de clusters e instância |
HBv3 | Computação de elevado desempenho | Computação de clusters e instância |
HC | Computação de elevado desempenho | Computação de clusters e instância |
LSv2 | Com otimização de armazenamento | Computação de clusters e instância |
M | Com otimização de memória | Computação de clusters e instância |
N.º | GPU | Computação de clusters e instância |
Promoção NC | GPU | Computação de clusters e instância |
NCv2 | GPU | Computação de clusters e instância |
NCv3 | GPU | Computação de clusters e instância |
ND | GPU | Computação de clusters e instância |
NDv2 | GPU | Computação de clusters e instância |
NV | GPU | Computação de clusters e instância |
NVv3 | GPU | Computação de clusters e instância |
NCasT4_v3 | GPU | Computação de clusters e instância |
NDasrA100_v4 | GPU | Computação de clusters e instância |
Embora o Azure Machine Learning ofereça suporte a essas séries de VMs, elas podem não estar disponíveis em todas as regiões do Azure. Para verificar se as séries de VM estão disponíveis, consulte Produtos disponíveis por região.
Nota
O Azure Machine Learning não suporta todos os tamanhos de VM suportados pelo Azure Compute. Para listar os tamanhos de VM disponíveis, use o seguinte método:
Nota
O Azure Machine Learning não suporta todos os tamanhos de VM suportados pelo Azure Compute. Para listar os tamanhos de VM disponíveis suportados por tipos de VM de computação específicos, use um dos seguintes métodos:
Se você usar os destinos de computação habilitados para GPU, é importante garantir que os drivers CUDA corretos estejam instalados no ambiente de treinamento. Use a tabela a seguir para determinar a versão CUDA correta a ser usada:
Arquitetura GPU | Série de VMs do Azure | Versões CUDA suportadas |
---|---|---|
Ampere | NDA100_v4 | 11.0+ |
Turing | NCT4_v3 | 10.0+ |
Região do 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 sejam compatíveis, certifique-se também de que a versão CUDA é compatível com a versão da estrutura de aprendizado de máquina que você está usando:
- Para o PyTorch, você pode verificar a compatibilidade visitando a página de versões anteriores do Pytorch.
- Para o Tensorflow, você pode verificar a compatibilidade visitando a compilação do Tensorflow a partir da página de origem.
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 exigem um alto grau de isolamento das cargas de trabalho de outros clientes por motivos que incluem o cumprimento de requisitos normativos e de conformidade. A utilização de um tamanho isolado garante que sua VM seja a única em execução nessa instância específica do servidor.
As ofertas atuais de VM isoladas incluem:
- Standard_M128ms
- Standard_F72s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3 (compatível com RDMA)
Para saber mais sobre isolamento, consulte 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 . 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 gerenciados podem exigir etapas extras para você manter ou melhorar o desempenho de cargas de trabalho de aprendizado de máquina.
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 Kubernetes Service
- Azure Synapse Spark pool (preterido)
Para obter mais informações, consulte Gerenciar recursos de computação.