Gerir Azure Machine Learning espaços de trabalho no portal ou com o Python SDK

Neste artigo, você cria, vê e apaga Azure Machine Learning espaços de trabalho para Azure Machine Learning,usando o portal Azure ou o SDK para Python

À medida que as suas necessidades mudam ou os requisitos para a automatização aumentam, também pode gerir espaços de trabalho utilizando o CLI,ou através da extensão do Código VS.

Pré-requisitos

Limitações

  • Ao criar um novo espaço de trabalho, pode criar automaticamente serviços necessários pelo espaço de trabalho ou utilizar os serviços existentes. Se pretender utilizar os serviços existentes a partir de uma subscrição Azure diferente do espaço de trabalho, tem de registar o espaço de nomeS Azure Machine Learning na subscrição que contém esses serviços. Por exemplo, criar um espaço de trabalho na subscrição A que utiliza uma conta de armazenamento a partir da subscrição B, o espaço de nomeS Azure Machine Learning deve ser registado na subscrição B antes de poder utilizar a conta de armazenamento com o espaço de trabalho.

    O fornecedor de recursos para Azure Machine Learning é o Microsoft.MachineLearningServices. Para obter informações sobre como ver se está registado e como registá-lo, consulte os fornecedores e tipos de recursos da Azure.

    Importante

    Isto aplica-se apenas aos recursos fornecidos durante a criação do espaço de trabalho; Contas de armazenamento Azure, Registo de Contentores Azure, Cofre de Chaves Azure e Insights de Aplicação.

Por predefinição, a criação de um espaço de trabalho também cria um Registo de Contentores Azure (ACR). Uma vez que a ACR não suporta atualmente caracteres unicode em nomes de grupos de recursos, utilize um grupo de recursos que não contenha estes caracteres.

Criar uma área de trabalho

  • Especificação padrão. Por padrão, os recursos dependentes, bem como o grupo de recursos serão criados automaticamente. Este código cria um espaço de trabalho nomeado myworkspace e um grupo de recursos nomeado em myresourcegroup eastus2 .

    from azureml.core import Workspace
    
    ws = Workspace.create(name='myworkspace',
                   subscription_id='<azure-subscription-id>',
                   resource_group='myresourcegroup',
                   create_resource_group=True,
                   location='eastus2'
                   )
    

    Definir create_resource_group para Falso se tiver um grupo de recursos Azure existente que pretende utilizar para o espaço de trabalho.

  • Vários inquilinos. Se tiver várias contas, adicione a identificação do inquilino do Azure Ative Directory deseja usar. Encontre a identificação do seu inquilino do portal Azure sob Azure Ative Directory, Identidades Externas.

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Nuvem soberana. Vai precisar de um código extra para autenticar o Azure se estiver a trabalhar numa nuvem soberana.

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.create(name='myworkspace',
                subscription_id='<azure-subscription-id>',
                resource_group='myresourcegroup',
                create_resource_group=True,
                location='eastus2',
                auth=interactive_auth
                )
    
  • Utilize os recursos Azure existentes. Também pode criar um espaço de trabalho que utiliza os recursos Azure existentes com o formato de ID de recursos Azure. Encontre os IDs específicos de recursos Azure no portal Azure ou com o SDK. Este exemplo pressupõe que o grupo de recursos, a conta de armazenamento, o cofre-chave, a app Informações e o registo de contentores já existem.

    import os
    from azureml.core import Workspace
    from azureml.core.authentication import ServicePrincipalAuthentication
    
    service_principal_password = os.environ.get("AZUREML_PASSWORD")
    
    service_principal_auth = ServicePrincipalAuthentication(
        tenant_id="<tenant-id>",
        username="<application-id>",
        password=service_principal_password)
    
                          auth=service_principal_auth,
                               subscription_id='<azure-subscription-id>',
                               resource_group='myresourcegroup',
                               create_resource_group=False,
                               location='eastus2',
                               friendly_name='My workspace',
                               storage_account='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.storage/storageaccounts/mystorageaccount',
                               key_vault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/mykeyvault',
                               app_insights='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.insights/components/myappinsights',
                               container_registry='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.containerregistry/registries/mycontainerregistry',
                               exist_ok=False)
    

