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:
- Bewertungsmodell bewerten (aktuelle Seite)
- Aufforderung zur Anpassung des Bewertungsmodells
- 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'] 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]
)