Bewertungsmodell bewerten

Bei modellbasierten Messwerten bewertet der Gen AI Evaluation Service Ihre Modelle mit einem Fundierungsmodell wie Gemini, das als Richtermodell konfiguriert und mit Prompts versehen wurde. Wenn Sie mehr über das Bewertungsmodell erfahren möchten, finden Sie in der Reihe zur erweiterten Anpassung von Bewertungsmodellen zusätzliche Tools, mit denen Sie das Bewertungsmodell bewerten und konfigurieren können.

Informationen zum grundlegenden Bewertungsablauf finden Sie in der Kurzanleitung für den Gen AI Evaluation Service. Die Reihe zur erweiterten Anpassung von Judge-Modellen umfasst die folgenden Seiten:

  1. Judge-Modell bewerten (aktuelle Seite)
  2. Aufforderung zur Anpassung des Judge-Modells
  3. Judge-Modell konfigurieren

Übersicht

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

In den folgenden Abschnitten wird beschrieben, wie Sie ein benutzerdefiniertes Judge-Modell für Ihren idealen Anwendungsfall bewerten.

Dataset vorbereiten

Um modellbasierte Messwerte zu bewerten, bereiten Sie ein Bewertungsdataset mit menschlichen Bewertungen als Ground Truth vor. Ziel ist es, die Ergebnisse der modellbasierten Messwerte mit manuellen Bewertungen zu vergleichen und zu prüfen, ob die modellbasierten Messwerte die ideale Qualität für Ihren Anwendungsfall haben.

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

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

Verwenden Sie das folgende Dataset-Schema:

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

Verfügbare Messwerte

Für eine PointwiseMetric, die nur zwei Werte zurückgibt (z. B. 0 und 1), und eine PairwiseMetric mit nur zwei Arten von Präferenzen (Modell A oder Modell B) sind die folgenden Messwerte verfügbar:

Messwert Berechnung
Ausgewogene Genauigkeit für 2 Klassen \( (1/2)*(True Positive Rate + True Negative Rate) \)
Ausgeglichener F1-Wert für 2 Klassen \( ∑_{i=0,1} (cnt_i/sum) * f1(class_i) \)
Wahrheitsmatrix Mithilfe der Felder 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 für ein Ergebnis:
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 eine PointwiseMetric, die mehr als zwei Werte zurückgibt (z. B. 1 bis 5), und eine PairwiseMetric mit mehr als zwei Arten von Präferenzen (Modell A, Modell B oder Gleichstand) sind die folgenden Messwerte verfügbar:

Messwert Berechnung
Ausgeglichene Genauigkeit für mehrere Klassen \( (1/n) *∑_{i=1...n}(recall(class_i)) \)
Ausgeglichener 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

Zum Berechnen anderer Messwerte können Sie Open-Source-Bibliotheken verwenden.

Modellbasierten Messwert bewerten

Im folgenden Beispiel wird der modellbasierte Messwert mit einer benutzerdefinierten Definition von „Flüssigkeit“ 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