Gérer des registres Azure Machine Learning

Les entités Azure Machine Learning peuvent être regroupées en deux grandes catégories :

  • Les ressources, telles que les modèles, les environnements, les composants et les jeux de données, sont des entités durables indépendantes de l’espace de travail. Par exemple, un modèle peut être inscrit auprès de n’importe quel espace de travail et déployé sur n’importe quel point de terminaison.
  • Les ressources, telles que le calcul, le travail et les points de terminaison sont des entités temporaires spécifiques à l’espace de travail. Par exemple, un point de terminaison en ligne a un URI de scoring propre à une instance spécifique dans un espace de travail spécifique. De même, un travail s’exécute pendant une durée connue, et génère des journaux et des métriques lors de chaque exécution.

Les ressources se prêtent à être stockées dans un référentiel central et utilisées dans différents espaces de travail, éventuellement dans différentes régions. Les ressources sont spécifiques à l’espace de travail.

Les registres Azure Machine Learning vous permettent de créer et d’utiliser ces ressources dans différents espaces de travail. Les registres prennent en charge la réplication multirégion pour un accès à faible latence aux ressource. Vous pouvez donc utiliser des ressources dans des espaces de travail situés dans différentes régions Azure. La création d’un registre approvisionne les ressources Azure nécessaires pour faciliter la réplication. Tout d’abord, les comptes de stockage d’objets blob Azure dans chaque région prise en charge. Deuxièmement, un seul Azure Container Registry avec réplication activée pour chaque région prise en charge.

Diagramme des relations entre les ressources dans l’espace de travail et le Registre.

Prérequis

Avant de suivre les étapes décrites dans cet article, vérifiez que vous disposez des composants requis suivants :

Conseil

Si vous utilisez une version antérieure de l’extension ml pour l’interface CLI, vous devez peut-être la mettre à jour vers la dernière version avant d’utiliser cette fonctionnalité. Pour mettre à jour vers la version la plus récente, utilisez la commande suivante :

az extension update -n ml

Pour plus d’informations, consultez Installer, configurer et utiliser l’interface CLI (v2).

Préparer la création d’un registre

Vous devez décider soigneusement des informations suivantes avant de continuer à créer un registre :

Choisir un nom

Prenez en compte les facteurs suivants avant de choisir un nom.

  • Les registres sont destinés à faciliter le partage des ressources ML entre les équipes de votre organisation dans tous les espaces de travail. Choisissez un nom qui reflète l’étendue de partage. Le nom doit vous aider à identifier votre groupe, votre division ou votre organisation.
  • Le nom du registre est unique pour votre organisation (tenant Microsoft Entra). Par exemple, vous pourriez préfixer votre nom d’équipe ou d’organisation, et éviter les noms génériques.
  • Les noms de registre ne peuvent pas être modifiés une fois créés, car ils sont utilisés dans des ID de modèles, d’environnements et de composants référencés dans le code.
    • La longueur peut être de 2 à 32 caractères.
    • Les caractères alphanumériques, le trait de soulignement, le trait d’union sont autorisés. Aucun autre caractère spécial. Aucun espace : les noms de Registre font partie des ID de modèle, d’environnement et de composant qui peuvent être référencés dans le code.
    • Le nom peut contenir un trait de soulignement ou un trait d’union, mais ne peut pas commencer par un trait de soulignement ou un trait d’union. Doit commencer par un caractère alphanumérique.

Choisir des régions Azure

Les registres permettent le partage de ressources entre les espaces de travail. Pour ce faire, un registre réplique le contenu dans plusieurs régions Azure. Vous devez définir la liste des régions prises en charge par un registre lors de la création du registre. Créez une liste de toutes les régions dans lesquelles vous disposez d’espaces de travail aujourd’hui et prévoyez de les ajouter prochainement. Cette liste est un bon ensemble de régions par lequel commencer. Lors de la création d’un registre, vous définissez une région primaire et un ensemble d’autres régions. La région primaire ne peut pas être modifiée après la création du registre, mais les autres régions peuvent être mises à jour ultérieurement.

Vérifiez les autorisations

Vérifiez que vous êtes le « Propriétaire » ou « Contributeur » de l’abonnement ou du groupe de ressources dans lequel vous envisagez de créer le Registre. Si vous n’avez pas l’un de ces rôles intégrés, passez en revue la section relative aux autorisations à la fin de cet article.

Créer un registre

Créez la définition YAML et nommez-la registry.yml.

Notes

L’emplacement principal est répertorié deux fois dans le fichier YAML. Dans l’exemple suivant, eastus est répertorié en premier comme emplacement principal (élément location) et également dans la liste replication_locations.

name: DemoRegistry1
tags:
  description: Basic registry with one primary region and to additional regions
  foo: bar
location: eastus
replication_locations:
  - location: eastus
  - location: eastus2
  - location: westus

