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 hakim untuk kasus penggunaan ideal Anda.
Untuk alur kerja evaluasi dasar, lihat Panduan memulai layanan evaluasi AI generatif. Rangkaian penyesuaian model juri lanjutan mencakup halaman berikut:
- Mengevaluasi model juri
- Meminta penyesuaian model hakim
- Mengonfigurasi model juri (halaman saat ini)
Ringkasan
Anda memiliki opsi berikut untuk mengonfigurasi model juri guna meningkatkan kualitas:
- Petunjuk sistem: Model juri dapat memproses serangkaian petunjuk sebelum memproses perintah evaluasi.
- Mengadili konfigurasi model:
- Pembalikan respons: Membalik respons dari model dasar pengukuran dan model kandidat untuk mengurangi bias model juri selama evaluasi.
- Multi-sampling: Menyesuaikan frekuensi panggilan 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 hakim biasanya lebih mementingkan pentingnya petunjuk sistem daripada perintah input.
Untuk mengetahui daftar model yang mendukung petunjuk sistem, lihat Model yang didukung.
Contoh berikut 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 hakim
Anda dapat menyesuaikan model juri lebih lanjut melalui autorater_config
:
Pembalikan respons: Membalik respons dari model dasar pengukuran dan model kandidat untuk mengurangi bias model juri selama evaluasi.
Multi-sampling: Menyesuaikan frekuensi panggilan model juri 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 pengukuran dan model kandidat. Model juri mengevaluasi respons mana yang lebih sesuai dengan kriteria dalam metric_prompt_template
. Namun, model hakim mungkin bias terhadap model dasar pengukuran atau kandidat dalam setelan tertentu.
Untuk mengurangi bias dalam hasil evaluasi, Anda dapat mengaktifkan pembalikan respons, dengan setengah panggilan ke model hakim membalik respons model dasar dan model kandidat menggunakan Vertex AI SDK:
from vertexai.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 menghasilkan hasil yang lebih konsisten.
Namun, peningkatan sampling juga akan meningkatkan latensi untuk menyelesaikan permintaan. Anda dapat memperbarui nilai jumlah sampling 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.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 hakim dan menggunakan model yang disesuaikan untuk evaluasi. Anda dapat menentukan model yang di-tune sebagai model hakim melalui AutoraterConfig
:
from vertexai.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-1.5-pro-002",
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()