Criar e 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 criar e gerir uma instância de computação na sua á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 trabalhos. 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:

  • Criar uma instância de computação
  • Gerir (iniciar, parar, reiniciar, eliminar) uma instância de computação
  • Criar uma agenda para iniciar e parar automaticamente a instância de computação

Também pode utilizar um script de configuração (pré-visualização) para criar a instância de computação com o seu próprio ambiente personalizado.

As instâncias de computação podem executar tarefas de forma segura num ambiente de rede virtual, sem exigir que as empresas abram portas SSH. A tarefa é executada num ambiente em contentores e empacota as dependências do modelo num contentor do Docker.

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

Criar

Importante

Os itens marcados (pré-visualização) abaixo estão atualmente em pré-visualização pública. A versão de pré-visualização é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Estimativa de tempo: aproximadamente 5 minutos.

Criar uma instância de computação é um processo único para a área de trabalho. Pode reutilizar a computação como uma estação de trabalho de desenvolvimento ou como um destino de computação para preparação. Pode ter várias instâncias de computação anexadas à área de trabalho.

Os núcleos dedicados por região por quota familiar de VM e quota regional total, que se aplica à criação de instâncias de computação, são unificados e partilhados com a quota de cluster de computação de preparação do Azure Machine Learning. Parar a instância de computação não liberta quota para garantir que conseguirá reiniciar a instância de computação. Não é possível alterar o tamanho da máquina virtual da instância de computação depois de ser criada.

A forma mais rápida de criar uma instância de computação é seguir o Início Rápido: Criar recursos da área de trabalho de que precisa para começar a utilizar o Azure Machine Learning.

Em alternativa, utilize os seguintes exemplos para criar uma instância de computação com mais opções:

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

# Compute Instances need to have a unique name across the region.
# Here we create a unique name with current datetime
from azure.ai.ml.entities import ComputeInstance, AmlCompute
import datetime

ci_basic_name = "basic-ci" + datetime.datetime.now().strftime("%Y%m%d%H%M")
ci_basic = ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2")
ml_client.begin_create_or_update(ci_basic).result()

Para obter mais informações sobre as classes, métodos e parâmetros utilizados neste exemplo, veja os seguintes documentos de referência:

Configurar a paragem automática (pré-visualização)

Importante

Os itens marcados (pré-visualização) abaixo estão atualmente em pré-visualização pública. A versão de pré-visualização é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Para evitar ser cobrado por uma instância de computação que está ativada mas inativa, pode configurar a paragem automática.

Uma instância de computação é considerada inativa se as condições abaixo forem cumpridas:

  • Não existem sessões ativas do Kernel do Jupyter (que se traduz em nenhuma utilização de Blocos de Notas através do Jupyter, JupyterLab ou Blocos de notas interativos)
  • Sem sessões de terminal ativas do Jupyter
  • Não existem execuções ou experimentações ativas do AzureML
  • Sem ligações SSH
  • Sem ligações de código VS; tem de fechar a ligação do VS Code para que a instância de computação seja considerada inativa. As sessões são terminadas automaticamente se o código VS não detetar nenhuma atividade durante 3 horas.

A atividade em aplicações personalizadas instaladas na instância de computação não é considerada. Existem também alguns limites básicos em torno dos períodos de tempo de inatividade; A CI tem de estar inativa durante um mínimo de 15 minutos e um máximo de três dias.

Esta definição pode ser configurada durante a criação da CI ou para as CIs existentes através das seguintes interfaces:

  • AzureML Studio

    Captura de ecrã da página Definições Avançadas para criar uma instância de computaçãoCaptura de ecrã da página de detalhes da instância de computação a mostrar como atualizar uma instância de computação existente com o encerramento inativo

  • API REST

    Ponto final:

    POST https://management.azure.com/subscriptions/{SUB_ID}/resourceGroups/{RG_NAME}/providers/Microsoft.MachineLearningServices/workspaces/{WS_NAME}/computes/{CI_NAME}/updateIdleShutdownSetting?api-version=2021-07-01
    

    Corpo:

    {
        "idleTimeBeforeShutdown": "PT30M" // this must be a string in ISO 8601 format
    }
    
  • CLIv2 (YAML): apenas configurável durante a criação da nova CI

    # Note that this is just a snippet for the idle shutdown property. Refer to the "Create" Azure CLI section for more information.
    # Note that idle_time_before_shutdown has been deprecated.
    idle_time_before_shutdown_minutes: 30
    
  • SDKv2 do Python: apenas configurável durante a criação da nova CI

    # Note that idle_time_before_shutdown has been deprecated.
    ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2", idle_time_before_shutdown_minutes="30")
    
  • Modelos do ARM: só configuráveis durante a criação da nova CI

    // Note that this is just a snippet for the idle shutdown property in an ARM template
    {
        "idleTimeBeforeShutdown":"PT30M" // this must be a string in ISO 8601 format
    }
    

