Vertex AI fournit des métriques d'évaluation de modèle pour vous aider à déterminer les performances de vos modèles, telles que les métriques de précision et de rappel. Vertex AI calcule les métriques d'évaluation à l'aide de l'ensemble de test.
Utiliser les métriques d'évaluation de modèle
Les métriques d'évaluation d'un modèle fournissent des mesures quantitatives sur les performances de votre modèle avec l'ensemble de test. La manière dont vous interprétez et utilisez ces métriques dépend des besoins de votre entreprise et du problème que votre modèle est entraîné à résoudre. Par exemple, vous pouvez obtenir une tolérance plus faible pour les faux positifs que pour les faux négatifs, ou inversement. Ces types de questions ont une incidence sur les métriques sur lesquelles vous devez vous concentrer.
Pour en savoir plus sur l'itération de votre modèle afin d'améliorer ses performances, consultez la section Itérer sur le modèle.
Métriques d'évaluation renvoyées par Vertex AI
Vertex AI renvoie plusieurs métriques d'évaluation différentes, telles que des seuils de précision, de rappel et de confiance. Les métriques renvoyées par Vertex AI dépendent de l'objectif de votre modèle. Par exemple, Vertex AI fournit des métriques d'évaluation différentes pour un modèle de classification d'images par rapport à un modèle de détection d'objets au sein des images.
Un fichier de schéma, téléchargeable à partir d'un emplacement Cloud Storage, détermine les métriques d'évaluation fournies par Vertex AI pour chaque objectif. Les onglets suivants fournissent des liens vers les fichiers de schéma et décrivent les métriques d'évaluation pour chaque objectif de modèle.
Vous pouvez afficher et télécharger des fichiers de schéma à partir de l'emplacement Cloud Storage suivant :
gs://google-cloud-aiplatform/schema/modelevaluation/
- AuPRC : zone sous la courbe de précision/rappel, également appelée précision moyenne. Cette valeur est comprise entre zéro et un. Plus elle est élevée, plus le modèle est de bonne qualité.
- Perte logistique : entropie croisée entre les prédictions du modèle et les valeurs cibles. Cette valeur varie de zéro à l'infini. Plus elle est faible, plus le modèle est de bonne qualité.
- Seuil de confiance : score de confiance qui détermine les prédictions à renvoyer. Un modèle renvoie des prédictions d'une valeur égale ou supérieure. Un seuil de confiance élevé augmente la précision, mais diminue le rappel. Vertex AI renvoie des métriques de confiance à différentes valeurs de seuil pour montrer l'impact du seuil sur la précision et le rappel.
- Rappel : fraction des prédictions comportant cette classe que le modèle a correctement prédites. Également appelé taux de vrais positifs.
- Précision : fraction des prédictions de classification produites par le modèle qui étaient correctes.
- Matrice de confusion : une matrice de confusion indique la fréquence à laquelle un modèle prédit correctement un résultat. Pour les résultats prédits de manière incorrecte, la matrice indique ce que le modèle a prédit à la place. La matrice de confusion vous permet de comprendre où votre modèle "confond" deux résultats.
Obtenir des métriques d'évaluation
Vous pouvez obtenir un ensemble agrégé de métriques d'évaluation pour votre modèle et, pour certains objectifs, des métriques d'évaluation pour une classe ou une étiquette donnée. Les métriques d'évaluation pour une classe ou une étiquette spécifique sont également appelées tranches d'évaluation. Le contenu suivant décrit comment obtenir des métriques d'évaluation agrégées et des tranches d'évaluation à l'aide de Google Cloud Console ou de l'API.
console Google Cloud
Accédez à la page Modèles de la console Google Cloud, dans la section Vertex AI.
Dans la liste déroulante Région, sélectionnez la région dans laquelle se trouve votre modèle.
Dans la liste des modèles, cliquez sur votre modèle pour ouvrir l'onglet Évaluation correspondant.
Dans l'onglet Évaluation, vous pouvez afficher les métriques d'évaluation agrégées de votre modèle, telles que la précision moyenne et le rappel.
Si l'objectif du modèle comporte des tranches d'évaluation, la console affiche une liste d'étiquettes. Vous pouvez cliquer sur une étiquette pour afficher les métriques d'évaluation correspondantes, comme illustré dans l'exemple suivant :
(Preview) Pour chaque étiquette, vous pouvez afficher les images prédites regroupées en tant que vrais positifs, faux positifs et faux négatifs. Chaque image possède une métrique de distance L2 au carré qui mesure la similitude de l'image avec les images d'entraînement. Une image étiquetée avec un badge Outlier est relativement différente de toutes les images d'entraînement. Pour améliorer les performances du modèle, vous devez envisager d'ajouter plus d'images d'entraînement similaires aux anomalies.
API
Les requêtes API permettant d'obtenir des métriques d'évaluation sont identiques pour chaque type de données et objectif, mais les résultats sont différents. Les exemples suivants montrent la même requête, mais des réponses différentes.
Obtenir des métriques d'évaluation de modèle agrégées
Les métriques d'évaluation de modèle agrégées fournissent des informations sur le modèle dans son ensemble. Pour afficher des informations sur une tranche spécifique, répertoriez les tranches d'évaluation du modèle.
Pour afficher les métriques d'évaluation de modèle agrégées, utilisez la méthode projects.locations.models.evaluations.get
.
Vertex AI renvoie un tableau de métriques de confiance. Chaque élément affiche les métriques d'évaluation avec une valeur confidenceThreshold
différente (comprise entre 0 et 1). En affichant différentes valeurs de seuil, vous pouvez voir comment le seuil affecte d'autres métriques, telles que la précision et le rappel.
Sélectionnez un onglet correspondant à votre langue ou à votre environnement :
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région où votre modèle est stocké.
- PROJECT : l'ID de votre projet.
- MODEL_ID : ID de la ressource de modèle.
- PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.
- EVALUATION_ID : ID de l'évaluation du modèle (affiché dans la réponse).
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Répertorier toutes les tranches d'évaluation
La méthode projects.locations.models.evaluations.slices.list
répertorie toutes les tranches d'évaluation de votre modèle. Vous devez disposer de l'ID d'évaluation du modèle, que vous pouvez obtenir lorsque vous affichez les métriques d'évaluation agrégées.
Les tranches d'évaluation d'un modèle permettent de déterminer les performances du modèle sur une étiquette spécifique. Le champ value
vous indique à quelle étiquette les métriques sont destinées.
Vertex AI renvoie un tableau de métriques de confiance. Chaque élément affiche les métriques d'évaluation avec une valeur confidenceThreshold
différente (comprise entre 0 et 1). En affichant différentes valeurs de seuil, vous pouvez voir comment le seuil affecte d'autres métriques, telles que la précision et le rappel.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région où se trouve le modèle. Exemple :
us-central1
. - PROJECT : l'ID de votre projet.
- MODEL_ID : ID de votre modèle.
- EVALUATION_ID : ID de l'évaluation du modèle qui contient les tranches d'évaluation à répertorier.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Obtenir des métriques pour une seule tranche
Pour afficher les métriques d'évaluation d'une tranche, utilisez la méthode projects.locations.models.evaluations.slices.get
. Vous devez disposer de l'ID de tranche, qui est fourni lorsque vous répertoriez toutes les tranches. L'exemple suivant s'applique à tous les types de données et objectifs.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région où se trouve le modèle. Exemple : us-central1.
- PROJECT : l'ID de votre projet.
- MODEL_ID : ID de votre modèle.
- EVALUATION_ID : ID de l'évaluation du modèle qui contient la tranche d'évaluation à récupérer.
- SLICE_ID : ID d'une tranche d'évaluation à obtenir.
- PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.
- EVALUATION_METRIC_SCHEMA_FILE_NAME : nom d'un fichier de schéma qui définit les métriques d'évaluation à renvoyer, telles que
classification_metrics_1.0.0
.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Itérer sur le modèle
Les métriques d'évaluation du modèle constituent un point de départ pour déboguer le modèle lorsqu'il ne répond pas à vos attentes. Par exemple, des scores de précision et de rappel faibles peuvent indiquer que votre modèle requiert des données d'entraînement supplémentaires ou que ses étiquettes sont incohérentes. Un score de précision et de rappel parfait peut indiquer que les données de test sont trop faciles à prédire et risquent de ne pas se généraliser correctement.
Vous pouvez effectuer l'itération sur vos données d'entraînement et créer un modèle. Après avoir créé un modèle, vous pouvez comparer les métriques d'évaluation entre le modèle existant et le nouveau modèle.
Les suggestions suivantes peuvent vous aider à améliorer les modèles qui ajoutent des étiquettes aux éléments, tels que les modèles de classification ou de détection :
- Envisagez d'ajouter d'autres exemples ou une gamme plus large d'exemples dans vos données d'entraînement. Par exemple, pour un modèle de classification d'images, vous pouvez inclure des images plus larges, des images de résolution supérieure ou inférieure, ou des points de vue différents. Pour obtenir plus de conseils, consultez la section Préparer des données.
- Envisagez de supprimer des classes ou des étiquettes ne comportant pas beaucoup d'exemples. Des exemples insuffisants empêchent le modèle de réaliser des prédictions fiables et cohérentes sur ces classes ou étiquettes.
- Les machines ne peuvent pas interpréter le nom de vos classes ou étiquettes et ne comprennent pas les nuances entre elles, comme "porte" et "porte_avec_poignée". Vous devez fournir des données pour aider les machines à reconnaître de telles nuances.
- Augmentez vos données à l'aide d'autres exemples de vrais positifs et de vrais négatifs, en particulier ceux qui sont proches d'une frontière de décision pour atténuer la confusion du modèle.
- Spécifiez votre propre répartition des données (entraînement, validation et test). Vertex AI attribue des éléments au hasard à chaque ensemble. Par conséquent, des quasi-doublons peuvent se retrouver dans les ensembles d'entraînement et de validation, ce qui peut entraîner un surapprentissage et nuire aux performances de l'ensemble de test. Pour en savoir plus sur la définition de votre propre répartition des données, consultez la page À propos de la répartition des données pour les modèles AutoML.
- Si les métriques d'évaluation de votre modèle incluent une matrice de confusion, vous pouvez voir si le modèle confond deux étiquettes et prédit une étiquette particulière beaucoup plus que l'étiquette réelle. Examinez vos données et assurez-vous que les exemples sont correctement étiquetés.
- Si vous avez eu un court entraînement (faible nombre de nœuds-heures), vous pouvez obtenir un modèle de meilleure qualité en l'autorisant à s'entraîner sur une période plus longue (nombre maximal d'heures de nœuds-heures supérieur).