Valutare un modello di giudice

Per le metriche basate su modelli, Gen AI evaluation service valuta i tuoi modelli con un modello di base, come Gemini, configurato e richiesto come modello di valutazione. Se vuoi saperne di più sul modello di valutazione, la serie di personalizzazione avanzata del modello di valutazione descrive strumenti aggiuntivi che puoi utilizzare per valutare e configurare il modello di valutazione.

Per il flusso di lavoro di valutazione di base, consulta la guida rapida di Gen AI evaluation service. La serie di personalizzazione avanzata del modello di valutazione include le seguenti pagine:

  1. Valuta un modello di valutazione (pagina corrente)
  2. Prompt per la personalizzazione del modello di valutazione
  3. Configura un modello di valutazione

Panoramica

L'utilizzo di valutatori umani per valutare i modelli linguistici di grandi dimensioni (LLM) può essere costoso e richiedere molto tempo. L'utilizzo di un modello di valutazione è un modo più scalabile per valutare gli LLM. Gen AI evaluation service utilizza un modello Gemini configurato come modello di valutazione, con prompt personalizzabili per valutare il modello per vari casi d'uso.

Le sezioni seguenti mostrano come valutare un modello di valutazione personalizzato per il tuo caso d'uso ideale.

Prepara il set di dati

Per valutare le metriche basate su modelli, prepara un set di dati di valutazione con le valutazioni umane come dati di riferimento. L'obiettivo è confrontare i punteggi delle metriche basate su modelli con le valutazioni umane e verificare se le metriche basate su modelli hanno la qualità ideale per il tuo caso d'uso.

  • Per PointwiseMetric, prepara la colonna {metric_name}/human_rating nel set di dati come dati di riferimento per il risultato {metric_name}/score generato dalle metriche basate su modelli.

  • Per PairwiseMetric, prepara la colonna {metric_name}/human_pairwise_choice nel set di dati come dati di riferimento per il risultato {metric_name}/pairwise_choice generato dalle metriche basate su modelli.

Utilizza il seguente schema del set di dati:

Metrica basata su modello Colonna di valutazione umana
PointwiseMetric {metric_name}/human_rating
PairwiseMetric {metric_name}/human_pairwise_choice

Metriche disponibili

Per una PointwiseMetric che restituisce solo 2 punteggi (ad esempio 0 e 1) e una PairwiseMetric che ha solo 2 tipi di preferenza (Modello A o Modello B), sono disponibili le seguenti metriche:

Metrica Calcolo
Accuratezza bilanciata a 2 classi \( (1/2)*(True Positive Rate + True Negative Rate) \)
Punteggio F1 bilanciato a 2 classi \( ∑_{i=0,1} (cnt_i/sum) * f1(class_i) \)
Matrice di confusione Utilizza i campi confusion_matrix e confusion_matrix_labels per calcolare metriche come il tasso di veri positivi (TPR), il tasso di veri negativi (TNR), il tasso di falsi positivi (FPR) e il tasso di falsi negativi (FNR).

Ad esempio, il seguente risultato:
confusion_matrix = [[20, 31, 15],
    [10, 11,  3],
   [ 3,  2,  2]]
confusion_matrix_labels = ['BASELINE', 'CANDIDATE', 'TIE']
si traduce nella seguente matrice di confusione:
             BASELINE |  CANDIDATE | TIE
   BASELINE.    20         31        15
   CANDIDATE.   10         11         3
   TIE.         3           2         2 |

Per una PointwiseMetric che restituisce più di 2 punteggi (ad esempio da 1 a 5) e una PairwiseMetric che ha più di 2 tipi di preferenza (Modello A, Modello B o Pareggio), sono disponibili le seguenti metriche:

Metrica Calcolo
Accuratezza bilanciata a più classi \( (1/n) *∑_{i=1...n}(recall(class_i)) \)
Punteggio F1 bilanciato a più classi \( ∑_{i=1...n} (cnt_i/sum) * f1(class_i) \)

Dove:

  • \( f1 = 2 * precision * recall / (precision + recall) \)

    • \( precision = True Positives / (True Positives + False Positives) \)

    • \( recall = True Positives / (True Positives + False Negatives) \)

  • \( n \) : numero di classi

  • \( cnt_i \) : numero di \( class_i \) dati di riferimento

  • \( sum \): numero di elementi nei dati di riferimento

Per calcolare altre metriche, puoi utilizzare librerie open source.

Valuta la metrica basata su modelli

L'esempio seguente aggiorna la metrica basata su modelli con una definizione personalizzata di fluidità, quindi valuta la qualità della metrica.

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]
)

Passaggi successivi