Suporte do Azure Policy

Os administradores podem utilizar uma definição de Azure Policy incorporada para impor a paragem automática em todas as instâncias de computação numa determinada subscrição/grupo de recursos.

  1. Navegue para Azure Policy no portal do Azure.

  2. Em "Definições", procure a política de encerramento inativo.

    Captura de ecrã da política de encerramento inativo no portal do Azure.

  3. Atribua a política ao âmbito necessário.

Também pode criar a sua própria política personalizada do Azure. Por exemplo, se a política abaixo estiver atribuída, todas as novas instâncias de computação terão a paragem automática configurada com um período de inatividade de 60 minutos.

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.MachineLearningServices/workspaces/computes"
        },
        {
          "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
          "equals": "ComputeInstance"
        },
        {
          "anyOf": [
            {
              "field": "Microsoft.MachineLearningServices/workspaces/computes/idleTimeBeforeShutdown",
              "exists": false
            },
            {
              "value": "[empty(field('Microsoft.MachineLearningServices/workspaces/computes/idleTimeBeforeShutdown'))]",
              "equals": true
            }
          ]
        }
      ]
    },
    "then": {
      "effect": "append",
      "details": [
        {
          "field": "Microsoft.MachineLearningServices/workspaces/computes/idleTimeBeforeShutdown",
          "value": "PT60M"
        }
      ]
    }
  },
  "parameters": {}
}

Criar em nome de (pré-visualização)

Importante

Os itens marcados (pré-visualização) abaixo estão atualmente em pré-visualização pública. A versão de pré-visualização é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Como administrador, pode criar uma instância de computação em nome de um cientista de dados e atribuir-lhe a instância com:

O cientista de dados para o qual cria a instância de computação precisa do seguinte: permissões de controlo de acesso baseado em funções do Azure (RBAC do Azure ):

  • Microsoft. MachineLearningServices/workspaces/computes/start/action
  • Microsoft. MachineLearningServices/workspaces/computes/stop/action
  • Microsoft. MachineLearningServices/workspaces/computes/restart/action
  • Microsoft. MachineLearningServices/workspaces/computes/applicationaccess/action
  • Microsoft. MachineLearningServices/workspaces/computes/updateSchedules/action

O cientista de dados pode iniciar, parar e reiniciar a instância de computação. Podem utilizar a instância de computação para:

  • Jupyter
  • JupyterLab
  • RStudio
  • Blocos de notas integrados

Agendar o início e a paragem automáticos

Defina várias agendas para encerramento automático e início automático. Por exemplo, crie um agendamento para começar às 9:00 e parar às 18:00 de segunda a quinta-feira, e um segundo horário para começar às 9:00 e parar às 16:00 de sexta-feira. Pode criar um total de quatro agendas por instância de computação.

As agendas também podem ser definidas para criar em nome de instâncias de computação. Pode criar uma agenda que cria a instância de computação num estado parado. As instâncias de computação paradas são úteis quando cria uma instância de computação em nome de outro utilizador.

Antes de um encerramento agendado, os utilizadores verão uma notificação a alertá-los de que a Instância de Computação está prestes a ser encerrada. Nessa altura, o utilizador pode optar por dispensar o evento de encerramento futuro, se, por exemplo, estiver a meio da utilização da Instância de Computação.

Criar uma agenda no studio

  1. Preencha o formulário.

  2. Na segunda página do formulário, abra Mostrar definições avançadas.

  3. Selecione Adicionar agenda para adicionar uma nova agenda.

    Captura de ecrã: adicionar agenda em definições avançadas.

  4. Selecione Iniciar instância de computação ou Parar instância de computação.

  5. Selecione o Fuso horário.

  6. Selecione a Hora de arranque ou Tempo de encerramento.

  7. Selecione os dias em que esta agenda está ativa.

    Captura de ecrã: agende uma instância de computação para encerrar.

  8. Selecione Adicionar agenda novamente se quiser criar outra agenda.

