Pour démarrer un job de surveillance, Model Monitoring a besoin de connaître le schéma de votre ensemble de données tabulaire afin d'analyser correctement la charge utile d'entrée.
Pour les modèles AutoML, Model Monitoring analyse automatiquement le schéma, car Vertex AI a déjà accès à vos données d'entraînement.
Pour les modèles entraînés personnalisés :
Model Monitoring peut analyser automatiquement des schémas pour les modèles utilisant un format d'entrée clé-valeur standard.
Pour les modèles entraînés personnalisés qui n'utilisent pas de format d'entrée clé-valeur, vous devrez peut-être fournir un schéma lors de la création de votre job de surveillance.
La génération de schéma varie selon que vous activez Model Monitoring pour un point de terminaison de prédiction en ligne ou pour les prédictions par lot.
Analyse de schéma pour les points de terminaison de prédiction en ligne
Pour les prédictions par lot, vous pouvez laisser Model Monitoring analyser automatiquement le schéma ou importer un schéma lorsque vous créez un job de surveillance.
Analyse automatique du schéma
Une fois que vous avez activé la détection des écarts ou des dérives pour un point de terminaison en ligne, Model Monitoring 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
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 Open API. L'exemple suivant concerne une requête de prédiction au format object
:
type: object properties: age: type: string BMI: type: number TenYearCHD: type: string cigsPerDay: type: array items: type: string BPMeds: type: string required: - age - BMI - TenYearCHD - cigsPerDay - BPMeds
type
indique si votre requête de prédiction est l'un des formats suivants :object
: paires clé/valeurarray
: semblable à un tableaustring
: chaîne CSV
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.
Analyse de schéma pour les prédictions par lot
Pour les prédictions par lot, vous pouvez laisser Model Monitoring analyser automatiquement le schéma ou importer un schéma lorsque vous créez une tâche de surveillance.
Analyse automatique du schéma
Si vous ne fournissez pas de schéma lors de la création du job de surveillance, Model Monitoring déduit les types de données de vos caractéristiques et génère votre schéma en fonction de vos données d'entraînement.
Model Monitoring doit également savoir quelle caractéristique est la colonne cible, qui correspond à la caractéristique en cours de prédiction. La colonne cible est exclue du schéma et de la métrique de distorsion des caractéristiques. Vous pouvez spécifier la colonne cible lors de la création d'un job de surveillance.
Spécification de la colonne cible
Si vous ne spécifiez pas la colonne cible lors de la création d'un job de surveillance, Model Monitoring ajoute une étiquette au dernier nom de la caractéristique dans vos données d'entraînement en tant que colonne cible.
Par exemple, Model Monitoring ajoute le libellé column_c
dans ces données d'entraînement CSV en tant que colonne cible, car column_c
figure à la fin de la première ligne:
column_a, column_b, column_d, column_c 1,"a", 2, "c" 2,"b", 342, "d"
De même, Model Monitoring ajoute l'étiquette column_c
dans ce fichier JSONL en tant que colonne cible, car column_c
se trouve à la fin de la première ligne :
{"column_a": 1, "column_b": "a", "column_d": 2, "column_c": "c" } {"column_a": 2, "column_b": "b", "column_c": "d", "column_d": 342}
Dans les deux exemples, le schéma final ne contient que column_a
, column_b
et column_d
.
Schémas personnalisés
Votre schéma personnalisé 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 avec la syntaxe Open API. L'exemple suivant concerne une requête de prédiction au format object
:
type: object properties: age: type: string BMI: type: number TenYearCHD: type: string cigsPerDay: type: array items: type: string BPMeds: type: string required: - age - BMI - TenYearCHD - cigsPerDay - BPMeds
Model Monitoring calcule le décalage de caractéristiques en fonction des lignes JSON de la sortie de la prédiction par lot. Si votre type de données contient un tableau, la longueur du tableau dans les données d'entrée doit être égale au nombre de caractéristiques spécifiées dans le fichier yaml. Sinon, Model Monitoring exclut l'instance de prédiction ayant une longueur de tableau incorrecte de la fonctionnalité de calcul du décalage de caractéristiques.
Par exemple, les tableaux des types de données suivants contiennent deux caractéristiques :
Tableau :
{[[1, 2]]}
"Clé"/"Valeur" :
{"key": 0, "values": [[1, 2]]}
Le schéma correspondant doit également spécifier deux caractéristiques :
type: object properties: name: type: string age: type: number required: - name - age
Étapes suivantes
- Activez la détection des écarts et des décalages pour vos modèles.
- Essayez l'exemple de notebook dans Colab ou affichez-le sur GitHub.