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:
- Entre no Estúdio do Azure Machine Learning.
- Abra o espaço de trabalho que você deseja usar.
- Na barra de ferramentas do Estúdio do Azure Machine Learning superior direito, selecione o nome do espaço de trabalho.
- Copie o valor do workspace, do grupo de recursos e da ID da assinatura no código.
- 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.