Assim que a instância de computação for criada, pode ver, editar ou adicionar novas agendas a partir da secção de detalhes da instância de computação.

Nota

As etiquetas de fuso horário não são responsáveis pela poupança de luz diária. Por exemplo, (UTC+01:00) Amesterdão, Berlim, Berna, Roma, Estocolmo, Viena é na verdade UTC+02:00 durante a poupança de luz diária.

Criar uma agenda com a CLI

APLICA-SE A:Extensão v2 da CLI do Azure (atual)

az ml compute create -f create-instance.yml

Onde está o ficheiro create-instance.yml :

$schema: https://azuremlschemas.azureedge.net/latest/computeInstance.schema.json 
name: schedule-example-i
type: computeinstance
size: STANDARD_DS3_v2
schedules:
   compute_start_stop:
      - action: stop
        trigger:
         type: cron
         start_time: "2021-03-10T21:21:07"
         time_zone: Pacific Standard Time
         expression: 0 18 * * *

Criar uma agenda com o SDK

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

from azure.ai.ml import MLClient
from azure.ai.ml.constants import TimeZone
from azure.ai.ml.entities import ComputeInstance, AmlCompute, ComputeSchedules, ComputeStartStopSchedule, RecurrencePattern, RecurrenceTrigger
from azure.identity import DefaultAzureCredential
from dateutil import tz
import datetime
# Enter details of your AML workspace
subscription_id = "<guid>"
resource_group = "sample-rg"
workspace = "sample-ws"
# get a handle to the workspace
ml_client = MLClient(
    DefaultAzureCredential(), subscription_id, resource_group, workspace
)
ci_minimal_name = "sampleCI"
mytz = tz.gettz("Asia/Kolkata")
now = datetime.datetime.now(tz = mytz)
starttime = now + datetime.timedelta(minutes=25)
triggers = RecurrenceTrigger(frequency="day", interval=1, schedule=RecurrencePattern(hours=17, minutes=30))
myschedule = ComputeStartStopSchedule(start_time=starttime, time_zone=TimeZone.INDIA_STANDARD_TIME, trigger=triggers, action="Stop")
com_sch = ComputeSchedules(compute_start_stop=[myschedule])
ci_minimal = ComputeInstance(name=ci_minimal_name, schedules=com_sch)
ml_client.begin_create_or_update(ci_minimal)

Criar uma agenda com um modelo de Resource Manager

Pode agendar o início e a paragem automáticos de uma instância de computação com um modelo de Resource Manager.

No modelo de Resource Manager, adicione:

"schedules": "[parameters('schedules')]"

Em seguida, utilize expressões cron ou LogicApps para definir a agenda que inicia ou para a instância no ficheiro de parâmetros:

        "schedules": {
        "value": {
        "computeStartStop": [
          {
            "triggerType": "Cron",
            "cron": {              
              "timeZone": "UTC",
              "expression": "0 18 * * *"
            },
            "action": "Stop",
            "status": "Enabled"
          },
          {
            "triggerType": "Cron",
            "cron": {              
              "timeZone": "UTC",
              "expression": "0 8 * * *"
            },
            "action": "Start",
            "status": "Enabled"
          },
          { 
            "triggerType": "Recurrence", 
            "recurrence": { 
              "frequency": "Day", 
              "interval": 1, 
              "timeZone": "UTC", 
              "schedule": { 
                "hours": [17], 
                "minutes": [0]
              } 
            }, 
            "action": "Stop", 
            "status": "Enabled" 
          } 
        ]
      }
    }
  • A ação pode ter o valor "Iniciar" ou "Parar".

  • Para o tipo de acionador, Recurrence utilize a mesma sintaxe que a aplicação lógica, com este esquema de periodicidade.

  • Para o tipo de acionador de cron, utilize a sintaxe cron padrão:

    // Crontab expression format: 
    // 
    // * * * * * 
    // - - - - - 
    // | | | | | 
    // | | | | +----- day of week (0 - 6) (Sunday=0) 
    // | | | +------- month (1 - 12) 
    // | | +--------- day of month (1 - 31) 
    // | +----------- hour (0 - 23) 
    // +------------- min (0 - 59) 
    // 
    // Star (*) in the value field above means all legal values as in 
    // braces for that column. The value column can have a * or a list 
    // of elements separated by commas. An element is either a number in 
    // the ranges shown above or two numbers in the range separated by a 
    // hyphen (meaning an inclusive range). 
    

