Compartilhar via


Criar e gerenciar uma instância de computação do Azure Machine Learning com a CLI v1

APLICA-SE A:Extensão de ML da CLI do Azure v1SDK 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.

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 é a CLI do Azure Machine Learning e o SDK do Python v2? e a referência do SDK v2.

Saiba como criar e gerenciar uma instância de computação no seu workspace do Azure Machine Learning com a CLI v1.

Use uma instância de computação como seu ambiente de desenvolvimento totalmente configurado e gerenciado na nuvem. Para desenvolvimento e teste, você também pode usar a instância como um destino de computação de treinamento ou para um destino de inferência. Uma instância de computação pode executar vários trabalhos em paralelo e tem uma fila de trabalhos. Como um ambiente de desenvolvimento, uma instância de computação não pode ser compartilhada com outros usuários no workspace.

As instâncias de computação 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.

Neste artigo, você aprenderá a:

  • Criar uma instância de computação
  • Gerenciar (iniciar, parar, reiniciar, excluir) uma instância de computação

Observação

Este artigo aborda apenas como realizar essas tarefas usando a CLI v1. Para conhecer maneiras mais recentes de gerenciar uma instância de computação, confira Criar um cluster de computação do Azure Machine Learning.

Pré-requisitos

Criar

Importante

Os itens marcados (versão prévia) abaixo estão em versão prévia pública no momento. A versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de funcionalidades. Para obter mais informações, veja Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

Tempo estimado: aproximadamente 5 minutos.

A criação de uma instância de computação é um processo único no seu workspace. Você pode reutilizar a computação como uma estação de trabalho de desenvolvimento ou como um destino de computação para treinamento. Você pode ter várias instâncias de computação anexadas ao seu espaço de trabalho.

Os núcleos dedicados por região por cota de família de VM e cota regional total, que se aplicam à criação de instância de computação, são unificados e compartilhados com a cota de cluster de cálculo de treinamento do Azure Machine Learning. Interromper a instância de computação não libera a cota para garantir que você possa reiniciar a instância de computação. Não é possível alterar o tamanho da máquina virtual da instância de computação depois que ela é criada.

O seguinte exemplo demonstra como criar uma instância de computação:

APLICA-SE A:Azure Machine Learning SDK v1 para Python

import datetime
import time

from azureml.core.compute import ComputeTarget, ComputeInstance
from azureml.core.compute_target import ComputeTargetException

# Choose a name for your instance
# Compute instance name should be unique across the azure region
compute_name = "ci{}".format(ws._workspace_id)[:10]

# Verify that instance does not exist already
try:
    instance = ComputeInstance(workspace=ws, name=compute_name)
    print('Found existing instance, use it.')
except ComputeTargetException:
    compute_config = ComputeInstance.provisioning_configuration(
        vm_size='STANDARD_D3_V2',
        ssh_public_access=False,
        # vnet_resourcegroup_name='<my-resource-group>',
        # vnet_name='<my-vnet-name>',
        # subnet_name='default',
        # admin_user_ssh_public_key='<my-sshkey>'
    )
    instance = ComputeInstance.create(ws, compute_name, compute_config)
    instance.wait_for_completion(show_output=True)

Para obter mais informações sobre as classes, os métodos e os parâmetros usados neste exemplo, veja os seguintes documentos de referência:

Gerenciar

Iniciar, parar, reiniciar, excluir uma instância de computação. Uma instância de computação não reduz verticalmente de maneira automática, portanto, interrompa o recurso para evitar encargos contínuos. Parar uma instância de computação a desalocá-la. Em seguida, iniciá-la novamente quando necessário. Embora interromper a instância de computação pare a cobrança por horas de computação, você ainda será cobrado por disco, IP público e Standard Load Balancer.

Dica

A instância de computação tem um disco de sistema operacional de 120 GB. Se você ficar sem espaço em disco, use o terminal para limpar, pelo menos, 1 a 2 GB antes de parar ou reiniciar a instância de computação. Não pare a instância de computação emitindo um desligamento sudo por meio do terminal. O tamanho do disco temporário na instância de computação depende do tamanho da VM escolhido e é montado em /mnt.

APLICA-SE A:Azure Machine Learning SDK v1 para Python

Nos exemplos abaixo, o nome da instância de computação é instância.

  • Obter status

    # get_status() gets the latest status of the ComputeInstance target
    instance.get_status()
    
  • Parar

    # stop() is used to stop the ComputeInstance
    # Stopping ComputeInstance will stop the billing meter and persist the state on the disk.
    # Available Quota will not be changed with this operation.
    instance.stop(wait_for_completion=True, show_output=True)
    
  • Iniciar

    # start() is used to start the ComputeInstance if it is in stopped state
    instance.start(wait_for_completion=True, show_output=True)
    
  • Reiniciar

    # restart() is used to restart the ComputeInstance
    instance.restart(wait_for_completion=True, show_output=True)
    
  • Excluir

    # delete() is used to delete the ComputeInstance target. Useful if you want to re-use the compute name
    instance.delete(wait_for_completion=True, show_output=True)
    

O Azure RBAC permite controlar quais usuários no workspace podem criar, excluir, iniciar, parar, reiniciar uma instância de computação. Todos os usuários na função Colaborador e Proprietário do workspace podem criar, excluir, iniciar, parar e reiniciar instâncias de computação no workspace. No entanto, somente o criador de uma instância de computação específica ou o usuário atribuído se ele foi criado em seu nome, tem permissão para acessar o Jupyter, o JupyterLab, o RStudio e o Posit Workbench (antigo RStudio Workbench) nessa instância de computação. Uma instância de computação é dedicada a um só usuário que tem acesso raiz. Esse usuário tem acesso ao Jupyter/JupyterLab/RStudio/Posit Workbench em execução na instância. A instância de computação terá logon único e todas as ações usarão a identidade desse usuário para o Azure RBAC e a atribuição de execuções de experimento. O acesso SSH é controlado por meio do mecanismo de chave pública/privada.

Essas ações podem ser controladas pelo Azure RBAC:

  • Microsoft.MachineLearningServices/workspaces/computes/read
  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/computes/delete
  • Microsoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/action
  • Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action

Para criar uma instância de computação, você precisará de permissões para as seguintes ações:

  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action

Próximas etapas