Présentation de Vertex AI Model Monitoring

Cette page vous offre un aperçu de Vertex AI Model Monitoring. Pour activer la surveillance des modèles Vertex AI, consultez la page Utiliser la surveillance des modèles.

Aperçu

Un modèle déployé en production fonctionne mieux sur les données d'entrée de prédiction semblables aux données d'entraînement. Lorsque les données d'entrée diffèrent de celles utilisées pour entraîner le modèle, les performances du modèle peuvent se dégrader, même si le modèle n'a pas changé.

Pour vous aider à maintenir les performances d'un modèle, Model Monitoring surveille les données d'entrée de prédiction du modèle pour connaître les décalages et les écarts :

  • Un décalage entraînement/diffusion se produit lorsque la distribution des données de caractéristiques en production est différente de la distribution des données de caractéristique utilisée pour entraîner le modèle. Si les données d'entraînement d'origine sont disponibles, vous pouvez activer la détection des écarts pour surveiller les décalages d'entraînement/diffusion de vos modèles.

  • Un écart de prédiction se produit lorsque la distribution des données de caractéristique dans la production est très significative au fil du temps. Si les données d'entraînement d'origine ne sont pas disponibles, vous pouvez activer la détection de écarts pour surveiller les changements des données entrées au fil du temps.

Vous pouvez activer la détection des écarts et des décalages.

Model Monitoring accepte la détection des écarts et des décalages de caractéristiques pour les caractéristiques catégorielles et numériques.

  • Les caractéristiques de type catégoriel sont des données limitées par le nombre de valeurs possibles, généralement regroupées par propriétés qualitatives. Par exemple, des catégories telles que le type de produit, le pays ou le type de client.

  • Les caractéristiques numériques sont des données qui peuvent être n'importe quelle valeur numérique. Par exemple, le poids et la hauteur.

Calculer le décalage entraînement/diffusion et l'écart de prédiction

La surveillance de modèles utilise le processus suivant pour surveiller une caractéristique pour la différence entraînement/diffusion ou l'écart de prédiction :

  1. Calculez la distribution statistique de référence:

    • Pour la détection des écarts, la référence correspond à la distribution statistique des valeurs de la caractéristique dans les données d'entraînement.

    • Pour la détection des écarts, la référence correspond à la distribution statistique des valeurs de la caractéristique observée en production dans un passé récent.

    Les distributions des caractéristiques catégorielles et numériques sont calculées comme suit:

    • Pour les caractéristiques catégorielles, la distribution calculée est le nombre ou le pourcentage d'instances de chaque valeur possible de la caractéristique.

    • Pour les caractéristiques numériques, la surveillance du modèle divise la plage de valeurs de caractéristiques possibles en intervalles égaux et calcule le nombre ou le pourcentage de valeurs de caractéristiques qui tombe dans chaque intervalle.

  2. Calculez la distribution statistique des dernières valeurs de caractéristiques observées en production.

  3. Comparez la distribution des dernières valeurs de caractéristiques en production à la distribution de référence en calculant un score de distance:

    • Pour les caractéristiques de type catégoriel, le score de distance est calculé à l'aide de la distance L-infinité.

    • Pour les caractéristiques numériques, le score de distance est calculé à l'aide de la diversité Jensen-Shannon.

  4. Lorsque le score de distance entre deux distributions statistiques dépasse le seuil que vous spécifiez, la surveillance du modèle identifie l'anomalie en tant que décalage ou écart.

L'exemple suivant montre un décalage ou un écart entre la distribution de référence et la dernière distribution d'une caractéristique catégorielle:

Distribution de référence

Exemple de distribution de caractéristiques d'un ensemble de données de référence.

Dernière distribution

Exemple de distribution de caractéristiques du dernier ensemble de données.

L'exemple suivant montre un décalage ou écart entre la distribution de référence et la dernière distribution d'une caractéristique numérique:

Distribution de référence

Exemple de distribution de caractéristiques d'un ensemble de données de référence.

Dernière distribution

Exemple de distribution de caractéristiques du dernier ensemble de données.