Azure Policy suporte para predefinir uma agenda

Utilize Azure Policy para impor uma agenda de encerramento para cada instância de computação numa subscrição ou predefinição para uma agenda, se não existir nada. Segue-se uma política de exemplo para predefinir uma agenda de encerramento às 22:00 PST.

{
    "mode": "All",
    "policyRule": {
     "if": {
      "allOf": [
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
        "equals": "ComputeInstance"
       },
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
        "exists": "false"
       }
      ]
     },
     "then": {
      "effect": "append",
      "details": [
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
        "value": {
         "computeStartStop": [
          {
           "triggerType": "Cron",
           "cron": {
            "startTime": "2021-03-10T21:21:07",
            "timeZone": "Pacific Standard Time",
            "expression": "0 22 * * *"
           },
           "action": "Stop",
           "status": "Enabled"
          }
         ]
        }
       }
      ]
     }
    }
}    

Atribuir identidade gerida (pré-visualização)

Importante

Os itens marcados (pré-visualização) abaixo estão atualmente em pré-visualização pública. A versão de pré-visualização é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Pode atribuir uma identidade gerida atribuída pelo sistema ou pelo utilizador a uma instância de computação, para autenticar noutros recursos do Azure, como o armazenamento. A utilização de identidades geridas para autenticação ajuda a melhorar a segurança e a gestão da área de trabalho. Por exemplo, pode permitir que os utilizadores acedam aos dados de preparação apenas quando têm sessão iniciada numa instância de computação. Em alternativa, utilize uma identidade gerida atribuída pelo utilizador comum para permitir o acesso a uma conta de armazenamento específica.

Pode criar uma instância de computação com a identidade gerida a partir do Azure ML Studio:

  1. Preencha o formulário para criar uma nova instância de computação.
  2. Selecione Seguinte: Definições Avançadas.
  3. Ative Atribuir uma identidade gerida.
  4. Selecione Atribuído pelo sistema ou Atribuído pelo utilizador em Tipo de identidade.
  5. Se tiver selecionado Atribuído pelo utilizador, selecione a subscrição e o nome da identidade.

Pode utilizar a CLI V2 para criar uma instância de computação com a atribuição de identidade gerida atribuída pelo sistema:

az ml compute create --name myinstance --identity-type SystemAssigned --type ComputeInstance --resource-group my-resource-group --workspace-name my-workspace

Também pode utilizar a CLI V2 com o ficheiro yaml, por exemplo, para criar uma instância de computação com a identidade gerida atribuída pelo utilizador:

azure ml compute create --file compute.yaml --resource-group my-resource-group --workspace-name my-workspace

A definição de identidade está contida no ficheiro compute.yaml:

https://azuremlschemas.azureedge.net/latest/computeInstance.schema.json
name: myinstance
type: computeinstance
identity:
  type: user_assigned
  user_assigned_identities: 
    - resource_id: identity_resource_id

Assim que a identidade gerida for criada, conceda à identidade gerida, pelo menos, a função Leitor de Dados do Blob de Armazenamento na conta de armazenamento do arquivo de dados, veja Aceder aos serviços de armazenamento. Em seguida, quando trabalha na instância de computação, a identidade gerida é utilizada automaticamente para autenticar em arquivos de dados.

Nota

O nome da identidade gerida do sistema criada estará no formato /workspace-name/computes/compute-instance-name no Azure Active Directory.

Também pode utilizar a identidade gerida manualmente para autenticar noutros recursos do Azure. O exemplo seguinte mostra como utilizá-lo para obter um token de acesso do Azure Resource Manager:

import requests

def get_access_token_msi(resource):
    client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
    resp = requests.get(f"{os.environ['MSI_ENDPOINT']}?resource={resource}&clientid={client_id}&api-version=2017-09-01", headers={'Secret': os.environ["MSI_SECRET"]})
    resp.raise_for_status()
    return resp.json()["access_token"]

arm_access_token = get_access_token_msi("https://management.azure.com")

