Superviser Azure Machine Learning

Lorsque vous avez des applications critiques et des processus métier basés sur des ressources Azure, vous voulez superviser ces ressources pour connaître leur disponibilité, leurs performances et leur fonctionnement. Cet article décrit les données de supervision générées par Azure Machine Learning, ainsi que l’analyse et les alertes sur ces données à l’aide d’Azure Monitor.

Conseil

Les informations contenues dans ce document sont principalement destinées aux administrateurs, car elles décrivent la supervision du service Azure Machine Learning et des services Azure associés. Si vous êtes scientifique des données ou développeur et que vous voulez superviser des informations spécifiques aux exécutions d’entraînement de votre modèle, consultez les documents suivants :

Si vous souhaitez analyser les informations générées par des modèles déployés sur des points de terminaison en ligne, consultez Analyser les points de terminaison en ligne.

Qu’est-ce qu’Azure Monitor ?

Azure Machine Learning crée des données de supervision à l’aide d’Azure Monitor, qui est un service de supervision de pile complète dans Azure. Azure Monitor fournit un ensemble complet de fonctionnalités pour superviser vos ressources Azure. Il peut également superviser des ressources dans d’autres clouds et localement.

Commencez avec l’article Supervision de ressources Azure avec Azure Monitor, qui décrit les concepts suivants :

  • Qu’est-ce qu’Azure Monitor ?
  • Coûts associés à la supervision
  • Analyse des données collectées dans Azure
  • Configuration de la collecte des données
  • Outils standard dans Azure pour l’analyse et la génération d’alertes sur les données analysées

Les sections suivantes s’appuient sur cet article en décrivant les données spécifiques collectées pour Azure Machine Learning. Ces sections fournissent également des exemples de configuration de la collecte de données et d’analyse de ces données à l’aide des outils Azure.

Conseil

Pour comprendre les coûts associés à Azure Monitor, consultez Coût et utilisation d’Azure Monitor. Pour comprendre le temps nécessaire à l’affichage de vos données dans Azure Monitor, consultez Durée d’ingestion des données de journal.

Supervision de données à partir d’Azure Machine Learning

Azure Machine Learning collecte les mêmes types de données de supervision que les autres ressources Azure, qui sont décrites dans Supervision des données à partir de ressources Azure.

Pour obtenir une référence détaillée des journaux et des métriques créés par Azure Machine Learning, consultez Informations de référence sur les données de supervision Azure Machine Learning.

Collecte et routage

Conseil

Les journaux sont regroupés en groupes de catégories. Les groupes de catégories sont une collection de différents journaux d’activité pour vous aider à atteindre différents objectifs de surveillance. Ces groupes sont définis dynamiquement et peuvent changer au fil du temps à mesure que de nouveaux journaux de ressources deviennent disponibles et sont ajoutés au groupe de catégories. Notez que cela peut entraîner des frais supplémentaires.

Le groupe de catégories de journaux de ressources audit vous permet de sélectionner les journaux de ressources nécessaires pour l’audit de votre ressource. Si vous souhaitez obtenir plus d’informations, veuillez consulter la rubrique Paramètres de diagnostic dans les journaux de ressources d’Azure Monitor.

Les métriques de plateforme et le journal d’activité sont collectés et stockés automatiquement, mais ils peuvent être acheminés vers d’autres emplacements à l’aide d’un paramètre de diagnostic.

Les journaux de ressources ne sont pas collectés ni stockés tant que vous n’avez pas créé un paramètre de diagnostic et que vous ne les acheminez pas vers un ou plusieurs emplacements. Quand vous devez gérer plusieurs espaces de travail Azure Machine Learning, vous pouvez router les journaux de tous les espaces de travail vers la même destination de journalisation et interroger tous les journaux à partir d’un emplacement unique.

Pour plus d’informations sur la création d’un paramètre de diagnostic avec le portail Azure, l’interface Azure CLI ou PowerShell, consultez Créer un paramètre de diagnostic pour collecter des journaux et métriques de plateforme dans Azure. Lorsque vous créez un paramètre de diagnostic, vous spécifiez les catégories de journaux à collecter. Les catégories pour Azure Machine Learning sont répertoriées dans Informations de référence sur les données de monitoring Azure Machine Learning.

Important

L’activation de ces paramètres nécessite des services Azure supplémentaires (compte de stockage, hub d’événements ou Log Analytics), ce qui peut augmenter vos coûts. Pour calculer un coût estimé, consultez la rubrique Calculatrice de prix Azure.

