Mengevaluasi model hakim

Untuk metrik berbasis model, layanan evaluasi AI generatif mengevaluasi model Anda dengan model dasar, seperti Gemini, yang telah dikonfigurasi dan diberi perintah sebagai model penilai. Jika Anda ingin mempelajari lebih lanjut model hakim, Seri penyesuaian model hakim lanjutan menjelaskan alat tambahan yang dapat Anda gunakan untuk mengevaluasi dan mengonfigurasi model hakim.

Untuk alur kerja evaluasi dasar, lihat Panduan memulai layanan evaluasi AI generatif. Seri penyesuaian model hakim lanjutan mencakup halaman berikut:

  1. Mengevaluasi model hakim (halaman saat ini)
  2. Perintah untuk penyesuaian model penilaian
  3. Mengonfigurasi model penilaian

Ringkasan

Menggunakan juri manusia untuk mengevaluasi model bahasa besar (LLM) bisa mahal dan memakan waktu. Menggunakan model penilaian adalah cara yang lebih skalabel untuk mengevaluasi LLM. Layanan evaluasi AI generatif menggunakan model Gemini 2.0 Flash yang dikonfigurasi secara default sebagai model penilai, dengan perintah yang dapat disesuaikan untuk mengevaluasi model Anda untuk berbagai kasus penggunaan.

Bagian berikut menunjukkan cara mengevaluasi model hakim yang disesuaikan untuk kasus penggunaan ideal Anda.

Menyiapkan set data

Untuk mengevaluasi metrik berbasis model, siapkan set data evaluasi dengan rating dari manusia sebagai kebenaran nyata. Tujuannya adalah untuk membandingkan skor dari metrik berbasis model dengan rating manual dan melihat apakah metrik berbasis model memiliki kualitas ideal untuk kasus penggunaan Anda.

  • Untuk PointwiseMetric, siapkan kolom {metric_name}/human_rating dalam set data sebagai kebenaran dasar untuk hasil {metric_name}/score yang dihasilkan oleh metrik berbasis model.

  • Untuk PairwiseMetric, siapkan kolom {metric_name}/human_pairwise_choice dalam set data sebagai kebenaran dasar untuk hasil {metric_name}/pairwise_choice yang dihasilkan oleh metrik berbasis model.

Gunakan skema set data berikut:

Metrik berbasis model Kolom rating manual
PointwiseMetric {metric_name}/human_rating
PairwiseMetric {metric_name}/human_pairwise_choice

Metrik yang tersedia

Untuk PointwiseMetric yang hanya menampilkan 2 skor (seperti 0 dan 1), dan PairwiseMetric yang hanya memiliki 2 jenis preferensi (Model A atau Model B), metrik berikut tersedia:

Metrik Penghitungan
Akurasi seimbang 2 kelas \( (1/2)*(True Positive Rate + True Negative Rate) \)
Skor f1 seimbang 2 kelas \( ∑_{i=0,1} (cnt_i/sum) * f1(class_i) \)
Confusion matrix Gunakan kolom confusion_matrix dan confusion_matrix_labels untuk menghitung metrik seperti Rasio positif benar (TPR), Rasio negatif benar (TNR), Rasio positif palsu (FPR), dan Rasio negatif palsu (FNR).

Misalnya, hasil berikut:
confusion_matrix = [[20, 31, 15],
    [10, 11,  3],
   [ 3,  2,  2]]
confusion_matrix_labels = ['BASELINE', 'CANDIDATE', 'TIE']
diterjemahkan ke dalam matriks konfusi berikut:
             BASELINE |  CANDIDATE | TIE
   BASELINE.    20         31        15
   CANDIDATE.   10         11         3
   TIE.         3           2         2 |

Untuk PointwiseMetric yang menampilkan lebih dari 2 skor (seperti 1 hingga 5), dan PairwiseMetric yang memiliki lebih dari 2 jenis preferensi (Model A, Model B, atau Seri), metrik berikut tersedia:

Metrik Penghitungan
Akurasi seimbang multi-kelas \( (1/n) *∑_{i=1...n}(recall(class_i)) \)
Skor f1 seimbang multi-kelas \( ∑_{i=1...n} (cnt_i/sum) * f1(class_i) \)

Dengan:

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

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

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

  • \( n \) : jumlah kelas

  • \( cnt_i \) : jumlah \( class_i \) dalam data kebenaran dasar

  • \( sum \): jumlah elemen dalam data kebenaran dasar

Untuk menghitung metrik lainnya, Anda dapat menggunakan library open source.

Mengevaluasi metrik berbasis model

Contoh berikut memperbarui metrik berbasis model dengan definisi kelancaran kustom, lalu mengevaluasi kualitas metrik.

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

Langkah berikutnya