Nota

Para utilizar a CLI do Azure com a identidade gerida para autenticação, especifique o ID de cliente de identidade como o nome de utilizador ao iniciar sessão: az login --identity --username $DEFAULT_IDENTITY_CLIENT_ID.

Adicionar aplicações personalizadas, como o RStudio (pré-visualização)

Importante

Os itens marcados (pré-visualização) abaixo estão atualmente em pré-visualização pública. A versão de pré-visualização é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Pode configurar outras aplicações, como o RStudio, ao criar uma instância de computação. Siga estes passos no studio para configurar uma aplicação personalizada na sua instância de computação

  1. Preencher o formulário para criar uma nova instância de computação
  2. Selecione Seguinte: Definições Avançadas
  3. Selecione Adicionar aplicação na secção Configuração personalizada da aplicação (RStudio Workbench, etc.)

Captura de ecrã a mostrar a Configuração do Serviço Personalizado.

Configurar o RStudio Workbench

O RStudio é um dos IDEs mais populares entre os programadores de R para ML e projetos de ciência de dados. Pode configurar facilmente o RStudio Workbench para ser executado na sua instância de computação, com a sua própria licença do RStudio e aceder ao conjunto de funcionalidades avançadas que o RStudio Workbench oferece.

  1. Siga os passos listados acima para Adicionar aplicação ao criar a instância de computação.
  2. Selecione RStudio Workbench (traga a sua própria licença) na lista pendente Aplicação e introduza a chave de licença do RStudio Workbench no campo Chave de licença . Pode obter a licença do RStudio Workbench ou a licença de avaliação do RStudio.
  3. Selecione Criar para adicionar a aplicação RStudio Workbench à sua instância de computação.

Captura de ecrã a mostrar as definições do RStudio.

Importante

Se estiver a utilizar uma área de trabalho de ligação privada, certifique-se de que a imagem do docker, pkg-containers.githubusercontent.com e ghcr.io estão acessíveis. Além disso, utilize uma porta publicada no intervalo 8704-8993. Para o RStudio Workbench, certifique-se de que a licença está acessível ao fornecer acesso de rede ao https://www.wyday.com.

Nota

  • O suporte para aceder ao arquivo de ficheiros da área de trabalho a partir do RStudio ainda não está disponível.
  • Ao aceder a várias instâncias do RStudio, se vir um "400 Pedido Incorreto. Erro De Cabeçalho de Pedido ou Cookie Demasiado Grande", utilize um novo browser ou acesso a partir de um browser no modo incógnito.
  • Atualmente, as aplicações Shiny não são suportadas no RStudio Workbench.

Configurar o RStudio open source

Para utilizar o RStudio open source, configure uma aplicação personalizada da seguinte forma:

  1. Siga os passos listados acima para Adicionar aplicação ao criar a instância de computação.

  2. Selecione Aplicação Personalizada na lista pendente Aplicação

  3. Configure o Nome da aplicação que pretende utilizar.

  4. Configure a aplicação para ser executada na porta8787 de Destino – a imagem do docker para RStudio open source listada abaixo tem de ser executada nesta porta de Destino.

  5. Configure a aplicação para ser acedida na porta8787 Publicado – pode configurar a aplicação para ser acedida numa porta Publicada diferente, se assim o desejar.

  6. Aponte a imagem do Docker para ghcr.io/azure/rocker-rstudio-ml-verse:latest.

  7. Utilize montagens do Enlace para adicionar acesso aos ficheiros na sua conta de armazenamento predefinida:

    • Especifique /home/azureuser/cloudfiles para Caminho do anfitrião.
    • Especifique /home/azureuser/cloudfiles para o Caminho do contentor.
    • Selecione Adicionar para adicionar esta montagem. Uma vez que os ficheiros estão montados, as alterações que fizer aos mesmos estarão disponíveis noutras aplicações e instâncias de computação.
  8. Selecione Criar para configurar o RStudio como uma aplicação personalizada na sua instância de computação.

Captura de ecrã a mostrar o formulário para configurar o RStudio como uma aplicação personalizada

Importante

Se estiver a utilizar uma área de trabalho de ligação privada, certifique-se de que a imagem do docker, pkg-containers.githubusercontent.com e ghcr.io estão acessíveis. Além disso, utilize uma porta publicada no intervalo 8704-8993. Para o RStudio Workbench, certifique-se de que a licença está acessível ao fornecer acesso de rede ao https://www.wyday.com.