Pour plus d’informations sur la structure du fichier YAML, consultez l’article de référence YAML du Registre.

Conseil

En règle générale, vous voyez des noms complets de régions Azure, telles que « USA Est » dans le portail Azure, mais la création du registre YAML nécessite des noms de régions sans espaces ni lettres minuscules. Utilisez az account list-locations -o table pour rechercher le mappage des noms complets de région au nom de la région qui peut être spécifiée dans YAML.

Exécutez la commande create du Registre.

az ml registry create --file registry.yml

Spécifier le type de compte de stockage et la référence SKU (facultatif)

Conseil

La spécification du type de compte de stockage Azure et de la référence SKU est disponible uniquement à partir d’Azure CLI.

Le stockage Azure offre plusieurs types de comptes de stockage avec des fonctionnalités et tarifs différents. Pour plus d’informations, consultez l’article Types de comptes de stockage. Une fois que vous avez identifié la référence SKU de compte de stockage optimale qui correspond le mieux à vos besoins, recherchez la valeur du type de référence SKU approprié. Dans le fichier YAML, utilisez le type de référence SKU sélectionné comme valeur du champ storage_account_type. Ce champ se trouve sous chaque location de la liste replication_locations.

Ensuite, décidez si vous souhaitez utiliser un compte de stockage Blob Azure ou Azure Data Lake Storage Gen2. Pour créer Azure Data Lake Storage Gen2, définissez storage_account_hns sur true. Créer un stockage Blob Azure, définissez storage_account_hns sur false. Le champ storage_account_hns se trouve sous chaque location de la liste replication_locations.

Notes

La partie hns de storage_account_hns fait référence à la fonctionnalité d’espace de noms hiérarchique des comptes Azure Data Lake Storage Gen2.

L’exemple de fichier YAML suivant illustre cette configuration de stockage avancée :

name: DemoRegistry2
tags:
  description: Registry with additional configuration for storage accounts
  foo: bar
location: eastus
replication_locations:
  - location: eastus
    storage_config:
      storage_account_hns: False
      storage_account_type: Standard_LRS
  - location: eastus2
    storage_config:
      storage_account_hns: False
      storage_account_type: Standard_LRS
  - location: westus
    storage_config:
      storage_account_hns: False
      storage_account_type: Standard_LRS

Ajouter des utilisateurs au Registre

Déterminez si vous souhaitez autoriser les utilisateurs à utiliser uniquement des ressources (modèles, environnements et composants) à partir du registre, ou à utiliser et créer des ressources dans le registre. Passez en revue les étapes pour attribuer un rôle si vous n’êtes pas familiarisé avec la gestion des autorisations à l’aide du contrôle d’accès en fonction du rôle Azure.

Autoriser les utilisateurs à utiliser des ressources à partir du Registre

Pour permettre à un utilisateur de lire uniquement les ressources, vous pouvez accorder à l’utilisateur le rôle Lecteur intégré. Si vous ne souhaitez pas utiliser le rôle intégré, créez un rôle personnalisé avec les autorisations suivantes

Autorisation Description
Microsoft.MachineLearningServices/registries/read Permet à l’utilisateur de répertorier les registres et d’obtenir les métadonnées du Registre
Microsoft.MachineLearningServices/registries/assets/read Permet à l’utilisateur de parcourir les ressources et d’utiliser les ressources dans un espace de travail

Autoriser les utilisateurs à créer et utiliser des ressources à partir du Registre

Pour permettre à l’utilisateur de lire et de créer ou de supprimer des ressources, accordez l’autorisation d’écriture suivante en plus des autorisations de lecture précédentes.

Autorisation Description
Microsoft.MachineLearningServices/registries/assets/write Créer des ressources dans des registres
Microsoft.MachineLearningServices/registries/assets/delete Supprimer des ressources dans des registres

Avertissement

Les rôles Contributeur et Propriétaire intégrés permettent aux utilisateurs de créer, mettre à jour et supprimer des registres. Vous devez créer un rôle personnalisé si vous souhaitez que l’utilisateur crée et utilise des ressources à partir du Registre, mais pas créer ni mettre à jour des registres. Passez en revue les rôles personnalisés pour savoir comment créer des rôles personnalisés à partir d’autorisations.

Autoriser les utilisateurs à créer et gérer des registres

Pour permettre aux utilisateurs de créer, de mettre à jour et de supprimer des registres, accordez-leur le rôle Contributeur ou Propriétaire intégré. Si vous ne souhaitez pas utiliser de rôles intégrés, créez un rôle personnalisé avec les autorisations suivantes, en plus de toutes les autorisations ci-dessus pour lire, créer et supprimer des ressources dans le registre.

Autorisation Description
Microsoft.MachineLearningServices/registries/write Permet à l’utilisateur de créer ou de mettre à jour des registres
Microsoft.MachineLearningServices/registries/delete Permet à l’utilisateur de supprimer des registres