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 juri untuk kasus penggunaan ideal Anda.
Untuk alur kerja evaluasi dasar, lihat Panduan memulai layanan evaluasi AI generatif. Seri penyesuaian model juri lanjutan mencakup halaman berikut:
- Mengevaluasi model juri
- Mengonfigurasi model juri (halaman saat ini)
Ringkasan
Anda memiliki opsi berikut untuk mengonfigurasi model juri guna meningkatkan kualitas:
- System instructions: Model juri dapat memproses serangkaian petunjuk sebelum memproses perintah evaluasi.
- Konfigurasi model juri:
- Response flipping: Membalik respons dari model dasar dan model kandidat untuk mengurangi bias model juri selama evaluasi.
- Multi-sampling: Sesuaikan frekuensi pemanggilan model juri untuk skor evaluasi guna meningkatkan konsistensi.
- Model juri yang disesuaikan: Gunakan LLM yang disesuaikan sebagai model juri.
Petunjuk sistem
Model Gemini dapat menerima petunjuk sistem, yang merupakan serangkaian petunjuk yang memengaruhi cara model memproses perintah. Anda dapat menggunakan petunjuk sistem saat melakukan inisialisasi atau membuat konten dari model untuk menentukan perilaku tingkat produk seperti peran atau persona, informasi kontekstual, serta gaya dan nuansa penjelasan. Model juri biasanya lebih mementingkan petunjuk sistem daripada perintah input.
Contoh berikut yang menggunakan Vertex AI SDK 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 juri
Anda dapat menyesuaikan model penilai lebih lanjut melalui autorater_config:
Response flipping: Membalik respons dari model dasar dan model kandidat untuk mengurangi bias model juri selama evaluasi.
Multi-sampling: Sesuaikan frekuensi pemanggilan model penilai untuk skor evaluasi guna meningkatkan konsistensi.
Model juri yang disesuaikan: Gunakan LLM yang disesuaikan sebagai model juri.
Pembalikan 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 juri mungkin bias terhadap model dasar atau kandidat dalam setelan tertentu.
Untuk mengurangi bias dalam hasil evaluasi, Anda dapat mengaktifkan pembalikan respons, di mana separuh panggilan ke model penilai membalik 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 juri mungkin menunjukkan beberapa keacakan dalam responsnya. Sampling tambahan dapat membantu meniadakan keacakan yang melekat pada model juri dan memberikan 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, yaitu keacakan dan latensi.
Dengan menggunakan 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 juri yang disesuaikan
Jika Anda memiliki data penyesuaian yang baik untuk kasus penggunaan evaluasi, Anda dapat menggunakan Vertex AI SDK untuk menyesuaikan model Gemini sebagai model juri dan menggunakan model yang telah disesuaikan untuk evaluasi. Anda dapat menentukan model yang telah disesuaikan sebagai model juri 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()