Vous pouvez configurer les journaux suivants pour Azure Machine Learning :

Category Description
AmlComputeClusterEvent Événements provenant des clusters de calcul Azure Machine Learning.
AmlComputeClusterNodeEvent (déconseillé) Événements provenant des nœuds d’un cluster de calcul Azure Machine Learning.
AmlComputeJobEvent Événements provenant des travaux en cours d’exécution sur la capacité de calcul Azure Machine Learning.
AmlComputeCpuGpuUtilization Les services de ML calculent les journaux d’utilisation de l’UC et du GPU.
AmlOnlineEndpointTrafficLog Journaux du trafic vers les points de terminaison en ligne.
AmlOnlineEndpointConsoleLog Journaux que les conteneurs pour les points de terminaison en ligne écrivent dans la console.
AmlOnlineEndpointEventLog Journaux des événements concernant le cycle de vie des points de terminaison en ligne.
AmlRunStatusChangedEvent Modifications de l’état d’exécution ML.
ModelsChangeEvent Événements lors de l’accès à un modèle ML (création ou suppression).
ModelsReadEvent Événements lors de la lecture d’un modèle ML.
ModelsActionEvent Événements lors de l’accès à un modèle ML.
DeploymentReadEvent Événements lors de la lecture d’un déploiement de modèle.
DeploymentEventACI Événements quand un déploiement de modèle se produit sur ACI (beaucoup de messages).
DeploymentEventAKS Événements quand un déploiement de modèle se produit sur ACI (beaucoup de messages).
InferencingOperationAKS Événements liés à l’inférence ou à une opération associée sur le type de calcul AKS.
InferencingOperationACI Événements liés à l’inférence ou à une opération associée sur le type de calcul ACI.
EnvironmentChangeEvent Événements liés aux configurations d’environnement ML (création ou suppression).
EnvironmentReadEvent Événements lors de la lecture de configurations d’environnement ML (beaucoup de messages).
DataLabelChangeEvent Événements lors de l’accès à des étiquettes de données ou à leurs projets (création ou suppression).
DataLabelReadEvent Événements lors de la lecture des étiquettes de données ou de ses projets.
ComputeInstanceEvent Événements lors de l’accès à une instance Capacité de calcul ML (beaucoup de messages).
DataStoreChangeEvent Événements lors de la création ou de la suppression de magasin de données ML.
DataStoreReadEvent Événements lors de la lecture de magasin de données ML.
DataSetChangeEvent Événements lors de la création ou de la suppression de magasin de données ML.
DataSetReadEvent Événements lors de la lecture de magasin de données ML.
PipelineChangeEvent Événements lors de la création ou de la suppression d’un projet de pipeline ML ou d’un point de terminaison ou de module.
PipelineReadEvent Événements lors de la lecture d’un projet de pipeline ML ou d’un point de terminaison ou de module.
RunEvent Événements lors de la création ou la suppression d’expériences ML.
RunReadEvent Événements lors de la lecture d’expériences ML.

Notes

À partir de février 2022, la catégorie AmlComputeClusterNodeEvent est dépréciée. Nous vous recommandons d’utiliser à la place la catégorie AmlComputeClusterEvent.

Notes

Quand vous activez les métriques dans un paramètre de diagnostic, les informations de dimension ne sont actuellement pas incluses dans les informations envoyées à un compte de stockage, un hub d’événements ou Log Analytics.

Les métriques et les journaux que vous pouvez collecter sont décrits dans les sections suivantes.

Analyse des métriques

Vous pouvez analyser les métriques d’Azure Machine Learning ainsi que celles d’autres services Azure en ouvrant Métriques dans le menu Azure Monitor. Consultez Analyser les métriques avec l’Explorateur de métriques Azure Monitor pour plus d’informations sur l’utilisation de cet outil.

Pour obtenir la liste des métriques de plateforme collectées, consultez Informations de référence sur l’analyse des données Azure Machine Learning – Métriques.

Toutes les métriques d’Azure Machine Learning se trouvent dans l’espace de noms Espace de travail de service Machine Learning.

Metrics Explorer with Machine Learning Service Workspace selected

Pour référence, vous pouvez voir une liste de toutes les métriques de ressources prises en charge dans Azure Monitor.

Conseil

Les données des métriques d’Azure Monitor sont disponibles pendant 90 jours. Toutefois, la création de graphiques ne permet de visualiser que 30 jours. Par exemple, si vous souhaitez visualiser une période de 90 jours, vous devez la diviser en 3 graphiques de 30 jours sur la période de 90 jours en question.

