Untuk metrik berbasis model, layanan evaluasi AI Generatif mengevaluasi model Anda dengan model dasar, seperti Gemini, yang telah dikonfigurasi dan diminta sebagai model hakim. Jika Anda ingin mempelajari model juri lebih lanjut, Rangkaian penyesuaian model juri lanjutan menjelaskan alat tambahan yang dapat Anda gunakan untuk mengevaluasi dan mengonfigurasi model juri.
Untuk alur kerja evaluasi dasar, lihat Panduan memulai layanan evaluasi AI generatif. Rangkaian penyesuaian model juri lanjutan mencakup halaman berikut:
- Mengevaluasi model hakim (halaman saat ini)
- Meminta penyesuaian model hakim
- Mengonfigurasi model juri
Ringkasan
Menggunakan juri manusia untuk mengevaluasi model bahasa besar (LLM) dapat mahal dan memakan waktu. Menggunakan model hakim adalah cara yang lebih skalabel untuk mengevaluasi LLM. Layanan evaluasi AI Generatif menggunakan model Gemini 2.0 Flash yang dikonfigurasi secara default sebagai model hakim, 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 manusia sebagai kebenaran dasar. Tujuannya adalah membandingkan skor dari metrik berbasis model dengan rating manusia dan melihat apakah metrik berbasis model memiliki kualitas yang 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'] 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-class | \( (1/n) *∑_{i=1...n}(recall(class_i)) \) |
Skor f1 seimbang multi-class | \( ∑_{i=1...n} (cnt_i/sum) * f1(class_i) \) |
Dengan keterangan:
\( f1 = 2 * precision * recall / (precision + recall) \)
\( precision = True Positives / (True Positives + False Positives) \)
\( recall = True Positives / (True Positives + False Negatives) \)
\( n \) : jumlah class
\( cnt_i \) : jumlah \( class_i \) dalam data ground truth
\( sum \): jumlah elemen dalam data ground truth
Untuk menghitung metrik lainnya, Anda dapat menggunakan library open source.
Mengevaluasi metrik berbasis model
Contoh berikut memperbarui metrik berbasis model dengan definisi kefasihan kustom, lalu mengevaluasi kualitas metrik.
from vertexai.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]
)