Judge-Modell bewerten

Bei modellbasierten Messwerten werden Ihre Modelle von Gemini Enterprise Agent Platform Evals mit einem Foundation Model wie Gemini bewertet, das als Judge-Modell konfiguriert und mit Prompts versehen wurde. Wenn Sie mehr über das Bewertungsmodell erfahren möchten, finden Sie in der Reihe zur erweiterten Anpassung des Bewertungsmodells weitere Tools, mit denen Sie das Bewertungsmodell bewerten und konfigurieren können.

Informationen zum grundlegenden Bewertungsworkflow finden Sie in der Kurzanleitung zu Bewertungen für generative KI. Die Reihe zur erweiterten Anpassung des Judge-Modells umfasst die folgenden Seiten:

  1. Richtermodell bewerten (aktuelle Seite)
  2. Beurteilungsmodell konfigurieren

Übersicht

Die Verwendung von menschlichen Prüfern zur Bewertung von Large Language Models (LLMs) kann teuer und zeitaufwendig sein. Die Verwendung eines Judge-Modells ist eine skalierbarere Methode zur Bewertung von LLMs. Bei den Gen AI-Bewertungen wird ein konfiguriertes Gemini-Modell als Judge-Modell verwendet. Mit anpassbaren Prompts können Sie Ihr Modell für verschiedene Anwendungsfälle bewerten.

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

Dataset vorbereiten

Wenn Sie modellbasierte Messwerte bewerten möchten, bereiten Sie ein Bewertungs-Dataset mit menschlichen Bewertungen als Grundwahrheit vor. Ziel ist es, die Bewertungen aus modellbasierten Messwerten mit manuellen Bewertungen zu vergleichen und festzustellen, ob modellbasierte Messwerte die ideale Qualität für Ihren Anwendungsfall haben.

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

  • Bereiten Sie für PairwiseMetric die Spalte {metric_name}/human_pairwise_choice im Dataset als Grundwahrheit für das Ergebnis {metric_name}/pairwise_choice 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 einen PointwiseMetric, der nur zwei Bewertungen zurückgibt (z. B. 0 und 1), und einen PairwiseMetric, der nur zwei Präferenztypen hat (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 Verwenden Sie die Felder confusion_matrix und confusion_matrix_labels, um Messwerte wie die Rate der richtig positiven Ergebnisse (TPR), die Rate der richtig negativen Ergebnisse (TNR), die Rate der falsch positiven Ergebnisse (FPR) und die Rate der falsch negativen Ergebnisse (FNR) zu berechnen.

Beispiel:
confusion_matrix = [[20, 31, 15],
    [10, 11,  3],
   [ 3,  2,  2]]
confusion_matrix_labels = ['BASELINE', 'CANDIDATE', 'TIE']
ergibt die folgende 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
Ausgeglichene Accuracy 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 Grundwahrheitsdaten

  • \( sum \): Anzahl der Elemente in den Grundwahrheitsdaten

Zur Berechnung anderer Messwerte können Sie Open-Source-Bibliotheken verwenden.

Modellbasierten Messwert bewerten

Im folgenden Beispiel wird der modellbasierte Messwert mit einer benutzerdefinierten Definition von Sprachgewandtheit 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