Gerenciar uma instância de computação do Azure Machine Learning

APLICA-SE A:Extensão de ML da CLI do Azure v2 (atual)SDK do Python azure-ai-ml v2 (atual)

Saiba como gerenciar uma instância de computação no seu espaço de trabalho do Azure Machine Learning.

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. 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.

Neste artigo, você aprenderá a iniciar, parar, reiniciar e excluir uma instância de computação. Confira Criar uma instância de computação do Azure Machine Learning para saber como criar uma instância de computação.

Observação

Este artigo mostra a CLI v2 nas seções abaixo. Se você ainda estiver usando a CLI v1, confira Criar uma CLI v1 de cluster de computação do Azure Machine Learning.

Pré-requisitos

  • Um Workspace do Azure Machine Learning. Para obter mais informações, consulte Criar um workspace do Azure Machine Learning. Na conta de armazenamento, a opção "Permitir acesso à chave da conta de armazenamento" deve ser habilitada para que a criação da instância de computação seja bem-sucedida.

  • A Extensão da CLI do Azure para serviço de Machine Learning (v2), o SDK do Python do Azure Machine Learning (v2) ou a Extensão do Visual Studio Code do Azure Machine Learning.

  • Ao usar o SDK de Python, configure o seu ambiente de desenvolvimento com um workspace. Depois de configurar o ambiente, conecte-o ao workspace do seu script Python:

    APLICA-SE A: SDK do Python azure-ai-ml v2 (atual)

    Execute esse código para se conectar ao workspace do Azure ML.

    Substitua a ID da Assinatura, o nome do Grupo de Recursos e o nome do Espaço de Trabalho no código abaixo. Para encontrar esses valores:

    1. Entre no Estúdio do Azure Machine Learning.
    2. Abra o espaço de trabalho que você deseja usar.
    3. Na barra de ferramentas do Estúdio do Azure Machine Learning superior direito, selecione o nome do espaço de trabalho.
    4. Copie o valor do workspace, do grupo de recursos e da ID da assinatura no código.
    5. Se você estiver usando um bloco de anotações dentro do estúdio, precisará copiar um valor, fechar a área e colar e, em seguida, retornar para o próximo.
    # Enter details of your AML workspace
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    workspace = "<AML_WORKSPACE_NAME>"
    # get a handle to the workspace
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    ml_client = MLClient(
        DefaultAzureCredential(), subscription_id, resource_group, workspace
    )

    ml_client é um manipulador para o espaço de trabalho que você usará para gerenciar outros recursos e trabalhos.

Gerenciar

Iniciar, parar, reiniciar, excluir uma instância de computação. Nem sempre uma instância de computação é reduzida verticalmente de maneira automática. Portanto, certifique-se de parar o recurso para evitar cobranças contínuas. Parar uma instância de computação a desaloca. Em seguida, inicie-o novamente quando precisar. 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.

Você pode habilitar o desligamento automático para parar a instância de computação automaticamente após um tempo especificado.

Você também pode criar um agendamento para a instância de computação iniciar e parar automaticamente com base em um horário e dia da semana.

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. Não pare a instância de computação emitindo um desligamento sudo a partir 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: SDK do Python azure-ai-ml v2 (atual)

Nos exemplos abaixo, o nome da instância de computação é armazenado na variável ci_basic_name.

  • Obter status

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Get compute
    ci_basic_state = ml_client.compute.get(ci_basic_name)
  • Stop

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Stop compute
    ml_client.compute.begin_stop(ci_basic_name).wait()
  • Iniciar

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Start compute
    ml_client.compute.begin_start(ci_basic_name).wait()
  • Reiniciar

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Restart compute
    ml_client.compute.begin_restart(ci_basic_name).wait()
  • Excluir

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    ml_client.compute.begin_delete(ci_basic_name).wait()

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 Jupyter, JupyterLab e RStudio nessa instância de computação. Uma instância de computação é dedicada a um único usuário que tem acesso raiz. Esse usuário tem acesso ao Jupyter/JupyterLab/RStudio em execução na instância. A instância de computação terá a entrada de usuário único e todas as ações usarão a identidade desse usuário para o RBAC do Azure e a atribuição de trabalhos 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

Auditoria e observação da versão da instância de computação

Depois que uma instância de computação é implantada, ela não é atualizada automaticamente. A Microsoft lança novas imagens de VM mensalmente. Para conhecer as opções de manutenção recentes com a versão mais recente, confira Gerenciamento de vulnerabilidades.

Para acompanhar se a versão do sistema operacional de uma instância é atual, você pode consultar a versão usando CLI, SDK ou interface do usuário do Studio.

APLICA-SE A: SDK do Python azure-ai-ml v2 (atual)

from azure.ai.ml.entities import ComputeInstance, AmlCompute

# Display operating system version
instance = ml_client.compute.get("myci")
print instance.os_image_metadata

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

Os administradores de TI podem usar Azure Policy para monitorar o inventário de instâncias entre workspaces no portal de conformidade do Azure Policy. Atribua a política interna Auditar Instâncias de Computação do Azure Machine Learning com um sistema operacional desatualizado em uma assinatura do Azure ou no escopo do grupo de gerenciamento do Azure.

Próximas etapas