Gérer une instance de calcul Azure Machine Learning

S’APPLIQUE À :Extension Azure ML CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure-ai-ml v2 (préversion)

Découvrez comment gérer une instance de calcul dans votre espace de travail Azure Machine Learning.

Utilisez une instance de calcul comme environnement de développement complètement configuré et managé dans le cloud. Pour le développement et le test, vous pouvez également utiliser l’instance en tant que cible de calcul d’entraînement. Une instance de calcul peut exécuter plusieurs travaux en parallèle et dispose d’une file d’attente de travaux. Parce qu’il s’agit d’un environnement de développement, une instance de calcul ne peut pas être partagée avec d’autres utilisateurs dans votre espace de travail.

Dans cet article, vous apprenez à démarrer, arrêter, redémarrer et supprimer une instance de calcul. Consultez Créer une instance de calcul Azure Machine Learning pour apprendre à créer une instance de calcul.

Notes

Cet article présente l’interface CLI v2 dans les sections ci-dessous. Si vous utilisez toujours l’interface CLI v1, consultez Créer un cluster de calcul Azure Machine Learning avec l’Interface CLI v1.

Prérequis

  • Un espace de travail Azure Machine Learning. Pour plus d’informations, voir la page Créer un espace de travail Azure Machine Learning. Dans le compte de stockage, l’option « Autoriser l’accès à la clé du compte de stockage » doit être activée pour une création réussie de l’instance de calcul.

  • L’extension Azure CLI pour Machine Learning Service (v2), le SDK Python Azure Machine Learning (v2) ou l’extension Visual Studio Code Azure Machine Learning.

  • Si vous utilisez le SDK Python, configurez votre environnement de développement avec un espace de travail. Une fois votre environnement configuré, attachez-le à l’espace de travail dans votre script Python :

    S’APPLIQUE À : Kit de développement logiciel (SDK) Python azure-ai-mlv2 (actuelle)

    Exécutez ce code pour vous connecter à votre espace de travail Azure ML.

    Remplacez votre ID d’abonnement, le nom du groupe de ressources et le nom de l’espace de travail dans le code ci-dessous. Pour rechercher ces valeurs :

    1. Connectez-vous à Azure Machine Learning Studio.
    2. Ouvrez l’espace de travail que vous souhaitez utiliser.
    3. Dans la barre d’outils supérieure droite d’Azure Machine Learning Studio, sélectionnez le nom de votre espace de travail.
    4. Copiez la valeur de l’espace de travail, du groupe de ressources et de l’ID d’abonnement dans le code.
    5. Si vous utilisez un notebook dans studio, vous devez copier une valeur, fermer la zone et coller, puis revenir pour la suivante.
    # 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 est un gestionnaire de l’espace de travail que vous utiliserez pour gérer d’autres ressources et travaux.

Gérer

Démarrez, arrêtez, redémarrez et supprimez une instance de calcul. Une instance de calcul ne fait pas automatiquement de scale-down. Veillez donc à arrêter la ressource pour éviter des frais récurrents. L’arrêt d’une instance de calcul a pour effet de la libérer. Ensuite, redémarrez-la quand vous en avez besoin. Si l’arrêt de l’instance de calcul met fin à la facturation des heures de calcul, vous êtes encore facturé pour le disque, l’IP publique et l’équilibreur de charge standard.

Vous pouvez activer l’arrêt automatique pour arrêter automatiquement l’instance de calcul après une heure spécifiée.

Vous pouvez également créer une planification pour que l’instance de calcul démarre et s’arrête automatiquement en fonction d’une heure et d’un jour de la semaine.

Conseil

L’instance de calcul a un disque de système d’exploitation de 120 Go. Si vous ne disposez pas de suffisamment d’espace disque, utilisez le terminal pour effacer au moins 1 à 2 Go avant d’arrêter ou redémarrer l’instance de calcul. N’arrêtez pas l’instance de calcul en émettant la commande sudo shutdown depuis le terminal. La taille du disque temporaire sur l’instance de calcul dépend de la taille de machine virtuelle choisie et est montée sur/mnt.

S’APPLIQUE À : Kit de développement logiciel (SDK) Python azure-ai-mlv2 (actuelle)

Dans les exemples ci-dessous, le nom de l’instance de calcul est stocké dans la variable ci_basic_name.

  • Obtenir l’état

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Get compute
    ci_basic_state = ml_client.compute.get(ci_basic_name)
  • Arrêter

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Stop compute
    ml_client.compute.begin_stop(ci_basic_name).wait()
  • Démarrer

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Start compute
    ml_client.compute.begin_start(ci_basic_name).wait()
  • Redémarrer

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Restart compute
    ml_client.compute.begin_restart(ci_basic_name).wait()
  • Supprimer

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    ml_client.compute.begin_delete(ci_basic_name).wait()

Le contrôle d'accès en fonction du rôle Azure (Azure RBAC) vous permet de contrôler les utilisateurs de l'espace de travail qui peuvent créer, supprimer, démarrer ou arrêter une instance de calcul. Tous les utilisateurs ayant les rôles Contributeur et Propriétaire dans l’espace de travail sont autorisés à créer, supprimer, démarrer, arrêter et redémarrer des instances de calcul dans tout l’espace de travail. Toutefois, seul le créateur d’une instance de calcul spécifique, ou l’utilisateur affecté si elle a été créée en son nom, est autorisé à accéder à Jupyter, JupyterLab et RStudio sur cette instance de calcul. Une instance de calcul est dédiée à un seul utilisateur qui a un accès racine. Cet utilisateur a accès à Jupyter/JupyterLab/RStudio s’exécutant sur l’instance. L’instance de calcul a une connexion mono-utilisateur et toutes les actions utilisent l’identité de cet utilisateur pour Azure RBAC et pour l’attribution des tâches d’expérience. L’accès SSH est contrôlé par le biais d’un mécanisme de clé publique/privée.

Ces actions peuvent être contrôlées par Azure RBAC :

  • 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

Pour créer une instance de calcul, vous avez besoin d’autorisations pour les actions suivantes :

  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action

Audit et observation de la version de l’instance de calcul

Une fois déployée, une instance de calcul n’est pas mise à jour automatiquement. Microsoft publie de nouvelles images de machine virtuelle tous les mois. Pour connaître les options permettant de rester à jour avec la dernière version, consultez Gestion des vulnérabilités.

Pour savoir si la version du système d’exploitation d’une instance est à jour, vous pouvez interroger sa version en utilisant l’interface CLI, le SDK ou l’interface utilisateur de Studio.

S’APPLIQUE À : Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)

from azure.ai.ml.entities import ComputeInstance, AmlCompute

# Display operating system version
instance = ml_client.compute.get("myci")
print instance.os_image_metadata

Pour plus d’informations sur les classes, les méthodes et les paramètres utilisés dans cet exemple, consultez les documents de référence suivants :

Les administrateurs informatiques peuvent utiliser Azure Policy pour surveiller l’inventaire des instances dans les espaces de travail du portail de conformité Azure Policy. Affectez la stratégie intégrée Auditer les instances de calcul Azure Machine Learning avec un système d’exploitation obsolète sur un abonnement Azure ou une étendue de groupe d’administration Azure.

Étapes suivantes