Filtrage et fractionnement

Pour les métriques qui prennent en charge les dimensions, vous pouvez appliquer des filtres à l’aide d’une valeur de dimension. Par exemple, le filtrage Cœurs actifs pour le Nom de clustercpu-cluster.

Vous pouvez également fractionner une métrique par dimension pour comparer différents segments de celle-ci entre eux. Par exemple, le fractionnement du type d’étape de pipeline pour voir le nombre de types d’étapes utilisés dans le pipeline.

Pour plus d’informations sur le filtrage et le fractionnement, consultez Fonctionnalités avancées d’Azure Monitor.

Analyse des journaux d’activité

L’utilisation d’Azure Monitor Log Analytics vous oblige à créer une configuration de diagnostic et à activer Envoyer des informations à Log Analytics. Pour plus d’informations, consultez la section Collecte et routage.

Les données des journaux Azure Monitor sont stockées dans des tables, chacune ayant son propre ensemble de propriétés uniques. Azure Machine Learning stocke les données dans les tables suivantes :

Table de charge de travail Description
AmlComputeClusterEvent Événements provenant des clusters de calcul Azure Machine Learning.
AmlComputeClusterNodeEvent (déconseillé) Événements provenant des nœuds d’un cluster de calcul Azure Machine Learning.
AmlComputeJobEvent Événements provenant des travaux en cours d’exécution sur la capacité de calcul Azure Machine Learning.
AmlComputeInstanceEvent Événements lors de l’accès à une instance Capacité de calcul ML (lecture/écriture). La catégorie comprend : ComputeInstanceEvent (très fournie).
AmlDataLabelEvent Événements lors de l’accès à des étiquettes de données ou à leurs projets (lecture, création ou suppression). La catégorie comprend :DataLabelReadEvent,DataLabelChangeEvent.
AmlDataSetEvent Événements lors de l’accès à un jeu de données ML inscrit ou non inscrit (lecture, création ou suppression). La catégorie comprend : DataSetReadEvent,DataSetChangeEvent.
AmlDataStoreEvent Événements lors de l’accès à un magasin de données ML (lecture, création ou suppression). La catégorie comprend : DataStoreReadEvent, DataStoreChangeEvent.
AmlDeploymentEvent Événements quand un déploiement de modèle se produit sur ACI ou AKS. La catégorie comprend : DeploymentReadEvent, DeploymentEventACI, DeploymentEventAKS.
AmlInferencingEvent Événements liés à l’inférence ou à une opération associée sur le type de calcul AKS ou ACI. La catégorie comprend : InferencingOperationACI (très fournie), InferencingOperationAKS (très bavard).
AmlModelsEvent Événements lors de l’accès à un modèle ML (lecture, création ou suppression). Comprend des événements liés à l’empaquetage de modèles et de ressources en packages prêts à être générés. La catégorie comprend : ModelsReadEvent,ModelsActionEvent.
AmlPipelineEvent Événements lors de l’accès à un module, un point de terminaison ou un brouillon de pipeline ML (lecture, création ou suppression). La catégorie comprend : PipelineReadEvent, PipelineChangeEvent.
AmlRunEvent Événements lors de l’accès à des expériences ML (lecture, création ou suppression). La catégorie comprend : RunReadEvent, RunEvent.
AmlEnvironmentEvent Événements liés aux configurations d’environnement ML (lecture, création ou suppression). La catégorie comprend : EnvironmentReadEvent (très fournie), EnvironmentChangeEvent.
AmlOnlineEndpointTrafficLog Journaux du trafic vers les points de terminaison en ligne.
AmlOnlineEndpointConsoleLog Journaux que les conteneurs pour les points de terminaison en ligne écrivent dans la console.
AmlOnlineEndpointEventLog Journaux des événements concernant le cycle de vie des points de terminaison en ligne.

Notes

À compter de février 2022, le tableau AmlComputeClusterNodeEvent sera déprécié. Nous vous recommandons d’utiliser à la place le tableau AmlComputeClusterEvent.

Important

Quand vous sélectionnez Journaux dans le menu Azure Machine Learning, Log Analytics est ouvert avec l’étendue de requête définie sur l’espace de travail actuel. Cela signifie que les requêtes de journal n’incluront que les données de cette ressource. Si vous voulez exécuter une requête qui inclut des données d’autres bases de données ou des données provenant d’autres services Azure, sélectionnez Journaux dans le menu Azure Monitor. Pour plus d’informations, consultez Étendue de requête de journal et intervalle de temps dans la fonctionnalité Log Analytics d’Azure Monitor.