Para mais informações, consulte a referência SDK do Espaço de Trabalho.

Se tiver problemas em aceder à sua subscrição, consulte Configurar a autenticação para Azure Machine Learning recursos e fluxos de trabalho,bem como a Autenticação no caderno Azure Machine Learning.

Rede

Importante

Para obter mais informações sobre a utilização de um ponto final privado e rede virtual com o seu espaço de trabalho, consulte o isolamento e privacidade da Rede.

O Azure Machine Learning Python SDK fornece a classe PrivateEndpointConfig, que pode ser usada com Workspace.create() para criar um espaço de trabalho com um ponto final privado. Esta classe requer uma rede virtual existente.

Importante

A utilização de um ponto final privado com Azure Machine Learning espaço de trabalho está atualmente em pré-visualização pública. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e não é recomendado 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.

Análise de vulnerabilidades

O Centro de Segurança do Azure oferece gestão de segurança unificada e proteção contra ameaças avançada entre cargas de trabalho na cloud híbrida. Deve permitir que o Azure Security Center digitalize os seus recursos e siga as suas recomendações. Para mais informações, consulte a imagem do Registo de Contentores Azure pelo Security Center e a integração dos Serviços Azure Kubernetes com o Security Center.

Avançado

Por predefinição, os metadados para o espaço de trabalho são armazenados num caso DB Azure Cosmos que a Microsoft mantém. Estes dados são encriptados utilizando as teclas geridas pela Microsoft.

Para limitar os dados que a Microsoft recolhe no seu espaço de trabalho, selecione High business impact workspace no portal, ou definido hbi_workspace=true em Python. Para obter mais informações sobre esta definição, consulte a encriptação em repouso.

Importante

A seleção de um impacto de alto negócio só pode ser feita quando se cria um espaço de trabalho. Não é possível alterar esta definição após a criação do espaço de trabalho.

Use a sua própria chave

Pode fornecer a sua própria chave para encriptação de dados. Ao fazê-lo, cria a instância DB do Azure Cosmos que armazena metadados na sua subscrição Azure.

Importante

A instância de Coss DB da Cosmos é criada num grupo de recursos gerido pela Microsoft na sua subscrição. Os seguintes serviços são também criados neste grupo de recursos, e são utilizados pela configuração de chave gerida pelo cliente:

  • Conta de Armazenamento do Azure
  • Azure Search

Uma vez que estes serviços são criados na sua subscrição Azure, significa que você é cobrado por estas instâncias de serviço.

O grupo de recursos geridos está nomeado no <AML Workspace Resource Group Name><GUID> formato. Se o seu espaço de trabalho Azure Machine Learning utilizar um ponto final privado, uma rede virtual também é criada neste grupo de recursos. Este VNet é utilizado para garantir a comunicação entre os serviços deste grupo de recursos e o seu espaço de trabalho Azure Machine Learning.

  • Não elimine o grupo de recursos que contém esta instância Descs DB cosmos, ou qualquer dos recursos automaticamente criados neste grupo. Se precisar de eliminar o grupo de recursos, instância de Cosmos DB, etc., deve eliminar o espaço de trabalho Azure Machine Learning que o utiliza. O grupo de recursos, a instância de Cosmos DB e outros recursos automaticamente criados são eliminados quando o espaço de trabalho associado é eliminado.
  • As Unidades de Pedido utilizadas por esta conta Cosmos DB escalam automaticamente se necessário. O RU mínimo é de 1200. O máximo de RU é de 12000.
  • Não é possível fornecer o seu próprio VNet para uso com a instância de Cosmos DB que é criada. Também não é possível modificar a rede virtual. Por exemplo, não é possível alterar o intervalo de endereço IP que utiliza.

Para estimar o custo adicional da instância DB Azure Cosmos, utilize a calculadora de preços Azure.

Use os seguintes passos para fornecer a sua própria chave:

Importante

Antes de seguir estes passos, deve primeiro realizar as seguintes ações:

  1. Autorize a App Machine Learning (em Gestão de Identidade e Acesso) com permissões de colaboradores na sua subscrição.

  2. Siga os passos em Chaves geridas pelo cliente para:

    • Registe-se no fornecedor Azure Cosmos DB
    • Criar e configurar um Cofre de Chaves Azure
    • Gerar uma chave

    Não precisa de criar manualmente o exemplo DB do Azure Cosmos, um deles será criado para si durante a criação do espaço de trabalho. Esta instância DB Azure Cosmos será criada num grupo de recursos separado usando um nome baseado neste padrão: <your-workspace-resource-name>_<GUID> .

Não é possível alterar esta definição após a criação do espaço de trabalho. Se eliminar o Azure Cosmos DB utilizado pelo seu espaço de trabalho, também deve eliminar o espaço de trabalho que o está a utilizar.

Utilize cmk_keyvault e resource_cmk_uri especifique a chave gerida pelo cliente.

from azureml.core import Workspace
   ws = Workspace.create(name='myworkspace',
               subscription_id='<azure-subscription-id>',
               resource_group='myresourcegroup',
               create_resource_group=True,
               location='eastus2'
               cmk_keyvault='subscriptions/<azure-subscription-id>/resourcegroups/myresourcegroup/providers/microsoft.keyvault/vaults/<keyvault-name>', 
               resource_cmk_uri='<key-identifier>'
               )

Descarregue um ficheiro de configuração

Se estiver a criar uma instância computacional,ignore este passo. A instância computacional já criou uma cópia deste ficheiro para si.

Se pretender utilizar código no seu ambiente local que faz referência a este espaço de trabalho ws (), escreva o ficheiro de configuração:

ws.write_config()

Coloque o ficheiro na estrutura do diretório com os seus scripts Python ou Cadernos Jupyter. Pode estar no mesmo diretório, num subdiretório chamado .azureml, ou num diretório-mãe. Quando cria uma instância de computação, este ficheiro é adicionado ao diretório correto no VM para si.

Ligação para um espaço de trabalho

No seu código Python, cria-se um objeto de espaço de trabalho para se ligar ao seu espaço de trabalho. Este código irá ler o conteúdo do ficheiro de configuração para encontrar o seu espaço de trabalho. Receberá um pedido para iniciar sôms se ainda não estiver autenticado.

from azureml.core import Workspace

ws = Workspace.from_config()
  • Vários inquilinos. Se tiver várias contas, adicione a identificação do inquilino do Azure Ative Directory deseja usar. Encontre a identificação do seu inquilino do portal Azure sob Azure Ative Directory, Identidades Externas.

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(tenant_id="my-tenant-id")
    ws = Workspace.from_config(auth=interactive_auth)
    
  • Nuvem soberana. Vai precisar de um código extra para autenticar o Azure se estiver a trabalhar numa nuvem soberana.

    from azureml.core.authentication import InteractiveLoginAuthentication
    from azureml.core import Workspace
    
    interactive_auth = InteractiveLoginAuthentication(cloud="<cloud name>") # for example, cloud="AzureUSGovernment"
    ws = Workspace.from_config(auth=interactive_auth)
    

Se tiver problemas em aceder à sua subscrição, consulte Configurar a autenticação para Azure Machine Learning recursos e fluxos de trabalho,bem como a Autenticação no caderno Azure Machine Learning.

Encontre um espaço de trabalho

Veja uma lista de todos os espaços de trabalho que pode utilizar.

Encontre as suas subscrições na página de Subscrições no portal Azure. Copie o ID e use-o no código abaixo para ver todos os espaços de trabalho disponíveis para essa subscrição.

from azureml.core import Workspace

Workspace.list('<subscription-id>')

Eliminar uma área de trabalho

Quando já não precisar de um espaço de trabalho, elimine-o.

Eliminar o espaço de ws trabalho:

ws.delete(delete_dependent_resources=False, no_wait=False)

A ação predefinida não é eliminar os recursos associados ao espaço de trabalho, ou seja, o registo de contentores, a conta de armazenamento, o cofre-chave e os insights de aplicação. Definir delete_dependent_resources para True para apagar estes recursos também.

Limpar os recursos

Importante

Os recursos que criou podem ser usados como pré-requisitos para outros tutoriais de Aprendizagem automática Azure e artigos de como fazer.

Se não pretender utilizar nenhum dos recursos que criou, elimine-os para não incorrer em quaisquer encargos:

  1. No portal do Azure, selecione Grupos de recursos na extremidade esquerda.

  2. Na lista, selecione o grupo de recursos que criou.

  3. Selecione Eliminar grupo de recursos.

    Captura de ecrã a mostrar as seleções para eliminar um grupo de recursos no portal do Azure.

  4. Introduza o nome do grupo de recursos. Em seguida, selecione Eliminar.

Resolução de problemas

  • Browsers suportados em Azure Machine Learning estúdio: Recomendamos que utilize o navegador mais atualizado que seja compatível com o seu sistema operativo. Os seguintes navegadores são suportados:

    • Microsoft Edge (A nova versão Microsoft Edge, mais recente. Não Microsoft Edge legado)
    • Safari (versão mais recente, apenas Mac)
    • Chrome (versão mais recente)
    • Firefox (versão mais recente)
  • Portal Azure:

    • Se for diretamente para o seu espaço de trabalho a partir de um link de partilha do SDK ou do portal Azure, não pode ver a página geral padrão que tem informações de subscrição na extensão. Neste cenário, também não pode mudar para outro espaço de trabalho. Para ver outro espaço de trabalho, vá diretamente ao estúdio Azure Machine Learning e procure o nome do espaço de trabalho.
    • Todos os ativos (Datasets, Experiments, Computes, e assim por diante) estão disponíveis apenas em Azure Machine Learning estúdio. Não estão disponíveis no portal Azure.

Erros do fornecedor de recursos

Ao criar um espaço de trabalho Azure Machine Learning ou um recurso utilizado pelo espaço de trabalho, poderá receber um erro semelhante às seguintes mensagens:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

A maioria dos fornecedores de recursos estão automaticamente registados, mas não todos. Se receber esta mensagem, tem de registar o fornecedor mencionado.

Para obter informações sobre o registo de fornecedores de recursos, consulte os erros de Resolução para o registo do fornecedor de recursos.

Mover o espaço de trabalho

Aviso

Mudar o seu espaço de trabalho Azure Machine Learning para uma subscrição diferente, ou mover a subscrição proprietária de um novo inquilino, não é suportado. Fazê-lo pode causar erros.

Eliminação do Registo do Contentor de Azure

O espaço de trabalho Azure Machine Learning utiliza o Registo do Contentor Azure (ACR) para algumas operações. Criará automaticamente uma instância ACR quando precisa primeiro de uma.

Aviso

Uma vez criado um registo de contentores Azure para um espaço de trabalho, não o elimine. Ao fazê-lo, quebrará o seu espaço de trabalho de Aprendizagem de Máquinas Azure.

Exemplos

Exemplos de criação de um espaço de trabalho:

Passos seguintes

Uma vez que tenha um espaço de trabalho, aprenda a treinar e implementar um modelo.

Para saber mais sobre o planeamento de um espaço de trabalho para as necessidades da sua organização, consulte a Organize e crie Azure Machine Learning.