Configurar outras aplicações personalizadas

Configure outras aplicações personalizadas na sua instância de computação ao fornecer a aplicação numa imagem do Docker.

  1. Siga os passos listados acima para Adicionar aplicação ao criar a instância de computação.
  2. Selecione Aplicação Personalizada na lista pendente Aplicação .
  3. Configure o Nome da aplicação, a porta de destino na qual pretende executar a aplicação, a porta Publicada na qual pretende aceder à aplicação e a imagem do Docker que contém a sua aplicação.
  4. Opcionalmente, adicione as variáveis de Ambiente que pretende utilizar para a sua aplicação.
  5. Utilize montagens do Enlace para adicionar acesso aos ficheiros na sua conta de armazenamento predefinida:
    • Especifique /home/azureuser/cloudfiles para Caminho do anfitrião.
    • Especifique /home/azureuser/cloudfiles para o Caminho do contentor.
    • Selecione Adicionar para adicionar esta montagem. Uma vez que os ficheiros estão montados, as alterações que fizer aos mesmos estarão disponíveis noutras aplicações e instâncias de computação.
  6. Selecione Criar para configurar a aplicação personalizada na sua instância de computação.

Captura de ecrã a mostrar as definições personalizadas da aplicação.

Importante

Se estiver a utilizar uma área de trabalho de ligação privada, certifique-se de que a imagem do docker, pkg-containers.githubusercontent.com e ghcr.io estão acessíveis. Além disso, utilize uma porta publicada no intervalo 8704-8993. Para o RStudio Workbench, certifique-se de que a licença está acessível ao fornecer acesso de rede ao https://www.wyday.com.

Aceder a aplicações personalizadas no studio

Aceda às aplicações personalizadas que configurou no studio:

  1. À esquerda, selecione Computação.
  2. No separador Instância de computação , veja as aplicações na coluna Aplicações .

Captura de ecrã a mostrar o acesso ao estúdio para as suas aplicações personalizadas.

Nota

A configuração de uma aplicação personalizada poderá demorar alguns minutos até poder aceder à mesma através das ligações acima. A quantidade de tempo descolada dependerá do tamanho da imagem utilizada para a sua aplicação personalizada. Se vir uma mensagem de erro 502 ao tentar aceder à aplicação, aguarde algum tempo até que a aplicação seja configurada e tente novamente.

Depois de iniciar o RStudio, poderá não ver nenhum dos seus ficheiros, mesmo depois de especificar as montagens de Enlace corretas acima. Se isto acontecer:

  1. Selecione ... na extremidade direita do painel Ficheiros
  2. Para a pasta Caminho a, escreva /home/azureuser/cloudfiles/code

Captura de ecrã: configure o RStudio para localizar os seus cloudfiles.

Gerir

Iniciar, parar, reiniciar e eliminar uma instância de computação. Uma instância de computação não reduz verticalmente 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. Ao parar a instância de computação para 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 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 do 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 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 tem 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 (pré-visualização)

Assim que uma instância de computação é implementada, não é atualizada automaticamente. Microsoft lança novas imagens de VM mensalmente. Para compreender as opções de manutenção recente com 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 respetiva versão com a IU do Studio. Na área de trabalho no estúdio do Azure Machine Learning, selecione Computação e, em seguida, selecione instância de computação na parte superior. Selecione o nome de computação de uma instância de computação para ver as respetivas propriedades, incluindo o sistema operativo atual. Ative "auditar e observar a versão do SO da instância de computação" no painel de gestão de pré-visualizações para ver estas propriedades de pré-visualização.

Os administradores podem utilizar definições de Azure Policy para auditar instâncias em execução em versões de sistema operativo desatualizadas em áreas de trabalho e subscrições. Segue-se uma política de exemplo:

{
    "mode": "All",
    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.MachineLearningServices/workspaces/computes"
          },
          {
            "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
            "equals": "ComputeInstance"
          },
          {
            "field": "Microsoft.MachineLearningServices/workspaces/computes/osImageMetadata.isLatestOsImageVersion",
            "equals": "false"
          }
        ]
      },
      "then": {
        "effect": "Audit"
      }
    }
}    

Passos seguintes