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 des 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 pour résumer des articles. Pour évaluer les performances de votre application sur cette tâche spécifique, réfléchissez aux critères que vous souhaitez mesurer et aux métriques que vous utiliserez pour les évaluer :
Critères : une ou plusieurs dimensions sur lesquelles vous souhaitez évaluer les données, comme
conciseness
,relevance
,correctness
ouappropriate 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 évaluent votre modèle candidat par rapport à un modèle d'évaluation. Le modèle de juge 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 : le modèle d'évaluation évalue 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 correspond pas aux critères, tandis que 5 signifie qu'elle y correspond bien.
Métriques par paire : laissez le modèle d'évaluation comparer les réponses de deux modèles et choisir la meilleure. 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 de juge.
Métriques basées sur des calculs : 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 les plus couramment utilisées sont ROUGE et BLEU.
Vous pouvez utiliser des métriques issues de calculs 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 des calculs :
Approche d'évaluation | Données | Coût et vitesse | |
---|---|---|---|
Métriques basées sur un modèle | Utiliser un modèle de juge pour évaluer les performances en fonction de critères d'évaluation descriptifs | La vérité terrain est facultative | Légèrement plus cher et plus lent |
Métriques issues de calculs | 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 résultats du modèle candidat.
Les modèles de jugement propriétaires de Google, tels que Gemini, sont calibrés avec des évaluateurs humains pour garantir leur qualité. Elles sont gérées et disponibles par défaut. 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 le processus suivant :
Préparation des données : vous fournissez des données d'évaluation sous forme de requêtes d'entrée. Les modèles candidats reçoivent les requêtes et génèrent les réponses correspondantes.
Évaluation : les métriques d'évaluation et les réponses générées sont envoyées au modèle évaluateur. Le modèle de juge évalue chaque réponse individuellement et fournit une évaluation basée sur les lignes.
Agrégation et explication : Gen AI Evaluation Service agrège ces évaluations individuelles pour obtenir un score global. La sortie inclut également des explications chain-of-thought pour chaque jugement, décrivant la logique derrière la sélection.
Le service Gen AI Evaluation 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 de modèles | Obtenez de l'aide pour définir vos métriques. Notre interface basée sur des modèles fournit une structure et des suggestions. | Personnalisation avec l'assistance |
Définir des métriques à partir de zéro | Contrôlez entièrement vos définitions de métriques. | Idéal pour les cas d'utilisation très spécifiques. Cette méthode nécessite davantage de connaissances techniques et de temps. |
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 de modèle :
Fluidité : 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 inclut des emoji, des points d'exclamation et des questions pour communiquer rapidement et spontanément, et pour divertir.
Pour transformer ces deux critères en métrique, vous avez besoin d'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 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 les tâches de traduction. Vous pouvez évaluer la qualité et la précision des résultats du modèle de traduction pour vos contenus, qu'il s'agisse de sorties de modèles NMT, TranslationLLM ou Gemini.
Vous pouvez également utiliser Gemini comme modèle de juge 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 en tant que méthode basée sur des références et sans référence (QE). Lorsque vous utilisez cette métrique, un score plus faible est préférable, 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 allant de 0 à 1, où 1 signifie une traduction parfaite.
BLEU (Bilingual Evaluation Understudy) est une métrique basée sur des calculs. 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 que les scores BLEU ne sont pas recommandés pour comparer différents corpus et langues. Par exemple, un score BLEU de 50 pour la paire anglais-allemand n'est pas comparable à un score BLEU de 50 pour la paire japonais-anglais. De nombreux experts en traduction sont passés à des approches métriques 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 les modèles de traduction, consultez Évaluer un modèle de traduction.
Choisir entre une évaluation par point ou par paire
Utilisez le tableau suivant pour déterminer quand utiliser l'é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 |
|
|
Évaluation par paire | Comparer deux modèles entre eux et générer une préférence en fonction des critères |
|
|
Métriques issues de calculs
Les métriques issues de calculs 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
etROUGE
. - 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
etTool 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 du 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 les scores sont élevés, plus les traductions sont bonnes. Un score de 1 représente 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 signifie une faible similarité entre response et reference . Un score proche de 1 indique une forte similarité 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 |
---|---|
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 |
---|---|
Ratio 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 |
---|---|
Ratio 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é de l'évaluation de référence pour les tâches génératives
Lorsque vous évaluez les résultats 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 et des critères d'évaluation spécifiques. Cette subjectivité s'applique également aux évaluateurs humains. Pour en savoir plus sur les difficultés liées à l'évaluation cohérente des modèles d'IA générative, consultez Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena et Learning to summarize from human feedback.
Étapes suivantes
Recherchez un modèle de métriques basées sur un modèle.