Gerenciar uma instância de computação do Azure Machine Learning
APLICA-SE A:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)
Saiba como gerenciar uma instância de computação em 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 em seu espaço de trabalho.
Neste artigo, você aprenderá a iniciar, parar, reiniciar, 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.
Nota
Este artigo mostra a CLI v2 nas seções abaixo. Se você ainda estiver usando a CLI v1, consulte Criar uma CLI v1 de cluster de computação do Azure Machine Learning.
Pré-requisitos
- Uma área de trabalho do Azure Machine Learning. Para obter mais informações, consulte Gerenciar espaços de trabalho do Azure Machine Learning.
Selecione a guia apropriada para o restante dos pré-requisitos com base no seu 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 SDK Python do Azure Machine Learning. Este SDK já está instalado para você em uma instância de computação.
Anexe ao espaço de trabalho em seu script Python:
Execute este código para se conectar ao seu espaço de trabalho do Azure Machine Learning.
Substitua sua ID de assinatura, nome do grupo de recursos e nome do espaço de trabalho no código a seguir. Para encontrar estes valores:
- Entre no estúdio do Azure Machine Learning.
- Abra o espaço de trabalho que deseja usar.
- Selecione o nome do seu espaço de trabalho na barra de ferramentas do estúdio do Azure Machine Learning no canto superior direito.
- Copie o valor para espaço de trabalho, grupo de recursos e ID de assinatura para o código.
APLICA-SE A: Python SDK 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 espaço de trabalho que você usa para gerenciar outros recursos e trabalhos.
Gerir
Iniciar, parar, reiniciar e excluir uma instância de computação. Uma instância de computação nem sempre diminui automaticamente, portanto, certifique-se de interromper o recurso para evitar cobranças contínuas. 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.
Você pode habilitar o desligamento automático para interromper automaticamente a instância de computação após um tempo especificado.
Você também pode criar uma programação para que a instância de computação inicie e pare automaticamente com base em um horário e dia da semana.
Gorjeta
A instância de computação tem um disco do 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. Por favor, não pare a instância de computação emitindo sudo shutdown 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: Python SDK 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)
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()
Delete
from azure.ai.ml.entities import ComputeInstance, AmlCompute ml_client.compute.begin_delete(ci_basic_name).wait()
O RBAC do Azure permite controlar quais usuários no espaço de trabalho podem criar, excluir, iniciar, parar, reiniciar uma instância de computação. Todos os usuários na função de colaborador e proprietário do espaço de trabalho podem criar, excluir, iniciar, parar e reiniciar instâncias de computação no espaço de trabalho. No entanto, apenas o criador de uma instância de computação específica, ou o usuário atribuído se ela foi criada 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 root. Esse usuário tem acesso ao Jupyter/JupyterLab/RStudio em execução na instância. A instância de computação tem entrada 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 através de um mecanismo de chave pública/privada.
Estas 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, precisa 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
Depois que uma instância de computação é implantada, ela não é atualizada automaticamente. A Microsoft lança novas imagens de VMs numa base mensal. Para compreender as opções para se manter atualizado com a versão mais recente, consulte Gestão de vulnerabilidades.
Para controlar se a versão do sistema operacional de uma instância é atual, você pode consultar sua versão usando a CLI, SDK ou Studio UI.
APLICA-SE A: Python SDK 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 usados neste exemplo, consulte os seguintes documentos de referência:
Os administradores de TI podem utilizar o Azure Policy para monitorizar o inventário de instâncias em áreas de trabalho no portal de conformidade do Azure Policy. Atribua a política incorporada Auditar as Instâncias de Computação do Azure Machine Learning com um sistema operativo desatualizado numa subscrição do Azure ou num âmbito do grupo de gestão do Azure.