Mengonfigurasi model hakim

Metrik berbasis model memungkinkan Anda menyesuaikan cara menghasilkan metrik evaluasi berdasarkan kriteria dan kasus penggunaan Anda. Panduan ini menunjukkan cara mengonfigurasi model penilaian dan mencakup topik berikut:

  • Pilih opsi konfigurasi: Bandingkan berbagai metode yang tersedia untuk menyesuaikan model hakim Anda.
  • Petunjuk sistem: Berikan petunjuk tingkat tinggi dan persisten kepada model penilai untuk memengaruhi perilakunya.
  • Pembalikan respons: Mengurangi potensi bias posisi dengan menukar posisi respons model dasar dan kandidat.
  • Multi-sampling: Meningkatkan konsistensi dengan memanggil model penilaian beberapa kali untuk input yang sama dan menggabungkan hasilnya.
  • Model penilai yang disesuaikan: Gunakan LLM yang disesuaikan sebagai model penilai untuk tugas evaluasi khusus.

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

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

Memilih opsi konfigurasi

Anda memiliki beberapa opsi untuk mengonfigurasi model penilaian agar kualitasnya lebih baik. Tabel berikut memberikan perbandingan umum setiap pendekatan.

Opsi Deskripsi Kasus Penggunaan
Petunjuk sistem Memberikan petunjuk tingkat tinggi dan persisten ke model hakim yang memengaruhi perilakunya untuk semua perintah evaluasi berikutnya. Saat Anda perlu menentukan peran, persona, atau format output yang konsisten untuk model hakim di seluruh tugas evaluasi.
Membalikkan respons Menukar posisi respons model dasar dan kandidat untuk setengah dari panggilan evaluasi. Untuk mengurangi potensi bias posisi dalam evaluasi berpasangan di mana model hakim mungkin lebih menyukai respons di posisi pertama atau kedua.
Multi-sampling Memanggil model hakim beberapa kali untuk input yang sama dan menggabungkan hasilnya. Untuk meningkatkan konsistensi dan keandalan skor evaluasi dengan mengurangi efek keacakan dalam respons model hakim.
Model penilai yang disesuaikan Menggunakan LLM yang disesuaikan sebagai model penilai untuk evaluasi. Untuk tugas evaluasi khusus yang memerlukan pemahaman yang mendalam atau pengetahuan khusus domain yang tidak dimiliki oleh model tujuan umum.

Petunjuk sistem

Model Gemini dapat menerima petunjuk sistem, yang merupakan serangkaian petunjuk yang memengaruhi cara model memproses perintah. Anda dapat menggunakan petunjuk sistem saat menginisialisasi atau membuat konten dari model untuk menentukan perilaku tingkat produk seperti peran, persona, informasi kontekstual, serta gaya dan nada penjelasan. Model penilaian biasanya memberikan bobot yang lebih besar pada petunjuk sistem daripada pada 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.

Membalikkan respons

Untuk PairwiseMetrics, layanan evaluasi AI generatif menggunakan respons dari 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. Teknik ini menukar respons model dasar dan kandidat untuk setengah panggilan ke model penilai. Contoh berikut menunjukkan cara mengaktifkan pembalikan respons 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

Model hakim dapat menunjukkan keacakan dalam responsnya selama evaluasi. Untuk mengurangi efek keacakan ini dan menghasilkan hasil yang lebih konsisten, Anda dapat menggunakan pengambilan sampel tambahan. Teknik ini juga dikenal sebagai multi-sampling.

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 keacakan dan latensi.

Dengan Vertex AI SDK, Anda dapat menentukan jumlah sampel yang akan 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()

Langkah berikutnya