Avalie um modelo de juiz

Para métricas baseadas em modelos, o serviço de avaliação de IA gen avalia os seus modelos com um modelo fundamental, como o Gemini, que foi configurado e solicitado como um modelo de juiz. Se quiser saber mais sobre o modelo de juiz, a série de personalização avançada do modelo de juiz descreve ferramentas adicionais que pode usar para avaliar e configurar o modelo de juiz.

Para o fluxo de trabalho de avaliação básico, consulte o Início rápido do serviço de avaliação de IA gen. A série de personalização do modelo de juiz avançado inclui as seguintes páginas:

  1. Avalie um modelo de juiz (página atual)
  2. Pedir personalização do modelo de juiz
  3. Configure um modelo de juiz

Vista geral

A utilização de avaliadores humanos para avaliar modelos de linguagem (conteúdo extenso) (MDIs/CEs) pode ser dispendiosa e demorada. A utilização de um modelo de avaliação é uma forma mais escalável de avaliar GMLs. O serviço de avaliação de IA gen usa um modelo Gemini 2.0 Flash configurado por predefinição como o modelo de avaliação, com comandos personalizáveis para avaliar o seu modelo para vários exemplos de utilização.

As secções seguintes mostram como avaliar um modelo de juiz personalizado para o seu exemplo de utilização ideal.

Prepare o conjunto de dados

Para avaliar as métricas baseadas em modelos, prepare um conjunto de dados de avaliação com classificações humanas como a verdade fundamental. O objetivo é comparar as pontuações das métricas baseadas em modelos com as classificações humanas e ver se as métricas baseadas em modelos têm a qualidade ideal para o seu exemplo de utilização.

  • Para PointwiseMetric, prepare a coluna {metric_name}/human_rating no conjunto de dados como a verdade fundamental para o resultado {metric_name}/score gerado pelas métricas baseadas em modelos.

  • Para PairwiseMetric, prepare a coluna {metric_name}/human_pairwise_choice no conjunto de dados como a verdade fundamental para o resultado {metric_name}/pairwise_choice gerado pelas métricas baseadas em modelos.

Use o seguinte esquema do conjunto de dados:

Métrica baseada em modelos Coluna de classificação humana
PointwiseMetric {metric_name}/human_rating
PairwiseMetric {metric_name}/human_pairwise_choice

Métricas disponíveis

Para um PointwiseMetric que devolve apenas 2 classificações (como 0 e 1) e um PairwiseMetric que só tem 2 tipos de preferências (Modelo A ou Modelo B), estão disponíveis as seguintes métricas:

Métrica Cálculo
Precisão equilibrada de 2 classes \( (1/2)*(True Positive Rate + True Negative Rate) \)
Pontuação de f1 equilibrada de 2 classes \( ∑_{i=0,1} (cnt_i/sum) * f1(class_i) \)
Matriz de confusão Use os campos confusion_matrix e confusion_matrix_labels para calcular métricas como a taxa de verdadeiros positivos (TPR), a taxa de verdadeiros negativos (TNR), a taxa de falsos positivos (FPR) e a taxa de falsos negativos (FNR).

Por exemplo, o seguinte resultado:
confusion_matrix = [[20, 31, 15],
    [10, 11,  3],
   [ 3,  2,  2]]
confusion_matrix_labels = ['BASELINE', 'CANDIDATE', 'TIE']
traduz-se na seguinte matriz de confusão:
             BASELINE |  CANDIDATE | TIE
   BASELINE.    20         31        15
   CANDIDATE.   10         11         3
   TIE.         3           2         2 |

Para um PointwiseMetric que devolve mais de 2 classificações (como 1 a 5) e um PairwiseMetric que tem mais de 2 tipos de preferências (Modelo A, Modelo B ou Empate), estão disponíveis as seguintes métricas:

Métrica Cálculo
Precisão equilibrada de várias classes \( (1/n) *∑_{i=1...n}(recall(class_i)) \)
Pontuação de f1 equilibrada de várias classes \( ∑_{i=1...n} (cnt_i/sum) * f1(class_i) \)

Onde:

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

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

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

  • \( n \) : número de aulas

  • \( cnt_i \) : número de \( class_i \) nos dados de referência

  • \( sum \): número de elementos nos dados de verdade factual

Para calcular outras métricas, pode usar bibliotecas de código aberto.

Avalie a métrica baseada em modelos

O exemplo seguinte atualiza a métrica baseada em modelos com uma definição personalizada de fluidez e, em seguida, avalia a qualidade da métrica.

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

O que se segue?