Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
Extensão da CLI do Azure ML v1
SDK do Python azureml v1
Importante
Este artigo fornece informações sobre como usar o SDK do Azure Machine Learning v1. O SDK v1 foi preterido a partir de 31 de março de 2025. O suporte para ele terminará em 30 de junho de 2026. Você pode instalar e usar o SDK v1 até essa data. Seus fluxos de trabalho existentes usando o SDK v1 continuarão a operar após a data de fim do suporte. No entanto, eles podem ficar expostos a riscos de segurança ou a alterações interruptivas em caso de mudanças na arquitetura do produto.
Recomendamos que você faça a transição para o SDK v2 antes de 30 de junho de 2026. Para obter mais informações sobre o SDK v2, consulte O que é Azure Machine Learning CLI e Python SDK v2? e a referência SDK v2.
Saiba como criar e gerenciar um cluster compute em seu workspace Azure Machine Learning.
Você pode usar um cluster de computação do Azure Machine Learning para distribuir um processo de treinamento ou inferência em lote através de nós de computação de CPU ou GPU em um cluster na nuvem. Para obter mais informações sobre os tamanhos de máquina virtual que incluem GPUs, consulte os Tamanhos de máquinas virtuais com GPU otimizadas.
Neste artigo, aprenda a:
- Criar um cluster de cálculo
- Reduzir o custo do cluster de cálculo
- Configurar uma identidade gerenciada para o cluster
Pré-requisitos
Um workspace do Azure Machine Learning. Para obter mais informações, consulte Criar um workspace Azure Machine Learning.
A extensão CLI do Azure para o serviço de Machine Learning (v1), Azure Machine Learning Python SDK ou a extensão Azure Machine Learning Visual Studio Code.
Importante
Alguns dos comandos CLI do Azure neste artigo usam a extensão
azure-cli-mlou v1 para Azure Machine Learning. O suporte à CLI v1 terminou em 30 de setembro de 2025. A Microsoft não fornecerá mais suporte técnico ou atualizações para esse serviço. Seus fluxos de trabalho existentes usando a CLI v1 continuarão a operar após a data de fim do suporte. No entanto, eles podem ficar expostos a riscos de segurança ou a alterações interruptivas em caso de mudanças na arquitetura do produto.Recomendamos que você faça a transição para a
mlextensão , ou v2, o mais rápido possível. Para obter mais informações sobre a extensão v2, consulte Azure Machine Learning extensão da CLI e Python SDK v2.Se estiver usando o SDK Python, configure seu ambiente de desenvolvimento com um workspace. Depois de configurar o ambiente, conecte-o ao workspace do seu script Python:
APLICA-SE A:
Azure Machine Learning SDK v1 para Pythonfrom azureml.core import Workspace ws = Workspace.from_config()
O que é um cluster de cálculo?
O cluster de computação do Azure Machine Learning é uma infraestrutura de computação gerenciada que permite facilmente criar um único nó ou vários nós. O cluster de cálculo é um recurso que pode ser compartilhado com outros usuários de seu workspace. A capacidade de computação aumenta automaticamente quando um trabalho é enviado e pode ser configurado em uma Rede Virtual do Azure. O cluster de computação também não é compatível com a implantação de IP público na rede virtual. A computação é executada em um ambiente em contêineres, empacotando as dependências do modelo em um contêiner do Docker.
Os clusters de cálculo podem executar trabalhos com segurança em um ambiente de rede virtual, sem exigir que as empresas abram portas SSH. O trabalho é executado em um ambiente de contêineres e empacota as dependências do modelo em um contêiner do Docker.
Limitações
É possível criar clusters de cálculo em uma região diferente da região de seu workspace. No entanto, essa funcionalidade só está disponível usando o SDK v2, a CLI v2 ou o studio. Para obter mais informações, veja a versão v2 de ambientes de treinamento seguros.
No momento, nós damos suporte apenas à criação (e não à atualização) de clusters por meio de modelos do ARM. Para atualizar a computação, é recomendável usar o SDK, CLI do Azure ou UX por enquanto.
Azure Machine Learning Compute tem limites padrão, como o número de núcleos que podem ser alocados. Para obter mais informações, consulte Gerenciar e solicitar cotas para os recursos do Azure.
O Azure permite que você coloque bloqueios nos recursos, para que eles não possam ser excluídos ou sejam somente leitura. Não aplique bloqueios de recurso ao grupo de recursos que contém seu workspace. Aplicar um bloqueio ao grupo de recursos que contém seu espaço de trabalho impedirá operações de dimensionamento dos clusters de computação do Azure Machine Learning. Para obter mais informações sobre como bloquear recursos, consulte Bloquear recursos para evitar alterações inesperadas.
Dica
Os clusters geralmente podem ser escalados verticalmente para até 100 nós, desde que você tenha cota suficiente para o número de núcleos necessários. Por padrão, os clusters são configurados com a comunicação entre nós habilitada entre os nós do cluster para dar suporte a trabalhos de MPI, por exemplo. No entanto, você pode dimensionar seus clusters para milhares de nós ao simplesmente gerar um tíquete de suporte e solicitar a lista de permissões da sua assinatura ou do workspace, ou um cluster específico para desabilitar a comunicação entre nós.
Criar
Tempo estimado: aproximadamente 5 minutos.
Azure Machine Learning Compute pode ser reutilizado em várias execuções. A computação pode ser compartilhada com outros usuários no espaço de trabalho e é mantida entre as execuções, escalando ou reduzindo vertical e automaticamente os nós com base no número de execuções enviadas e o max_nodes definido no cluster. A configuração min_nodes controla os nós mínimos disponíveis.
Os núcleos dedicados por região por cota de família de VM e cota regional total, que se aplicam à criação de cluster de cálculo, são unificados e compartilhados com a cota de instância de cálculo de treinamento do Azure Machine Learning.
Importante
Para evitar cobranças quando nenhum trabalho estiver em execução, defina os nós mínimos para 0. Essa configuração permite que Azure Machine Learning desaloquem os nós quando eles não estiverem em uso. Qualquer valor maior que 0 manterá esse número de nós em execução, mesmo se eles não estiverem em uso.
A computação é reduzida automaticamente até zero nó quando não é usada. VMs dedicadas são criadas para executar seus trabalhos conforme necessário.
- SDK Python
- CLI do Azure
Para criar um recurso de computação de Azure Machine Learning persistente em Python, especifique as propriedades vm_size e max_nodes. Azure Machine Learning usa padrões inteligentes para as outras propriedades.
- vm_size: a família de VMs dos nós criados pelo Azure Machine Learning Compute.
- max_nodes: o número máximo de nós para escalar automaticamente ao executar um trabalho no Azure Machine Learning Compute.
APLICA-SE A:
Azure Machine Learning SDK v1 para Python
from azureml.core.compute import ComputeTarget, AmlCompute
from azureml.core.compute_target import ComputeTargetException
# Choose a name for your CPU cluster
cpu_cluster_name = "cpucluster"
# Verify that cluster does not exist already
try:
cpu_cluster = ComputeTarget(workspace=ws, name=cpu_cluster_name)
print('Found existing cluster, use it.')
except ComputeTargetException:
# To use a different region for the compute, add a location='<region>' parameter
compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
max_nodes=4)
cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)
cpu_cluster.wait_for_completion(show_output=True)
Você também pode configurar várias propriedades avançadas ao criar o recurso de computação do Azure Machine Learning. As propriedades permitem que você crie um cluster persistente de tamanho fixo ou dentro de um Rede Virtual do Azure existente em sua assinatura. Veja AmlCompute classe para obter detalhes.
Aviso
Ao configurar o parâmetro location, se a região for diferente de onde se encontra seu workspace ou seus armazenamentos de dados, você poderá observar maiores custos de latência de rede e transferência de dados. A latência e os custos podem ocorrer ao criar o cluster e ao executar trabalhos nele.
Reduzir o custo do cluster de cálculo
Você também pode optar por usar VMs de baixa prioridade para executar algumas ou todas as suas cargas de trabalho. Essas VMs não têm disponibilidade garantida e podem ser substituídas enquanto estiverem em uso. Você precisa reiniciar um trabalho preemptado.
- SDK Python
- CLI do Azure
APLICA-SE A:
Azure Machine Learning SDK v1 para Python
compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2S_V5',
vm_priority='lowpriority',
max_nodes=4)
Configurar a identidade gerenciada
Azure Machine Learning clusters de computação também dão suporte a identidades gerenciadas para autenticar o acesso a recursos Azure sem incluir credenciais em seu código. Há dois tipos de identidades gerenciadas:
- Uma identidade gerenciada atribuída pelo sistema está habilitada diretamente no cluster de computação do Azure Machine Learning e na instância de computação. O ciclo de vida de uma identidade atribuída ao sistema está diretamente associado ao cluster de cálculo ou instância de computação. Se o cluster de computação ou instância for excluído, Azure limpará automaticamente as credenciais e a identidade no Microsoft Entra ID.
- Uma identidade gerenciada atribuída pelo usuário é um recurso autônomo do Azure fornecido por meio do serviço Azure Managed Identity. Você pode designar uma identidade gerenciada atribuída ao usuário para vários recursos e ela persistirá pelo tempo desejado. Essa identidade gerenciada precisa ser criada com antecedência e, em seguida, passada como a identity_id como um parâmetro necessário.
- SDK Python
- CLI do Azure
APLICA-SE A:
Azure Machine Learning SDK v1 para Python
Configure a identidade gerenciada na sua configuração de provisionamento:
Identidade gerenciada atribuída ao sistema criada em um workspace chamado
ws# configure cluster with a system-assigned managed identity compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2S_V5', max_nodes=5, identity_type="SystemAssigned", ) cpu_cluster_name = "cpu-cluster" cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)Identidade gerenciada atribuída ao usuário criada em um workspace chamado
ws# configure cluster with a user-assigned managed identity compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2S_V5', max_nodes=5, identity_type="UserAssigned", identity_id=['/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>']) cpu_cluster_name = "cpu-cluster" cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)
Adicionar a identidade gerenciada a um cluster de cálculo existente chamado
cpu_clusterIdentidade gerenciada atribuída ao sistema:
# add a system-assigned managed identity cpu_cluster.add_identity(identity_type="SystemAssigned")Identidade gerenciada atribuída ao usuário:
# add a user-assigned managed identity cpu_cluster.add_identity(identity_type="UserAssigned", identity_id=['/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'])
Observação
Azure Machine Learning clusters de computação dão suporte somente a uma identidade atribuída pelo sistema
Uso da identidade gerenciada
A identidade gerenciada padrão é a identidade gerenciada atribuída pelo sistema ou a primeira identidade gerenciada atribuída pelo usuário.
Durante uma execução, existem duas aplicações de uma identidade:
O sistema usa uma identidade para configurar as montagens de armazenamento do usuário, o registro do contêiner e os armazenamentos de dados.
- Nesse caso, o sistema usará a identidade gerenciada por padrão.
O usuário aplica uma identidade para acessar recursos de dentro do código para uma execução enviada
- Nesse caso, forneça o client_id correspondente à identidade gerenciada que você deseja usar para recuperar uma credencial.
- Como alternativa, obtenha o ID do cliente da identidade atribuída pelo usuário por meio da variável de ambiente DEFAULT_IDENTITY_CLIENT_ID.
Por exemplo, para recuperar um token para um armazenamento de dados com a identidade gerenciada por padrão:
client_id = os.environ.get('DEFAULT_IDENTITY_CLIENT_ID') credential = ManagedIdentityCredential(client_id=client_id) token = credential.get_token('https://storage.azure.com/')
Solução de problemas
Há uma chance de que alguns usuários que criaram seu espaço de trabalho do Azure Machine Learning pelo portal do Azure antes da versão GA não possam criar o AmlCompute nesse espaço de trabalho. Você pode gerar uma solicitação de suporte no serviço ou criar um novo workspace por meio do portal ou do SDK para desbloqueio imediato.
Preso no redimensionamento
Se o cluster de computação Azure Machine Learning aparecer preso no redimensionamento (0 -> 0) para o estado do nó, isso pode ser causado por bloqueios de recursos do Azure.
O Azure permite que você coloque bloqueios nos recursos, para que eles não possam ser excluídos ou sejam somente leitura. O bloqueio de um recurso pode levar a resultados inesperados. Algumas operações que parecem não modificar o recurso, na verdade, requerem ações que são bloqueadas pelo bloqueio.
Com Azure Machine Learning, aplicar bloqueio de exclusão ao grupo de recursos do seu espaço de trabalho impedirá operações de dimensionamento dos clusters de computação do Azure ML. Para contornar esse problema, é recomendável remover o bloqueio do grupo de recursos e, em vez disso, aplicá-lo a itens individuais no grupo.
Importante
Não aplique o bloqueio aos seguintes recursos:
| Nome do recurso | Tipo de recurso |
|---|---|
<GUID>-azurebatch-cloudservicenetworksecurityggroup |
Grupo de segurança de rede |
<GUID>-azurebatch-cloudservicepublicip |
Endereço IP público |
<GUID>-azurebatch-cloudserviceloadbalancer |
Balanceador de carga |
Esses recursos são usados para se comunicar com o e executar operações como o dimensionamento no cluster de computação. A remoção do bloqueio de recursos desses recursos deve permitir o dimensionamento automático para seus clusters de computação.
Para obter mais informações sobre como bloquear recursos, consulte Bloquear recursos para evitar alterações inesperadas.
Próximas etapas
Use o cluster de cálculo para: