Azure Machine Learning-werkruimten beheren met behulp van Azure CLI

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

In dit artikel leert u hoe u Azure Machine Learning-werkruimten maakt en beheert met behulp van de Azure CLI. De Azure CLI biedt opdrachten voor het beheren van Azure-resources en is ontworpen om u snel met Azure te laten werken, met de nadruk op automatisering. De machine learning-extensie voor de CLI biedt opdrachten voor het werken met Azure Machine Learning-resources.

U kunt ook werkruimten beheren in azure portal en Python SDK, Azure PowerShell of via de VS Code-extensie.

Vereisten

Beperkingen

  • Wanneer u een nieuwe werkruimte maakt, kunt u automatisch services maken die nodig zijn voor de werkruimte of bestaande services gebruiken. Als u bestaande services van een ander Azure-abonnement wilt gebruiken dan de werkruimte, moet u de Azure Machine Learning-naamruimte registreren in het abonnement dat deze services bevat. Als u bijvoorbeeld een werkruimte maakt in abonnement A die gebruikmaakt van een opslagaccount van abonnement B, moet de Azure Machine Learning-naamruimte zijn geregistreerd in abonnement B voordat u het opslagaccount met de werkruimte kunt gebruiken.

    De resourceprovider voor Azure Machine Learning is Microsoft.MachineLearningServices. Zie het artikel Azure-resourceproviders en typen voor informatie over hoe u kunt zien of deze is geregistreerd en hoe u deze registreert.

    Belangrijk

    Dit geldt alleen voor resources die worden geleverd tijdens het maken van de werkruimte; Azure Storage-accounts, Azure Container Register, Azure Key Vault en Application Insights.

Tip

Er wordt een Azure-toepassing Insights-exemplaar gemaakt wanneer u de werkruimte maakt. U kunt het Application Insights-exemplaar verwijderen nadat het cluster is gemaakt. Als u deze verwijdert, worden de gegevens die zijn verzameld uit de werkruimte beperkt en kan het lastiger zijn om problemen op te lossen. Als u het Application Insights-exemplaar verwijdert dat door de werkruimte is gemaakt, kunt u deze niet opnieuw maken zonder de werkruimte te verwijderen en opnieuw te maken.

Zie Gegevens van Machine Learning-webservice-eindpunten bewaken en verzamelen voor meer informatie over het gebruik van dit Application Insights-exemplaar.

Beveiligde CLI-communicatie

Sommige Azure CLI-opdrachten communiceren via internet met Azure Resource Manager. Deze communicatie wordt beveiligd met HTTPS/TLS 1.2.

Met de Azure Machine Learning CLI-extensie v2 ('ml' ) communiceren alle opdrachten met Azure Resource Manager. Dit omvat operationele gegevens, zoals YAML-parameters en metagegevens. Als uw Azure Machine Learning-werkruimte openbaar is (dus niet achter een virtueel netwerk), is er geen extra configuratie vereist. Communicatie wordt beveiligd met HTTPS/TLS 1.2.

Als uw Azure Machine Learning-werkruimte gebruikmaakt van een privé-eindpunt en virtueel netwerk en u CLI v2 gebruikt, kiest u een van de volgende configuraties die u wilt gebruiken:

Zie De CLI installeren en instellen voor meer informatie over CLI v2-communicatie.

Verbinding maken de CLI naar uw Azure-abonnement

Belangrijk

Als u Azure Cloud Shell gebruikt, kunt u deze sectie overslaan. De Cloud Shell verifieert u automatisch met het account dat u bij uw Azure-abonnement aanmeldt.

Er zijn verschillende manieren waarop u zich kunt verifiëren bij uw Azure-abonnement vanuit de CLI. De eenvoudigste methode is interactieve verificatie met behulp van een browser. Voor interactieve verificatie opent u een opdrachtregel of terminal en gebruikt u de volgende opdracht:

az login

Als de CLI uw standaardbrowser kan openen, gebeurt dat ook en wordt er een aanmeldingspagina gedownload. Anders moet u een browser openen en de aanwijzingen op de opdrachtregel volgen. Dit omvat het bladeren naar https://aka.ms/devicelogin en het invoeren van een autorisatiecode.

Tip

Nadat u zich hebt aangemeld, ziet u een lijst met abonnementen die zijn gekoppeld aan uw Azure-account. De abonnementsgegevens met isDefault: true zijn het abonnement dat momenteel is geactiveerd voor Azure CLI-opdrachten. Dit abonnement moet gelijk zijn aan het abonnement dat uw Azure Machine Learning-werkruimte bevat. U vindt de abonnements-id in Azure Portal door naar de overzichtspagina voor uw werkruimte te gaan.

Als u een ander abonnement wilt selecteren, gebruikt u de opdracht az account set -s <subscription name or ID> en geeft u de naam van het abonnement of het id op om over te schakelen. Zie Meerdere Azure-abonnementen gebruiken voor meer informatie over het selecteren van abonnementen.

Zie Aanmelden met Azure CLI voor andere verificatiemethoden.

Een brongroep maken

De Azure Machine Learning-werkruimte moet worden gemaakt in een resourcegroep. U kunt een bestaande resourcegroep gebruiken of een nieuwe maken. Met de volgende opdracht kunt u een nieuwe resourcegroep maken. Vervang <resource-group-name> door de naam die u voor deze resourcegroep wilt gebruiken. Vervang <location> door de Azure-regio die u voor deze resourcegroep wilt gebruiken:

Notitie

Selecteer een regio waarin Azure Machine Learning beschikbaar is. Zie Producten beschikbaar per regio voor informatie.

az group create --name <resource-group-name> --location <location>

Het antwoord van deze opdracht is vergelijkbaar met de volgende JSON. U kunt de uitvoerwaarden gebruiken om de gemaakte resources te zoeken of deze te parseren als invoer voor de volgende CLI-stappen voor automatisering.

{
  "id": "/subscriptions/<subscription-GUID>/resourceGroups/<resourcegroupname>",
  "location": "<location>",
  "managedBy": null,
  "name": "<resource-group-name>",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": null
}

Zie az group voor meer informatie over het werken met resourcegroepen.

Een werkruimte maken

Wanneer u een Azure Machine Learning-werkruimte implementeert, zijn verschillende andere services vereist als afhankelijke resources. Wanneer u de CLI gebruikt om de werkruimte te maken, kan de CLI namens u nieuwe gekoppelde resources maken of bestaande resources koppelen.

Belangrijk

Wanneer u uw eigen opslagaccount koppelt, moet u ervoor zorgen dat het voldoet aan de volgende criteria:

  • Het opslagaccount is geen Premium-account (Premium_LRS en Premium_GRS)
  • Mogelijkheden voor Zowel Azure Blob als Azure File ingeschakeld
  • Hiërarchische naamruimte (ADLS Gen 2) is uitgeschakeld Deze vereisten zijn alleen voor het standaardopslagaccount dat door de werkruimte wordt gebruikt.

Wanneer u Azure Container Registry koppelt, moet het beheerdersaccount zijn ingeschakeld voordat het kan worden gebruikt met een Azure Machine Learning-werkruimte.

Gebruik de volgende opdracht om een nieuwe werkruimte te maken waarin de services automatisch worden gemaakt:

az ml workspace create -n <workspace-name> -g <resource-group-name>

Belangrijk

Wanneer u bestaande resources koppelt, hoeft u niet alle resources op te geven. U kunt een of meer opgeven. U kunt bijvoorbeeld een bestaand opslagaccount opgeven en de werkruimte maakt de andere resources.

De uitvoer van de opdracht voor het maken van de werkruimte is vergelijkbaar met de volgende JSON. U kunt de uitvoerwaarden gebruiken om de gemaakte resources te zoeken of deze te parseren als invoer voor de volgende CLI-stappen.

{
  "applicationInsights": "/subscriptions/<service-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.insights/components/<application-insight-name>",
  "containerRegistry": "/subscriptions/<service-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.containerregistry/registries/<acr-name>",
  "creationTime": "2019-08-30T20:24:19.6984254+00:00",
  "description": "",
  "friendlyName": "<workspace-name>",
  "id": "/subscriptions/<service-GUID>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>",
  "identityPrincipalId": "<GUID>",
  "identityTenantId": "<GUID>",
  "identityType": "SystemAssigned",
  "keyVault": "/subscriptions/<service-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.keyvault/vaults/<key-vault-name>",
  "location": "<location>",
  "name": "<workspace-name>",
  "resourceGroup": "<resource-group-name>",
  "storageAccount": "/subscriptions/<service-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.storage/storageaccounts/<storage-account-name>",
  "type": "Microsoft.MachineLearningServices/workspaces",
  "workspaceid": "<GUID>"
}

Geavanceerd configuratie

Werkruimte configureren voor privénetwerkconnectiviteit

Afhankelijk van uw use-case- en organisatievereisten, kunt u Ervoor kiezen om Azure Machine Learning te configureren met behulp van een privénetwerkconnectiviteit. U kunt de Azure CLI gebruiken om een werkruimte en een Private Link-eindpunt voor de werkruimteresource te implementeren. Zie het overzicht van isolatie en privacy van virtuele netwerken voor meer informatie over het gebruik van een privé-eindpunt en een virtueel netwerk (VNet) met uw werkruimte. Voor complexe resourceconfiguraties raadpleegt u ook implementatieopties op basis van sjablonen, waaronder Azure Resource Manager.

Wanneer u private link gebruikt, kan uw werkruimte Azure Container Registry niet gebruiken om docker-installatiekopieën te bouwen. Daarom moet u de eigenschap image_build_compute instellen op de naam van een CPU-rekencluster dat moet worden gebruikt voor het bouwen van de Docker-installatiekopieënomgeving. U kunt ook opgeven of de private link-werkruimte toegankelijk moet zijn via internet met behulp van de eigenschap public_network_access.

$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-privatelink-prod
location: eastus
display_name: Private Link endpoint workspace-example
description: When using private link, you must set the image_build_compute property to a cluster name to use for Docker image environment building. You can also specify whether the workspace should be accessible over the internet.
image_build_compute: cpu-compute
public_network_access: Disabled
tags:
  purpose: demonstration
az ml workspace create -g <resource-group-name> --file privatelink.yml

Nadat u de werkruimte hebt gemaakt, gebruikt u de CLI-opdrachten voor Azure-netwerken om een privékoppelingseindpunt voor de werkruimte te maken.

az network private-endpoint create \
    --name <private-endpoint-name> \
    --vnet-name <vnet-name> \
    --subnet <subnet-name> \
    --private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
    --group-id amlworkspace \
    --connection-name workspace -l <location>

Gebruik de volgende opdrachten om de privé-DNS-zonevermeldingen voor de werkruimte te maken:

# Add privatelink.api.azureml.ms
az network private-dns zone create \
    -g <resource-group-name> \
    --name 'privatelink.api.azureml.ms'

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name 'privatelink.api.azureml.ms' \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone 'privatelink.api.azureml.ms' \
    --zone-name 'privatelink.api.azureml.ms'

# Add privatelink.notebooks.azure.net
az network private-dns zone create \
    -g <resource-group-name> \
    --name 'privatelink.notebooks.azure.net'

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name 'privatelink.notebooks.azure.net' \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group add \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone 'privatelink.notebooks.azure.net' \
    --zone-name 'privatelink.notebooks.azure.net'

Door de klant beheerde sleutel en werkruimte met een hoge impact op het bedrijf

Standaard worden metagegevens voor de werkruimte opgeslagen in een Azure Cosmos DB-exemplaar dat Door Microsoft wordt onderhouden. Deze gegevens worden versleuteld met door Microsoft beheerde sleutels. In plaats van de door Microsoft beheerde sleutel te gebruiken, kunt u ook uw eigen sleutel opgeven. Hiermee maakt u een extra set resources in uw Azure-abonnement om uw gegevens op te slaan.

Zie Gegevensversleuteling met Azure Machine Learning voor meer informatie over de resources die worden gemaakt wanneer u uw eigen sleutel voor versleuteling gebruikt.

Gebruik de customer_managed_key parameter en de parameters key_urikey_vault om de resource-id en URI van de sleutel in de kluis op te geven.

Als u de gegevens wilt beperken die Door Microsoft in uw werkruimte worden verzameld , kunt u ook de hbi_workspace eigenschap opgeven.

$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-cmkexample-prod
location: eastus
display_name: Customer managed key encryption-example
description: This configurations shows how to create a workspace that uses customer-managed keys for encryption.
customer_managed_key: 
  key_vault: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT>
  key_uri: https://<KEY_VAULT>.vault.azure.net/keys/<KEY_NAME>/<KEY_VERSION>
tags:
  purpose: demonstration

Vervolgens kunt u naar dit configuratiebestand verwijzen als onderdeel van de CLI-opdracht voor het maken van de werkruimte.

az ml workspace create -g <resource-group-name> --file cmk.yml

Notitie

Autoriseren van de Machine Learning-app (in identiteits- en toegangsbeheer) met inzendermachtigingen voor uw abonnement om aanvullende resources voor gegevensversleuteling te beheren.

Notitie

Azure Cosmos DB wordt niet gebruikt voor het opslaan van gegevens zoals modelprestaties, gegevens die zijn vastgelegd door experimenten of gegevens die zijn vastgelegd vanuit uw modelimplementaties.

Belangrijk

Het selecteren van grote zakelijke impact kan alleen worden uitgevoerd bij het maken van een werkruimte. U kunt deze instelling niet wijzigen nadat de werkruimte is gemaakt.

Zie Enterprise-beveiliging voor Azure Machine Learning voor meer informatie over door de klant beheerde sleutels en werkruimte met hoge bedrijfsimpact.

De CLI gebruiken om werkruimten te beheren

Werkruimtegegevens ophalen

Gebruik de volgende opdracht om informatie over een werkruimte op te halen:

az ml workspace show -n <workspace-name> -g <resource-group-name>

Zie de documentatie voor az ml workspace show voor meer informatie.

Een werkruimte bijwerken

Gebruik de volgende opdracht om een werkruimte bij te werken:

az ml workspace update -n <workspace-name> -g <resource-group-name>

Zie de documentatie voor az ml workspace update voor meer informatie.

Sleutels synchroniseren voor afhankelijke resources

Als u toegangssleutels wijzigt voor een van de resources die door uw werkruimte worden gebruikt, duurt het ongeveer een uur voordat de werkruimte is gesynchroniseerd met de nieuwe sleutel. Als u wilt afdwingen dat de werkruimte de nieuwe sleutels onmiddellijk synchroniseert, gebruikt u de volgende opdracht:

az ml workspace sync-keys -n <workspace-name> -g <resource-group-name>

Zie Toegangssleutels voor opslag opnieuw genereren voor meer informatie over het wijzigen van sleutels.

Zie az ml workspace sync-keys voor meer informatie over de opdracht sync-keys.

Een werkruimte verwijderen

Waarschuwing

Als voorlopig verwijderen is ingeschakeld voor de werkruimte, kan deze na verwijdering worden hersteld. Als voorlopig verwijderen niet is ingeschakeld of u de optie selecteert om de werkruimte permanent te verwijderen, kan deze niet worden hersteld. Zie Een verwijderde werkruimte herstellen voor meer informatie.

Als u een werkruimte wilt verwijderen nadat deze niet meer nodig is, gebruikt u de volgende opdracht:

az ml workspace delete -n <workspace-name> -g <resource-group-name>

Belangrijk

Als u een werkruimte verwijdert, wordt het inzicht in de toepassing, het opslagaccount, de sleutelkluis of het containerregister dat door de werkruimte wordt gebruikt, niet verwijderd.

U kunt ook de resourcegroep verwijderen, waarmee de werkruimte en alle andere Azure-resources in de resourcegroep worden verwijderd. Gebruik de volgende opdracht om de resourcegroep te verwijderen:

az group delete -g <resource-group-name>

Zie de documentatie voor het verwijderen van az ml workspace voor meer informatie.

Tip

Het standaardgedrag voor Azure Machine Learning is om de werkruimte voorlopig te verwijderen . Dit betekent dat de werkruimte niet onmiddellijk wordt verwijderd, maar in plaats daarvan is gemarkeerd voor verwijdering. Zie Voorlopig verwijderen voor meer informatie.

Problemen oplossen

Fouten met resourceprovider

Wanneer u een Azure Machine Learning-werkruimte maakt of een resource die door de werkruimte wordt gebruikt, ontvangt u mogelijk een foutbericht die op een van de volgende berichten lijkt:

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

De meeste resourceproviders worden automatisch geregistreerd, maar niet allemaal. Als u dit bericht ontvangt, moet u de vermelde provider registreren.

De volgende tabel bevat een lijst met de resourceproviders die vereist zijn voor Azure Machine Learning:

Resourceprovider Waarom dit nodig is
Microsoft.MachineLearningServices De Azure Machine Learning-werkruimte maken.
Microsoft.Storage Azure Storage-account wordt gebruikt als de standaardopslag voor de werkruimte.
Microsoft.ContainerRegistry Azure Container Registry wordt door de werkruimte gebruikt om Docker-installatiekopieën te bouwen.
Microsoft.KeyVault Azure Key Vault wordt door de werkruimte gebruikt om geheimen op te slaan.
Microsoft.Notebooks Geïntegreerde notebooks in een Azure Machine Learning-rekenproces.
Microsoft.ContainerService Als u van plan bent getrainde modellen te implementeren in Azure Kubernetes Services.

Als u van plan bent om een door de klant beheerde sleutel te gebruiken met Azure Machine Learning, moeten de volgende serviceproviders zijn geregistreerd:

Resourceprovider Waarom dit nodig is
Microsoft.DocumentDB Azure CosmosDB-exemplaar dat metagegevens voor de werkruimte registreert.
Microsoft.Search Azure Search biedt indexeringsmogelijkheden voor de werkruimte.

Als u van plan bent om een beheerd virtueel netwerk te gebruiken met Azure Machine Learning, moet de resourceprovider Microsoft.Network worden geregistreerd. Deze resourceprovider wordt door de werkruimte gebruikt bij het maken van privé-eindpunten voor het beheerde virtuele netwerk.

Zie Fouten oplossen voor de registratie van de resourceprovider voor informatie over het registreren van resourceproviders.

De werkruimte verplaatsen

Waarschuwing

Het verplaatsen van uw Azure Machine Learning-werkruimte naar een ander abonnement of het verplaatsen van het eigen abonnement naar een nieuwe tenant wordt niet ondersteund. Als u dit doet, kan dit fouten veroorzaken.

Azure Container Registry verwijderen

De Azure Machine Learning-werkruimte maakt gebruik van Azure Container Registry (ACR) voor sommige bewerkingen. Er wordt automatisch een ACR-exemplaar gemaakt wanneer deze er eerst een nodig heeft.

Waarschuwing

Als er een Azure Container Registry voor een werkruimte is gemaakt, moet u deze niet verwijderen. Als u dat doet, werkt de Azure Machine Learning-werkruimte niet meer.

Volgende stappen

Zie de az ml-documentatie voor meer informatie over de Azure CLI-extensie voor machine learning.

Zie Diagnostische gegevens over werkruimten gebruiken om te controleren op problemen met uw werkruimte.

Zie Een werkruimte verplaatsen naar een nieuw Azure-abonnement voor meer informatie over het verplaatsen van een werkruimte.

Zie Beheer van beveiligingsproblemen voor informatie over het up-to-date houden van Azure Machine Learning met de nieuwste beveiligingsupdates.