Pour les métriques basées sur un modèle, Gen AI Evaluation Service évalue vos modèles à l'aide d'un modèle de base, tel que Gemini, qui a été configuré et invité en tant que modèle d'évaluation. Pour en savoir plus sur le modèle d'évaluation, la série Personnalisation avancée du modèle d'évaluation décrit d'autres outils que vous pouvez utiliser pour évaluer et configurer le modèle d'évaluation.
Pour le workflow d'évaluation de base, consultez le guide de démarrage rapide de Gen AI Evaluation Service. La série Personnalisation avancée du modèle d'évaluation comprend les pages suivantes :
- Évaluer un modèle d'évaluation (page actuelle)
- Invites pour la personnalisation du modèle d'évaluation
- Configurer un modèle d'évaluation
Présentation
L'utilisation d'évaluateurs humains pour évaluer les grands modèles de langage (LLM) peut être coûteuse et prendre du temps. L'utilisation d'un modèle d'évaluation est un moyen plus évolutif d'évaluer les LLM. Gen AI Evaluation Service utilise un modèle Gemini configuré comme modèle d'évaluation, avec des invites personnalisables pour évaluer votre modèle pour différents cas d'utilisation.
Les sections suivantes montrent comment évaluer un modèle d'évaluation personnalisé pour votre cas d'utilisation idéal.
Préparer l'ensemble de données
Pour évaluer les métriques basées sur un modèle, préparez un ensemble de données d'évaluation avec des évaluations humaines comme vérité terrain. L'objectif est de comparer les scores des métriques basées sur un modèle avec les évaluations humaines et de vérifier si les métriques basées sur un modèle ont la qualité idéale pour votre cas d'utilisation.
Pour
PointwiseMetric, préparez la colonne{metric_name}/human_ratingdans l'ensemble de données comme vérité terrain pour le résultat{metric_name}/scoregénéré par les métriques basées sur un modèle.Pour
PairwiseMetric, préparez la colonne{metric_name}/human_pairwise_choicedans l'ensemble de données comme vérité terrain pour le résultat{metric_name}/pairwise_choicegénéré par les métriques basées sur un modèle.
Utilisez le schéma d'ensemble de données suivant :
| Métrique basée sur un modèle | Colonne d'évaluation humaine |
|---|---|
PointwiseMetric |
{metric_name}/human_rating |
PairwiseMetric |
{metric_name}/human_pairwise_choice |
Métriques disponibles
Pour une PointwiseMetric qui ne renvoie que deux scores (par exemple, 0 et 1) et une PairwiseMetric qui ne comporte que deux types de préférences (modèle A ou modèle B), les métriques suivantes sont disponibles :
| Métrique | Calcul |
|---|---|
| Justesse équilibrée à deux classes | \( (1/2)*(True Positive Rate + True Negative Rate) \) |
| Score F1 équilibré à deux classes | \( ∑_{i=0,1} (cnt_i/sum) * f1(class_i) \) |
| Matrice de confusion | Utilisez les champs confusion_matrix et confusion_matrix_labels pour calculer des métriques telles que le taux de vrais positifs (TVP), le taux de vrais négatifs (TVN), le taux de faux positifs (TFP) et le taux de faux négatifs (TFN). Par exemple, le résultat suivant : confusion_matrix = [[20, 31, 15],
[10, 11, 3],
[ 3, 2, 2]]
confusion_matrix_labels = ['BASELINE', 'CANDIDATE', 'TIE']BASELINE | CANDIDATE | TIE BASELINE. 20 31 15 CANDIDATE. 10 11 3 TIE. 3 2 2 | |
Pour une PointwiseMetric qui renvoie plus de deux scores (par exemple, de 1 à 5) et une PairwiseMetric qui comporte plus de deux types de préférences (modèle A, modèle B ou égalité), les métriques suivantes sont disponibles :
| Métrique | Calcul |
|---|---|
| Justesse équilibrée à plusieurs classes | \( (1/n) *∑_{i=1...n}(recall(class_i)) \) |
| Score F1 équilibré à plusieurs classes | \( ∑_{i=1...n} (cnt_i/sum) * f1(class_i) \) |
Où :
\( f1 = 2 * precision * recall / (precision + recall) \)
\( precision = True Positives / (True Positives + False Positives) \)
\( recall = True Positives / (True Positives + False Negatives) \)
\( n \) : nombre de classes
\( cnt_i \) : nombre de \( class_i \) dans les données de vérité terrain
\( sum \): nombre d'éléments dans les données de vérité terrain
Pour calculer d'autres métriques, vous pouvez utiliser des bibliothèques Open Source.
Évaluer la métrique basée sur un modèle
L'exemple suivant met à jour la métrique basée sur un modèle avec une définition personnalisée du niveau de langage, puis évalue la qualité de la métrique.
from vertexai.preview.evaluation import {
AutoraterConfig,
PairwiseMetric,
}
from vertexai.preview.evaluation.autorater_utils import evaluate_autorater
# Step 1: Prepare the evaluation dataset with the human rating data column.
human_rated_dataset = pd.DataFrame({
"prompt": [PROMPT_1, PROMPT_2],
"response": [RESPONSE_1, RESPONSE_2],
"baseline_model_response": [BASELINE_MODEL_RESPONSE_1, BASELINE_MODEL_RESPONSE_2],
"pairwise_fluency/human_pairwise_choice": ["model_A", "model_B"]
})
# Step 2: Get the results from model-based metric
pairwise_fluency = PairwiseMetric(
metric="pairwise_fluency",
metric_prompt_template="please evaluate pairwise fluency..."
)
eval_result = EvalTask(
dataset=human_rated_dataset,
metrics=[pairwise_fluency],
).evaluate()
# Step 3: Calibrate model-based metric result and human preferences.
# eval_result contains human evaluation result from human_rated_dataset.
evaluate_autorater_result = evaluate_autorater(
evaluate_autorater_input=eval_result.metrics_table,
eval_metrics=[pairwise_fluency]
)