Pour obtenir une référence détaillée des journaux et des métriques, consultez Informations de référence sur les données de supervision Azure Machine Learning.

Exemples de requêtes Kusto

Important

Quand vous sélectionnez Journaux dans le menu Azure Machine Learning, Log Analytics est ouvert avec l’étendue de requête définie sur l’espace de travail Azure Machine Learning actuel. Cela signifie que les requêtes de journal n’incluront que les données de cette ressource. Si vous voulez exécuter une requête qui inclut des données provenant d’autres espaces de travail ou d’autres services Azure, sélectionnez Journaux dans le menu Azure Monitor. Pour plus d’informations, consultez Étendue de requête de journal et intervalle de temps dans la fonctionnalité Log Analytics d’Azure Monitor.

Voici des requêtes que vous pouvez utiliser pour vous aider à superviser vos ressources Azure Machine Learning :

  • Obtenir les travaux en échec au cours des cinq derniers jours :

    AmlComputeJobEvent
    | where TimeGenerated > ago(5d) and EventType == "JobFailed"
    | project  TimeGenerated , ClusterId , EventType , ExecutionState , ToolType
    
  • Obtenir les enregistrements pour un nom de travail spécifique :

    AmlComputeJobEvent
    | where JobName == "automl_a9940991-dedb-4262-9763-2fd08b79d8fb_setup"
    | project  TimeGenerated , ClusterId , EventType , ExecutionState , ToolType
    
  • Obtenir les événements de cluster survenus au cours des cinq derniers jours pour les clusters pour lesquels la taille de machine virtuelle est Standard_D1_V2 :

    AmlComputeClusterEvent
    | where TimeGenerated > ago(4d) and VmSize == "STANDARD_D1_V2"
    | project  ClusterName , InitialNodeCount , MaximumNodeCount , QuotaAllocated , QuotaUtilized
    
  • Récupérez les allocations de nœuds de cluster au cours des huit derniers jours :

    AmlComputeClusterEvent
    | where TimeGenerated > ago(8d) and TargetNodeCount  > CurrentNodeCount
    | project TimeGenerated, ClusterName, CurrentNodeCount, TargetNodeCount
    

Quand vous connectez plusieurs espaces de travail Azure Machine Learning au même espace de travail Log Analytics, vous pouvez interroger toutes les ressources.

  • Obtenir le nombre de nœuds en cours d’exécution entre les espaces de travail et les clusters au cours du dernier jour :

    AmlComputeClusterEvent
    | where TimeGenerated > ago(1d)
    | summarize avgRunningNodes=avg(TargetNodeCount), maxRunningNodes=max(TargetNodeCount)
             by Workspace=tostring(split(_ResourceId, "/")[8]), ClusterName, ClusterType, VmSize, VmPriority
    

Créer un tableau de bord d’analyse d’espace de travail à l’aide d’un modèle

Dans le portail Azure, un tableau de bord est un affichage ciblé et organisé de vos ressources cloud. Pour plus d’informations sur la création des tableaus de bord, consultez Créer, visualiser et gérer les alertes de métrique en utilisant Azure Monitor.

Pour déployer un exemple de tableau de bord, vous pouvez utiliser un modèle disponible publiquement. L’exemple de tableau de bord est basé sur des requêtes Kusto. Vous devez donc activer la Collecte de données Log Analytics pour votre espace de travail Azure Machine Learning avant de déployer le tableau de bord.

Alertes

Vous pouvez accéder aux alertes pour Azure Machine Learning en ouvrant Alertes à partir du menu Azure Monitor. Pour plus d’informations sur la création d’alertes, consultez Créer, afficher et gérer des alertes de métrique à l’aide d’Azure Monitor.

Le tableau suivant liste les règles d’alerte de métrique courantes et recommandées pour Azure Machine Learning :

Type d’alerte Condition Description
Échec du déploiement de modèle Type d’agrégation : Totale, Opérateur : Supérieur à, Valeur de seuil : 0 Quand un ou plusieurs déploiements de modèle ont échoué
Pourcentage d’utilisation du quota Type d’agrégation : Moyenne, Opérateur : Supérieur à, Valeur de seuil : 90 Quand le pourcentage d’utilisation du quota est supérieur à 90 %
Nœuds inutilisables Type d’agrégation : Totale, Opérateur : Supérieur à, Valeur de seuil : 0 Quand un ou plusieurs nœuds sont inutilisables

Étapes suivantes