Éléments à prendre en compte lors de l'utilisation de la surveillance des modèles

  • Pour plus de rentabilité, vous pouvez définir un taux d'échantillonnage des requêtes de prédiction pour surveiller un sous-ensemble d'entrées de production d'un modèle.

  • Vous pouvez définir une fréquence à laquelle les entrées récemment enregistrées d'un modèle déployé sont surveillées pour détecter tout écart ou décalage. La fréquence de surveillance détermine la période, ou taille de la fenêtre de surveillance, des données journalisées analysées à chaque exécution de la surveillance.

  • Vous pouvez spécifier des seuils d'alerte pour chaque fonctionnalité que vous souhaitez surveiller. Une alerte est consignée lorsque la distance statistique entre la distribution des caractéristiques d'entrée et la référence correspondante dépasse le seuil spécifié. Par défaut, chaque caractéristique catégorielle et numérique est surveillée, avec des valeurs de seuil de 0.3.

  • Un point de terminaison de prédiction en ligne peut héberger plusieurs modèles. Lorsque vous activez la détection d'écart ou de décalage sur un point de terminaison, les paramètres de configuration suivants sont partagés sur tous les modèles hébergés sur ce point de terminaison :

    • Type de détection
    • Fréquence de surveillance
    • Fraction des requêtes d'entrée surveillées

    Pour les autres paramètres de configuration, vous pouvez définir des valeurs différentes pour chaque modèle.

Analyser des données à l'aide de schémas d'entrée

Pour obtenir les valeurs de caractéristiques, la surveillance de modèle analyse la charge utile des requêtes de prédiction en ligne adressées au modèle. Les schémas d'entrée indiquent à la surveillance des modèles comment analyser correctement la charge utile d'entrée.

Les schémas d'entrée sont automatiquement analysés pour les modèles AutoML, mais vous devrez peut-être fournir un schéma d'entrée pour les modèles entraînés personnalisés qui n'utilisent pas de format d'entrée clé-valeur.

Analyse automatique du schéma

Une fois la détection d'écarts ou de décalage activée, la surveillance du modèle peut généralement analyser automatiquement le schéma d'entrée. Pour l'analyse automatique du schéma, la surveillance des modèles analyse les 1 000 premières requêtes d'entrée pour déterminer le schéma.

L'analyse automatique de schéma fonctionne mieux lorsque les requêtes d'entrée sont formatées en tant que paires clé/valeur, où "key" est le nom de la caractéristique et "value" est la valeur de la caractéristique. Exemple :

"key":"value"
{"TenYearCHD":"0", "glucose":"5.4", "heartRate":"1", "age":"30",
"prevalentStroke":"0", "gender":"f", "ethnicity":"latin american"}

Si les entrées ne sont pas au format "key":"value", la surveillance de modèle tente d'identifier le type de données de chaque caractéristique et attribue automatiquement un nom de caractéristique par défaut à chaque entrée.

Schémas d'instances personnalisés pour l'analyse des entrées

Vous pouvez fournir votre propre schéma d'entrée lorsque vous créez une tâche de surveillance de votre modèle pour vous assurer que cette fonctionnalité analyse correctement les entrées de votre modèle.

Ce schéma est appelé schéma d'instance d'analyse. Le fichier de schéma spécifie le format de la charge utile d'entrée, les noms de chaque caractéristique et le type de chaque caractéristique.

Le schéma doit être écrit sous forme de fichier YAML au format schéma d'Open API. Exemple :

type: object
properties:
  BMI:
    type: number
  BPMeds:
    type: string
  TenYearCHD:
    type: string
  age:
    type: string
  cigsPerDay:
    type: array
    items:
      type: string
required:
- age
- BMI
- TenYearCHD
- cigsPerDay
- BPMeds
  • type indique si votre requête de prédiction est l'un des formats suivants :

    • objet : paires clé/valeur
    • tableau : type tableau
    • chaîne : csv-string
  • properties indique le type de chaque caractéristique.

  • Si la requête est au format tableau ou chaîne au format CSV, spécifiez l'ordre dans lequel les caractéristiques sont répertoriées dans chaque requête sous le champ required.

Si votre requête de prédiction est au format tableau ou chaîne csv, vous devez représenter toutes les caractéristiques manquantes en tant que valeurs nulles. Par exemple, considérons une requête de prédiction avec cinq caractéristiques:

[feature_a, feature_b, feature_c, feature_d, feature_e]

Si feature_c autorise les valeurs manquantes, un exemple de requête manquante feature_c serait : {[1, 2, , 4, 6]}. La longueur de la liste est toujours de 5, avec une valeur nulle au milieu.

Étape suivante