Metrik berbasis model menyediakan berbagai pendekatan untuk menyesuaikan dan membantu Anda membuat metrik evaluasi berdasarkan kriteria dan kasus penggunaan Anda. Halaman ini menjelaskan cara mengonfigurasi model penilaian untuk kasus penggunaan ideal Anda.
Untuk alur kerja evaluasi dasar, lihat Panduan memulai layanan evaluasi AI generatif. Seri penyesuaian model hakim lanjutan mencakup halaman berikut:
- Mengevaluasi model penilai
- Perintah untuk penyesuaian model penilaian
- Mengonfigurasi model penilaian (halaman saat ini)
Ringkasan
Anda memiliki opsi berikut untuk mengonfigurasi model penilaian agar kualitasnya lebih baik:
- Petunjuk sistem: Model penilai dapat memproses serangkaian petunjuk sebelum memproses perintah evaluasi.
- Konfigurasi model hakim:
- Pembalikan respons: Membalikkan respons dari model dasar dan model kandidat untuk mengurangi bias model hakim selama evaluasi.
- Multi-sampling: Sesuaikan jumlah panggilan model penilai untuk skor evaluasi guna meningkatkan konsistensi.
- Model hakim yang dioptimalkan: Menggunakan LLM yang dioptimalkan sebagai model hakim.
Petunjuk sistem
Model Gemini dapat menerima petunjuk sistem, yang merupakan serangkaian petunjuk yang memengaruhi cara model memproses perintah. Anda dapat menggunakan petunjuk sistem saat memulai atau membuat konten dari model untuk menentukan perilaku tingkat produk seperti peran atau persona, informasi kontekstual, serta gaya dan nada penjelasan. Model penilaian biasanya mempertimbangkan pentingnya petunjuk sistem lebih tinggi daripada perintah input.
Untuk mengetahui daftar model yang mendukung petunjuk sistem, lihat Model yang didukung.
Contoh berikut menggunakan Vertex AI SDK untuk menambahkan system_instruction
di tingkat metrik untuk PointwiseMetric
:
system_instruction = "You are an expert evaluator."
linguistic_acceptability = PointwiseMetric(
metric="linguistic_acceptability",
metric_prompt_template=linguistic_acceptability_metric_prompt_template,
system_instruction=system_instruction,
)
eval_result = EvalTask(
dataset=EVAL_DATASET,
metrics=[linguistic_acceptability]
).evaluate()
Anda dapat menggunakan pendekatan yang sama dengan PairwiseMetric
.
Konfigurasi model hakim
Anda dapat menyesuaikan model penilaian lebih lanjut melalui autorater_config
:
Pembalikan respons: Membalikkan respons dari model dasar dan model kandidat untuk mengurangi bias model hakim selama evaluasi.
Multi-sampling: Sesuaikan jumlah panggilan model penilai untuk skor evaluasi guna meningkatkan konsistensi.
Model hakim yang dioptimalkan: Menggunakan LLM yang dioptimalkan sebagai model hakim.
Membalikkan respons
Untuk PairwiseMetrics
, layanan evaluasi AI generatif menerima respons untuk model dasar dan model kandidat. Model juri mengevaluasi respons mana yang lebih sesuai dengan kriteria dalam metric_prompt_template
. Namun, model penilaian mungkin bias terhadap model dasar atau model kandidat dalam setelan tertentu.
Untuk mengurangi bias dalam hasil evaluasi, Anda dapat mengaktifkan pembalikan respons, dengan setengah dari panggilan ke model hakim membalikkan respons model dasar dan model kandidat menggunakan Vertex AI SDK:
from vertexai.preview.evaluation import AutoraterConfig
pairwise_relevance_prompt_template = """
# Instruction
…
### Response A
{baseline_model_response}
### Response B
{candidate_model_response}
"""
my_pairwise_metric = PairwiseMetric(
metric="my_pairwise_metric",
metric_prompt_template=pairwise_relevance_prompt_template,
candidate_response_field_name = "candidate_model_response",
baseline_response_field_name = "baseline_model_response"
)
# Define an AutoraterConfig with flip_enabled
my_autorater_config = AutoraterConfig(flip_enabled=True)
# Define an EvalTask with autorater_config
flip_enabled_eval_result = EvalTask(
dataset=EVAL_DATASET,
metrics=[my_pairwise_metric],
autorater_config=my_autorater_config,
).evaluate()
Multi-sampling
Saat melakukan evaluasi, model penilai mungkin menunjukkan beberapa keacakan dalam responsnya. Sampling tambahan dapat membantu meniadakan keacakan inheren model hakim dan menghasilkan hasil yang lebih konsisten.
Namun, peningkatan pengambilan sampel juga meningkatkan latensi untuk menyelesaikan permintaan. Anda dapat memperbarui nilai jumlah pengambilan sampel menggunakan AutoraterConfig
ke bilangan bulat antara 1 dan 32. Sebaiknya gunakan nilai sampling_count
default 4 untuk menyeimbangkan dua faktor keacakan dan latensi.
Dengan Vertex AI SDK, Anda dapat menentukan jumlah sampel yang dieksekusi untuk setiap permintaan:
from vertexai.preview.evaluation import AutoraterConfig
# Define customized sampling count in AutoraterConfig
autorater_config = AutoraterConfig(sampling_count=6)
# Run evaluation with the sampling count.
eval_result = EvalTask(
dataset=EVAL_DATASET,
metrics=[METRICS],
autorater_config=autorater_config
).evaluate()
Model hakim yang disesuaikan
Jika memiliki data penyesuaian yang baik untuk kasus penggunaan evaluasi, Anda dapat menggunakan Vertex AI SDK untuk menyesuaikan model Gemini sebagai model penilai dan menggunakan model yang telah disesuaikan untuk evaluasi. Anda dapat menentukan model yang di-tune sebagai model penilai melalui AutoraterConfig
:
from vertexai.preview.evaluation import {
AutoraterConfig,
PairwiseMetric,
tune_autorater,
evaluate_autorater,
}
# Tune a model to be the judge model. The tune_autorater helper function returns an AutoraterConfig with the judge model set as the tuned model.
autorater_config: AutoRaterConfig = tune_autorater(
base_model="gemini-2.0-flash",
train_dataset=f"{BUCKET_URI}/train/sft_train_samples.jsonl",
validation_dataset=f"{BUCKET_URI}/val/sft_val_samples.jsonl",
tuned_model_display_name=tuned_model_display_name,
)
# Alternatively, you can set up the judge model with an existing tuned model endpoint
autorater_config = AutoraterConfig(autorater_model=TUNED_MODEL)
# Use the tuned judge model
eval_result = EvalTask(
dataset=EVAL_DATASET,
metrics=[METRICS],
autorater_config=autorater_config,
).evaluate()