Bewertungsmodell bewerten

In dieser Anleitung erfahren Sie, wie Sie ein Judge-Modell bewerten, indem Sie seine Leistung mit menschlichen Bewertungen vergleichen.

Auf dieser Seite werden die folgenden Themen behandelt:

  • Dataset vorbereiten: Hier erfahren Sie, wie Sie Ihr Dataset mit menschlichen Bewertungen strukturieren, damit es als Ground Truth für die Bewertung dienen kann.
  • Verfügbare Messwerte: Hier finden Sie Informationen zu den Messwerten, mit denen die Übereinstimmung zwischen dem Judge-Modell und den menschlichen Bewertungen gemessen wird.
  • Modellbasierten Messwert bewerten: Hier finden Sie ein Codebeispiel für das Ausführen eines Bewertungsjobs und das Abrufen von Qualitätsbewertungen für Ihr Judge-Modell.

Bei modellbasierten Messwerten verwendet der Gen AI Evaluation Service ein Foundation Model wie Gemini als Judge-Modell, um Ihre Modelle zu bewerten. Weitere Informationen zum Judge-Modell finden Sie in der Reihe zur erweiterten Anpassung des Judge-Modells. Dort werden zusätzliche Tools beschrieben, mit denen Sie das Modell 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 (diese 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 erfahren Sie, wie Sie ein benutzerdefiniertes Judge-Modell für Ihren idealen Anwendungsfall bewerten.

Messwerttypen

Der Gen AI Evaluation Service verwendet zwei Arten von modellbasierten Messwerten, um Judge-Modelle zu bewerten.

Messwerttyp Beschreibung Anwendungsfall
PointwiseMetric Weist der Ausgabe eines einzelnen Modells anhand eines bestimmten Kriteriums (z. B. Flüssigkeit oder Sicherheit) eine numerische Punktzahl zu. Wenn Sie eine einzelne Modellantwort auf einer Skala bewerten müssen (z. B. die Nützlichkeit auf einer Skala von 1 bis 5).
PairwiseMetric Vergleicht die Ausgaben von zwei Modellen (einem Kandidaten und einem Referenzmodell) und wählt die bevorzugte aus. Wenn Sie ermitteln müssen, welche von zwei Modellantworten für einen bestimmten Prompt besser ist.

Dataset vorbereiten

Um modellbasierte Messwerte zu bewerten, müssen Sie ein Bewertungs-Dataset vorbereiten, das menschliche Bewertungen als Ground Truth enthält. Ziel ist es, die Ergebnisse der modellbasierten Messwerte mit manuellen Bewertungen zu vergleichen, um festzustellen, ob die modellbasierten Messwerte die ideale Qualität für Ihren Anwendungsfall haben.

Ihr Dataset muss eine Spalte für menschliche Bewertungen enthalten, die dem modellbasierten Messwert entspricht, den Sie auswerten. In der folgenden Tabelle sehen Sie die erforderliche Spalte für die menschliche Bewertung für jeden Messwerttyp:

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

Verfügbare Messwerte

Der Gen AI Evaluation Service bietet je nach Anzahl der möglichen Ergebnisse unterschiedliche Messwerte.

Messwerte für binäre Ergebnisse

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 |

Messwerte für mehrere Ergebnisse

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

Sie können Open-Source-Bibliotheken verwenden, um andere Messwerte zu berechnen.

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