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:
- Inicie sessão no estúdio do Azure Machine Learning.
- Abra a área de trabalho que pretende utilizar.
- No canto superior direito estúdio do Azure Machine Learning barra de ferramentas, selecione o nome da área de trabalho.
- Copie o valor para a área de trabalho, o grupo de recursos e o ID da subscrição para o código.
- 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.