Définir vos métriques d'évaluation

La première étape pour évaluer vos modèles ou applications génératifs consiste à identifier votre objectif d'évaluation et à définir vos métriques d'évaluation. Cette page présente les concepts liés à la définition de métriques d'évaluation pour votre cas d'utilisation.

Présentation

Les modèles d'IA générative peuvent être utilisés pour créer des applications pour un large éventail de tâches, comme résumer des articles d'actualité, répondre aux demandes des clients ou aider à écrire du code. Le service d'évaluation de l'IA générative de Vertex AI vous permet d'évaluer n'importe quel modèle à l'aide de métriques explicables.

Par exemple, vous pouvez développer une application permettant de résumer des articles. Pour évaluer les performances de votre application pour cette tâche spécifique, tenez compte des critères que vous souhaitez mesurer et des métriques que vous utiliserez pour les évaluer:

  • Critères: dimensions uniques ou multiples sur lesquelles vous souhaitez effectuer une évaluation, telles que conciseness, relevance, correctness ou appropriate choice of words.

  • Métriques: score unique qui mesure la sortie du modèle par rapport à des critères.

Le service d'évaluation de l'IA générative fournit deux principaux types de métriques:

  • Métriques basées sur un modèle: nos métriques basées sur un modèle comparent votre modèle candidat à un modèle d'évaluation. Le modèle d'évaluation pour la plupart des cas d'utilisation est Gemini, mais vous pouvez également utiliser des modèles tels que MetricX ou COMET pour les cas d'utilisation de traduction.

    Vous pouvez mesurer les métriques basées sur un modèle par paire ou par point:

    • Métriques par point: laissez le modèle d'évaluation évaluer la sortie du modèle candidat en fonction des critères d'évaluation. Par exemple, le score peut être compris entre 0 et 5, où 0 signifie que la réponse ne répond pas aux critères, tandis que 5 signifie qu'elle répond bien aux critères.

    • Métriques par paire: laissez le modèle d'évaluation comparer les réponses de deux modèles et choisir le meilleur. Cette méthode est souvent utilisée pour comparer un modèle candidat au modèle de référence. Les métriques par paires ne sont compatibles qu'avec Gemini en tant que modèle d'évaluation.

  • Métriques basées sur le calcul: ces métriques sont calculées à l'aide de formules mathématiques pour comparer la sortie du modèle à une vérité terrain ou une référence. Les métriques basées sur le calcul couramment utilisées incluent ROUGE et BLEU.

Vous pouvez utiliser des métriques basées sur le calcul de façon autonome ou avec des métriques basées sur un modèle. Utilisez le tableau suivant pour déterminer quand utiliser des métriques basées sur un modèle ou sur le calcul:

Approche d'évaluation Données Coût et rapidité
Métriques basées sur un modèle Utiliser un modèle d'évaluation pour évaluer les performances en fonction de critères d'évaluation descriptifs La vérité terrain est facultative Plus coûteux et plus lent
Métriques basées sur le calcul Utiliser des formules mathématiques pour évaluer les performances La vérité terrain est généralement requise Faible coût et rapidité

Pour commencer, consultez Préparer votre ensemble de données et Exécuter l'évaluation.

Définir vos métriques basées sur un modèle

L'évaluation basée sur un modèle consiste à utiliser un modèle de machine learning comme modèle d'évaluation pour évaluer les sorties du modèle candidat.

Les modèles d'évaluation propriétaires de Google, tels que Gemini, sont calibrés avec des évaluateurs humains pour garantir leur qualité. Ils sont gérés et disponibles dès la première utilisation. Le processus d'évaluation basée sur un modèle varie en fonction des métriques d'évaluation que vous fournissez.

L'évaluation basée sur un modèle suit ce processus:

  1. Préparation des données: vous fournissez des données d'évaluation sous la forme de requêtes d'entrée. Les modèles candidats reçoivent les requêtes et génèrent les réponses correspondantes.

  2. Évaluation: les métriques d'évaluation et les réponses générées sont envoyées au modèle d'évaluation. Le modèle d'évaluation évalue chaque réponse individuellement, en fournissant une évaluation par ligne.

  3. Agrégation et explication: Gen AI Evaluation Service agrège ces évaluations individuelles en un score global. Le résultat inclut également des explications de la chaîne de pensée pour chaque évaluation, qui décrivent la logique sous-jacente à la sélection.

Gen AI Evaluation Service propose les options suivantes pour configurer vos métriques basées sur un modèle avec le SDK Vertex AI:

Option Description Application idéale
Utiliser un exemple existant Pour commencer, utilisez un modèle de requête de métrique prédéfini. Cas d'utilisation courants, gain de temps
Définir des métriques avec notre interface modélisée Obtenez une assistance guidée pour définir vos métriques. Notre interface modélisée offre une structure et des suggestions. Personnalisation avec assistance
Définir des métriques à partir de zéro Contrôlez entièrement les définitions de vos métriques. Idéal pour les cas d'utilisation très spécifiques. Nécessite une expertise technique et un investissement en temps plus importants.

Par exemple, vous pouvez développer une application d'IA générative qui renvoie des réponses fluides et divertissantes. Pour cette application, vous pouvez définir deux critères d'évaluation à l'aide de l'interface avec modèle:

  • Fluides: les phrases sont fluides et évitent les formulations maladroites ou les phrases prononcées. Les idées et les phrases se connectent de manière logique, en utilisant des transitions efficacement si nécessaire.

  • Divertissement: texte court et amusant qui intègre des emoji, des points d'exclamation et des questions pour transmettre une communication et un divertissement rapides et spontanés.

Pour transformer ces deux critères en métrique, vous devez obtenir un score global compris entre -1 et 1, appelé custom_text_quality. Vous pouvez définir une métrique comme suit:

# Define a pointwise metric with two criteria: Fluency and Entertaining. custom_text_quality = PointwiseMetric(     metric="custom_text_quality",     metric_prompt_template=PointwiseMetricPromptTemplate(         criteria={             "fluency": (                 "Sentences flow smoothly and are easy to read, avoiding awkward"                 " phrasing or run-on sentences. Ideas and sentences connect"                 " logically, using transitions effectively where needed."             ),             "entertaining": (                 "Short, amusing text that incorporates emojis, exclamations and"                 " questions to convey quick and spontaneous communication and"                 " diversion."             ),         },         rating_rubric={             "1": "The response performs well on both criteria.",             "0": "The response is somewhat aligned with both criteria",             "-1": "The response falls short on both criteria",         },     ), ) 

Pour obtenir la liste complète des modèles de requête de métrique, consultez la page Modèles de requête de métrique pour l'évaluation.

Évaluer les modèles de traduction

Le service d'évaluation de l'IA générative propose les métriques d'évaluation des tâches de traduction suivantes:

MetricX et COMET sont des métriques par point basées sur un modèle qui ont été entraînées pour des tâches de traduction. Vous pouvez évaluer la qualité et la précision des résultats des modèles de traduction pour votre contenu, qu'il s'agisse de sorties de modèles NMT, TranslationLLM ou Gemini.

Vous pouvez également utiliser Gemini comme modèle d'évaluation pour évaluer la fluidité, la cohérence, la verbosité et la qualité du texte de votre modèle en combinaison avec MetricX, COMET ou BLEU.

  • MetricX est une métrique basée sur les erreurs développée par Google. Elle prédit un score à virgule flottante compris entre 0 et 25, qui représente la qualité d'une traduction. MetricX est disponible à la fois en tant que méthode basée sur des références et en tant que méthode sans référence (QE). Lorsque vous utilisez cette métrique, un score plus faible est meilleur, car cela signifie qu'il y a moins d'erreurs.

  • COMET utilise une approche de régression basée sur des références qui fournit des scores compris entre 0 et 1, où 1 signifie une traduction parfaite.

  • Le BLEU (Bilingual Evaluation Understudy) est une métrique basée sur le calcul. Le score BLEU indique la similitude entre le texte candidat et le texte de référence. Plus la valeur de score BLEU est proche de 1, plus la traduction est proche du texte de référence.

Notez qu'il est déconseillé de comparer des scores BLEU entre différents corpus et différentes langues. Par exemple, un score BLEU de 50 pour une traduction de l'anglais vers l'allemand n'est pas comparable à un score BLEU de 50 pour une traduction du japonais vers l'anglais. De nombreux experts en traduction ont adopté des approches de métrique basées sur des modèles, qui présentent une corrélation plus élevée avec les évaluations humaines et sont plus précises pour identifier les scénarios d'erreur.

Pour savoir comment exécuter des évaluations pour des modèles de traduction, consultez Évaluer un modèle de traduction.

Choisissez entre une évaluation par point ou par paire.

Utilisez le tableau suivant pour déterminer quand utiliser une évaluation par point ou par paire:

