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

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

Saiba como gerir uma instância de computação na área de trabalho do Azure Machine Learning.

Utilize uma instância de computação como o seu ambiente de desenvolvimento totalmente configurado e gerido na cloud. Para desenvolvimento e teste, também pode utilizar a instância como um destino de computação de preparação. Uma instância de computação pode executar várias tarefas em paralelo e tem uma fila de tarefas. Enquanto ambiente de desenvolvimento, não é possível partilhar uma instância de computação com outros utilizadores na sua área de trabalho.

Neste artigo, vai aprender a iniciar, parar, reiniciar, eliminar uma instância de computação. Veja Criar uma instância de computação do Azure Machine Learning para saber como criar uma instância de computação.

Nota

Este artigo mostra a CLI v2 nas secções abaixo. Se ainda estiver a utilizar a CLI v1, veja Criar um cluster de computação do Azure Machine Learning CLI v1.

Pré-requisitos

  • Uma área de trabalho do Azure Machine Learning. Para obter mais informações, veja Criar uma área de trabalho do Azure Machine Learning. Na conta de armazenamento, a opção "Permitir acesso à chave da conta de armazenamento" tem de estar ativada para que a criação da instância de computação seja bem-sucedida.

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

  • Se utilizar o SDK python, configure o seu ambiente de desenvolvimento com uma área de trabalho. Assim que o seu ambiente estiver configurado, anexe à área de trabalho no script do Python:

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

    Execute este código para ligar à área de trabalho do Azure ML.

    Substitua o ID da Subscrição, o nome do Grupo de Recursos e o nome da Área de Trabalho no código abaixo. Para localizar estes valores:

    1. Inicie sessão no estúdio do Azure Machine Learning.
    2. Abra a área de trabalho que pretende utilizar.
    3. No canto superior direito estúdio do Azure Machine Learning barra de ferramentas, selecione o nome da área de trabalho.
    4. Copie o valor para a área de trabalho, o grupo de recursos e o ID da subscrição para o código.
    5. Se estiver a utilizar um bloco de notas dentro do estúdio, terá de copiar um valor, fechar a área e colar e, em seguida, voltar 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 processador da área de trabalho que irá utilizar para gerir outros recursos e tarefas.

Gerir

Iniciar, parar, reiniciar e eliminar uma instância de computação. Uma instância de computação nem sempre reduz automaticamente, por isso, certifique-se de que para o recurso para evitar custos contínuos. Parar uma instância de computação desaloca-a. Em seguida, inicie-o novamente quando precisar. Embora a operação de parar a instância de computação também pare a faturação das horas de computação, ainda lhe será faturado o disco, o IP público e o balanceador de carga padrão.

Pode ativar o encerramento automático para parar automaticamente a instância de computação após uma hora especificada.

Também pode criar uma agenda para a instância de computação iniciar e parar automaticamente com base numa hora e dia da semana.

Dica

A instância de computação tem um disco do SO de 120 GB. Se ficar sem espaço em disco, utilize 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 ao emitir o encerramento sudo 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 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 estado

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

    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()
  • Eliminar

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

O RBAC do Azure permite-lhe controlar que utilizadores na área de trabalho podem criar, eliminar, iniciar, parar, reiniciar uma instância de computação. Todos os utilizadores na função de contribuidor e proprietário da área de trabalho podem criar, eliminar, iniciar, parar e reiniciar instâncias de computação em toda a área de trabalho. No entanto, apenas o criador de uma instância de computação específica, ou o utilizador atribuído se tiver sido criado em seu nome, tem permissão para aceder ao Jupyter, JupyterLab e RStudio nessa instância de computação. Uma instância de computação é dedicada a um único utilizador que tenha acesso de raiz. Esse utilizador tem acesso ao Jupyter/JupyterLab/RStudio em execução na instância. A instância de computação terá início de sessão de utilizador único e todas as ações utilizarão a identidade desse utilizador para o RBAC do Azure e a atribuição de tarefas de experimentação. O acesso SSH é controlado através do mecanismo de chave pública/privada.

Estas ações podem ser controladas pelo RBAC do Azure:

  • 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, precisará de permissões para as seguintes ações:

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

Auditar e observar a versão da instância de computação

Quando uma instância de computação é implementada, não é atualizada automaticamente. A Microsoft lança novas imagens de VM mensalmente. Para compreender as opções para manter recentemente a versão mais recente, veja Gestão de vulnerabilidades.

Para controlar se a versão do sistema operativo de uma instância é atual, pode consultar a versão com a CLI, o SDK ou a IU do Studio.

APLICA-SE A: SDK 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, métodos e parâmetros utilizados neste exemplo, veja os seguintes documentos de referência:

Os administradores de TI podem utilizar Azure Policy para monitorizar o inventário de instâncias em áreas de trabalho no portal de conformidade Azure Policy. Atribua a política incorporada Auditar Instâncias de Computação do Azure Machine Learning com um sistema operativo desatualizado numa subscrição do Azure ou no âmbito do grupo de gestão do Azure.

Passos seguintes