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. Para saber como criar uma instância de computação, consulte Criar uma instância de computação do Azure Machine Learning .
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, confira Gerenciar workspaces do Azure Machine Learning.
Selecione a guia apropriada para o restante dos pré-requisitos com base no método preferido de gerenciar sua instância de computação.
Se você não estiver executando seu código em uma instância de computação, instale o do SDK do Python do Azure Machine Learning. Esse SDK já está instalado para você em uma instância de computação.
Anexe ao workspace em seu script Python:
Execute este código para se conectar ao seu workspace do Azure Machine Learning.
Substitua a ID da Assinatura, o nome do Grupo de Recursos e o nome do workspace no código a seguir. Para encontrar esses valores:
- Entre no Estúdio do Azure Machine Learning.
- Abra o espaço de trabalho que você deseja usar.
- Selecione o nome do workspace na barra de ferramentas superior direita do Estúdio do Azure Machine Learning.
- Copie o valor do espaço de trabalho, do grupo de recursos e da ID da assinatura no código.
APLICA-SE A: SDK do Python azure-ai-ml v2 (atual)
# 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 workspace 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 5 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)
Nesses exemplos, 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 tem login de usuário único e todas as ações usam 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ê precisa 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.