Bewertungsmodell bewerten

Bei modellbasierten Messwerten bewertet der Gen AI-Bewertungsdienst Ihre Modelle mit einem Basismodell wie Gemini, das als Bewertungsmodell konfiguriert und aufgefordert wurde. Weitere Informationen zum Bewertungsmodell finden Sie in der Reihe zur erweiterten Anpassung des Bewertungsmodells. Dort werden zusätzliche Tools beschrieben, mit denen Sie das Bewertungsmodell bewerten und konfigurieren können.

Einen grundlegenden Bewertungsablauf finden Sie in der Kurzanleitung für den Gen AI Evaluation Service. Die Reihe zur erweiterten Anpassung des Bewertungsmodells umfasst die folgenden Seiten:

  1. Bewertungsmodell bewerten (aktuelle Seite)
  2. Aufforderung zur Anpassung des Bewertungsmodells
  3. Bewerterungsmodell konfigurieren

Übersicht

Die Bewertung von Large Language Models (LLMs) durch menschliche Prüfer kann teuer und zeitaufwendig sein. Die Verwendung eines Bewertungsmodells ist eine skalierbarere Methode zur Bewertung von LLMs. Der Gen AI-Bewertungsdienst verwendet standardmäßig ein konfiguriertes Gemini 2.0 Flash-Modell als Bewertungsmodell mit anpassbaren Prompts, um Ihr Modell für verschiedene Anwendungsfälle zu bewerten.

In den folgenden Abschnitten erfahren Sie, wie Sie ein benutzerdefiniertes Bewertungsmodell für Ihren idealen Anwendungsfall bewerten.

Dataset vorbereiten

Wenn Sie modellbasierte Messwerte bewerten möchten, bereiten Sie einen Bewertungsdatensatz mit Bewertungen von Menschen als Ground Truth vor. Ziel ist es, die Bewertungen der modellgestützten Messwerte mit den Bewertungen von Menschen zu vergleichen und festzustellen, ob die modellgestützten Messwerte für Ihren Anwendungsfall die ideale Qualität haben.

  • Verwenden Sie für PointwiseMetric die Spalte {metric_name}/human_rating im Datensatz als Ground Truth für das {metric_name}/score-Ergebnis, das mithilfe von modellbasierten Messwerten generiert wird.

  • Verwenden Sie für PairwiseMetric die Spalte {metric_name}/human_pairwise_choice im Datensatz als Ground Truth für das {metric_name}/pairwise_choice-Ergebnis, das mithilfe von modellbasierten Messwerten generiert wird.

Verwenden Sie das folgende Dataset-Schema:

Modellbasierter Messwert Spalte für Bewertung durch Menschen
PointwiseMetric {metric_name}/human_rating
PairwiseMetric {metric_name}/human_pairwise_choice

Verfügbare Messwerte

Für eine PointwiseMetric, die nur zwei Bewertungen zurückgibt (z. B. 0 und 1), und eine PairwiseMetric, die nur zwei Präferenztypen hat (Modell A oder Modell B), sind die folgenden Messwerte verfügbar:

Messwert Berechnung
Ausgewogene Genauigkeit bei zwei Klassen \( (1/2)*(True Positive Rate + True Negative Rate) \)
F1-Wert für zwei Klassen \( ∑_{i=0,1} (cnt_i/sum) * f1(class_i) \)
Wahrheitsmatrix Mit den Feldern confusion_matrix und confusion_matrix_labels können Sie Messwerte wie die Rate richtig positiver Ergebnisse (True Positive Rate, TPR), die Rate richtig negativer Ergebnisse (True Negative Rate, TNR), die Rate falsch positiver Ergebnisse (False Positive Rate, FPR) und die Rate falsch negativer Ergebnisse (False Negative Rate, FNR) berechnen.

Beispiel:
confusion_matrix = [[20, 31, 15],
    [10, 11,  3],
   [ 3,  2,  2]]
confusion_matrix_labels = ['BASELINE', 'CANDIDATE', 'TIE']
entspricht der folgenden Wahrheitsmatrix:
             BASELINE |  CANDIDATE | TIE
   BASELINE.    20         31        15
   CANDIDATE.   10         11         3
   TIE.         3           2         2 |

Für einen PointwiseMetric, der mehr als zwei Bewertungen zurückgibt (z. B. 1 bis 5), und einen PairwiseMetric mit mehr als zwei Präferenztypen (Modell A, Modell B oder Unentschieden) sind die folgenden Messwerte verfügbar:

Messwert Berechnung
Ausgewogene Genauigkeit bei mehreren Klassen \( (1/n) *∑_{i=1...n}(recall(class_i)) \)
Ausgewogener F1-Wert für mehrere Klassen \( ∑_{i=1...n} (cnt_i/sum) * f1(class_i) \)

Wobei:

  • \( f1 = 2 * precision * recall / (precision + recall) \)

    • \( precision = True Positives / (True Positives + False Positives) \)

    • \( recall = True Positives / (True Positives + False Negatives) \)

  • \( n \) : Anzahl der Klassen

  • \( cnt_i \) : Anzahl der \( class_i \) in den Ground-Truth-Daten

  • \( sum \): Anzahl der Elemente in den Ground-Truth-Daten

Für andere Messwerte können Sie Open-Source-Bibliotheken verwenden.

Modellbasierten Messwert bewerten

Im folgenden Beispiel wird der modellbasierte Messwert mit einer benutzerdefinierten Definition von Sprachrichtigkeit aktualisiert und dann die Qualität des Messwerts bewertet.

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]
)

Nächste Schritte