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:
- Richtermodell bewerten (aktuelle Seite)
- 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
PointwiseMetricdie Spalte{metric_name}/human_ratingim Dataset als Grundwahrheit für das Ergebnis{metric_name}/scorevor, das von modellbasierten Messwerten generiert wird.Bereiten Sie für
PairwiseMetricdie Spalte{metric_name}/human_pairwise_choiceim Dataset als Grundwahrheit für das Ergebnis{metric_name}/pairwise_choicevor, 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']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]
)