Définition Cas d'utilisation Exemples de cas d'utilisation
Évaluation par point Évaluer un modèle et générer des scores en fonction des critères
  • Lorsque vous avez besoin d'un score pour chaque modèle évalué.
  • Lorsque la grille d'évaluation de chaque note est facile à définir.
  • Comprendre le comportement de votre modèle en production
  • Explorez les points forts et les points faibles d'un seul modèle.
  • Identifier les comportements sur lesquels se concentrer lors du réglage.
  • Obtenir les performances de référence d'un modèle
Évaluation par paire Comparer deux modèles entre eux, en générant une préférence en fonction des critères
  • Lorsque vous souhaitez comparer deux modèles et qu'un score n'est pas nécessaire.
  • Lorsque la grille de notation pour les points est difficile à définir. Par exemple, il peut être difficile de définir la grille d'évaluation de 1 à 5 pour la qualité du texte ponctuelle, mais pas aussi difficile de comparer deux modèles et de générer directement une préférence.
  • Déterminer le modèle à mettre en production.
  • Choisissez entre les types de modèles. Par exemple, Gemini-Pro ou Claude 3.
  • Choisissez entre différentes requêtes.
  • Déterminer si le réglage a apporté des améliorations à un modèle de référence.

Métriques basées sur le calcul

Les métriques basées sur le calcul comparent la cohérence des résultats générés par le LLM à un ensemble de données de vérité terrain de paires d'entrée et de sortie. Les métriques couramment utilisées peuvent être classées dans les groupes suivants :

  • Métriques basées sur le lexique : utilisez les mathématiques pour calculer les similarités de chaînes entre les résultats générés par le LLM et la vérité terrain, telles que Exact Match et ROUGE.
  • Métriques basées sur les nombres : agrégez le nombre de lignes qui atteignent ou manquent certaines étiquettes de vérité terrain, telles que F1-score, Accuracy et Tool Name Match.
  • Métriques basées sur des embedding : calculez la distance entre les résultats générés par le LLM et la vérité terrain dans l'espace d'embedding, en reflétant leur niveau de similarité.

Génération de textes d'ordre général

Les métriques suivantes vous aident à évaluer la capacité du modèle à s'assurer que les réponses sont utiles, sûres et efficaces pour vos utilisateurs.

Correspondance exacte

La métrique exact_match calcule si une réponse de modèle correspond exactement à une référence.

  • Limite de jetons : aucune

Critères d'évaluation

Non applicable.

Paramètres d'entrée des métriques

Paramètre d'entrée Description
response Réponse du LLM.
reference Réponse LLM clé à titre de référence.

Scores de sortie

Valeur Description
0 Pas de correspondance
1 Correspondance

BLEU

La métrique bleu (BiLingual Evaluation Understudy) contient le résultat d'un algorithme permettant d'évaluer la qualité de la réponse, qui a été traduite d'un langage naturel à un autre. La qualité de la réponse est considérée comme la correspondance entre un paramètre response et son paramètre reference.

  • Limite de jetons : aucune

Critères d'évaluation

Non applicable.

Paramètres d'entrée des métriques

Paramètre d'entrée Description
response Réponse du LLM.
reference Réponse LLM clé à titre de référence.

Scores de sortie

Valeur Description
Valeur flottante comprise dans la plage de [0,1] Plus le score est élevé, meilleure est la traduction. Un score de 1 correspond à une correspondance parfaite avec le reference.

ROUGE

La métrique ROUGE permet de comparer le paramètre response fourni à un paramètre reference. Toutes les métriques rouge renvoient le score F1. rouge-l-sum est calculé par défaut, mais vous pouvez spécifier la variante rouge que vous souhaitez utiliser.

  • Limite de jetons : aucune

Critères d'évaluation

Non applicable

Paramètres d'entrée des métriques

Paramètre d'entrée Description
response Réponse du LLM.
reference Réponse LLM clé à titre de référence.

Scores de sortie

Valeur Description
Valeur flottante comprise dans la plage de [0,1] Un score proche de 0 indique une faible similarité entre response et reference. Un score proche de 1 indique une forte similitude entre response et reference.

Utilisation de l'outil et appel de fonction

Les métriques suivantes vous aident à évaluer la capacité du modèle à prédire un appel d'outil (de fonction) valide.

Appel valide

La métrique tool_call_valid décrit la capacité du modèle à prédire un appel d'outil valide. Seul le premier appel d'outil est inspecté.

  • Limite de jetons : aucune

Critères d'évaluation

Critère d'évaluation Description
Validité La sortie du modèle contient un appel d'outil valide.
Mise en forme Un dictionnaire JSON contient les champs name et arguments.

Paramètres d'entrée des métriques

Paramètre d'entrée Description
prediction La sortie du modèle candidat, qui est une chaîne sérialisée JSON contenant les clés content et tool_calls. La valeur content correspond à la sortie textuelle du modèle. La valeur tool_calls est une chaîne sérialisée JSON d'une liste d'appels d'outil. Voici un exemple :

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Prédiction de référence de vérité terrain, qui suit le même format que prediction.

Scores de sortie

Valeur Description
0 Appel d'outil non valide
1 Appel d'outil valide

Correspondance du nom

La métrique tool_name_match décrit la capacité du modèle à prédire un appel d'outil avec le nom d'outil correct. Seul le premier appel d'outil est inspecté.

  • Limite de jetons : aucune

Critères d'évaluation

Critère d'évaluation Description
Mise en correspondance des noms L'appel de l'outil prédit par le modèle correspond au nom de l'appel de l'outil de référence.

Paramètres d'entrée des métriques

Paramètre d'entrée Description
prediction La sortie du modèle candidat, qui est une chaîne sérialisée JSON contenant les clés content et tool_calls. La valeur content correspond à la sortie textuelle du modèle. La valeur tool_call est une chaîne sérialisée JSON d'une liste d'appels d'outil. Voici un exemple :

{"content": "","tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference La prédiction de référence de vérité terrain, qui suit le même format que prediction.

Scores de sortie

Valeur Description
0 Le nom de l'appel de l'outil ne correspond pas à la référence.
1 Le nom de l'appel d'outil correspond à la référence.

Correspondance clé du paramètre

La métrique tool_parameter_key_match décrit la capacité du modèle à prédire un appel d'outil avec les noms de paramètres corrects.

  • Limite de jetons : aucune

Critères d'évaluation

Critère d'évaluation Description
Taux de correspondance des paramètres Ratio entre le nombre de paramètres prédits qui correspondent aux noms des paramètres de l'appel d'outil de référence et le nombre total de paramètres.

Paramètres d'entrée des métriques

Paramètre d'entrée Description
prediction La sortie du modèle candidat, qui est une chaîne sérialisée JSON contenant les clés content et tool_calls. La valeur content correspond à la sortie textuelle du modèle. La valeur tool_call est une chaîne sérialisée JSON d'une liste d'appels d'outil. Voici un exemple :

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Prédiction du modèle de référence de vérité terrain, qui suit le même format que prediction.

Scores de sortie

Valeur Description
Valeur flottante comprise dans la plage de [0,1] Un score élevé de 1 signifie que davantage de paramètres correspondent aux noms des paramètres reference.

Correspondance KV du paramètre

La métrique tool_parameter_kv_match décrit la capacité du modèle à prédire un appel d'outil avec les noms de paramètres et les clé-valeurs corrects.

  • Limite de jetons : aucune

Critères d'évaluation

Critère d'évaluation Description
Taux de correspondance des paramètres Ratio entre le nombre de paramètres prédits qui correspondent à la fois aux noms et valeurs des paramètres de l'appel de l'outil de référence, et le nombre total de paramètres.

Paramètres d'entrée des métriques

Paramètre d'entrée Description
prediction La sortie du modèle candidat, qui est une chaîne sérialisée JSON contenant les clés content et tool_calls. La valeur content correspond à la sortie textuelle du modèle. La valeur tool_call est une chaîne sérialisée JSON d'une liste d'appels d'outil. Voici un exemple :

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Prédiction de référence de vérité terrain, qui suit le même format que prediction.

Scores de sortie

Valeur Description
Valeur flottante comprise dans la plage de [0,1] Un score élevé de 1 signifie que davantage de paramètres correspondent aux noms et aux valeurs des paramètres reference.

Dans le service d'évaluation de l'IA générative, vous pouvez utiliser des métriques basées sur le calcul via le SDK Vertex AI pour Python.

Qualité d'évaluation de référence pour les tâches génératives

Lorsque vous évaluez la sortie des modèles d'IA générative, notez que le processus d'évaluation est intrinsèquement subjectif et que la qualité de l'évaluation peut varier en fonction de la tâche spécifique et des critères d'évaluation. Cette subjectivité s'applique également aux évaluateurs humains. Pour en savoir plus sur les défis liés à l'évaluation cohérente des modèles d'IA générative, consultez Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (Évaluer les LLM en tant que juge avec MT-Bench et Chatbot Arena) et Learning to summarize from human feedback (Apprendre à résumer à partir de commentaires humains).

Étape suivante