Hakim Berbasis Rubrik - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Hakim Berbasis Rubrik

Ikhtisar

Rubric Judge adalah model LLM-as-a-judge evaluasi yang disempurnakan yang dibangun di atas Nova 2.0 Lite. Berbeda dengan model hakim asli yang hanya memberikan putusan preferensi (A>B, B>A, atau dasi), Rubric Judge secara dinamis menghasilkan kriteria evaluasi khusus yang disesuaikan dengan setiap prompt dan memberikan skor granular di berbagai dimensi.

Kemampuan kunci

  • Pembuatan kriteria dinamis - Secara otomatis membuat dimensi evaluasi yang relevan berdasarkan prompt input

  • Skor tertimbang — Menetapkan bobot kepentingan untuk setiap kriteria untuk mencerminkan signifikansi relatifnya

  • Penilaian granular — Memberikan skor rinci berdasarkan biner (benar/salah) atau skala (1-5) untuk setiap kriteria

  • Metrik kualitas — Menghitung skor kualitas berkelanjutan (skala 0-1) yang mengukur besarnya perbedaan antara respons

Contoh kriteria yang dihasilkan oleh model

price_validation: description: "The response includes validation to ensure price is a positive value." type: "scale" weight: 0.3

Model mengevaluasi kedua tanggapan terhadap semua kriteria yang dihasilkan, kemudian menggunakan skor tingkat kriteria ini untuk menginformasikan keputusan preferensi akhirnya.

Konfigurasi resep

Resep Rubrik Hakim

Aktifkan Rubric Judge dengan mengatur task: rubric_llm_judge resep Anda:

run: name: nova-eval-job-name # [MODIFIABLE] Unique identifier for your evaluation job model_type: amazon.nova-2-lite-v1:0:256k # [FIXED] Rubric Judge model type model_name_or_path: "nova-lite-2/prod" # [FIXED] Path to model checkpoint or identifier replicas: 1 # [MODIFIABLE] Number of replicas for SageMaker Training job data_s3_path: "" # [FIXED] Leave empty for SageMaker Training job output_s3_path: "" # [FIXED] Leave empty for SageMaker Training job evaluation: task: rubric_llm_judge # [FIXED] Evaluation task - enables Rubric Judge strategy: judge # [FIXED] Evaluation strategy metric: all # [FIXED] Metric calculation method inference: max_new_tokens: 12000 # [MODIFIABLE] Maximum tokens to generate top_k: -1 # [MODIFIABLE] Top-k sampling parameter top_p: 1.0 # [MODIFIABLE] Nucleus sampling parameter temperature: 0 # [MODIFIABLE] Sampling temperature (0 = deterministic)

LLM asli sebagai resep Hakim (untuk perbandingan)

Model juri asli menggunakantask: llm_judge:

run: name: eval-job-name # [MODIFIABLE] Unique identifier for your evaluation job model_type: amazon.nova-micro-v1:0:128k # [FIXED] Model type model_name_or_path: "nova-micro/prod" # [FIXED] Path to model checkpoint or identifier replicas: 1 # [MODIFIABLE] Number of replicas for SageMaker Training job data_s3_path: "" # [FIXED] Leave empty for SageMaker Training job output_s3_path: "" # [FIXED] Leave empty for SageMaker Training job evaluation: task: llm_judge # [FIXED] Original judge task strategy: judge # [FIXED] Evaluation strategy metric: all # [FIXED] Metric calculation method inference: max_new_tokens: 12000 # [MODIFIABLE] Maximum tokens to generate top_k: -1 # [MODIFIABLE] Top-k sampling parameter top_p: 1.0 # [MODIFIABLE] Nucleus sampling parameter temperature: 0 # [MODIFIABLE] Sampling temperature (0 = deterministic)

Format dataset masukan

Format dataset input identik dengan model juri asli:

Bidang yang diperlukan

  • prompt— String yang berisi prompt input dan instruksi

  • response_A— String yang berisi keluaran model dasar

  • response_B- String yang berisi output model yang disesuaikan

Contoh kumpulan data (format JSONL)

{"prompt": "What is the most effective way to combat climate change?", "response_A": "The most effective way to combat climate change is through a combination of transitioning to renewable energy sources and implementing strict carbon pricing policies. This creates economic incentives for businesses to reduce emissions while promoting clean energy adoption.", "response_B": "We should focus on renewable energy. Solar and wind power are good. People should drive electric cars. Companies need to pollute less."} {"prompt": "Explain how a computer's CPU works", "response_A": "CPU is like brain of computer. It does math and makes computer work fast. Has lots of tiny parts inside.", "response_B": "A CPU (Central Processing Unit) functions through a fetch-execute cycle, where instructions are retrieved from memory, decoded, and executed through its arithmetic logic unit (ALU). It coordinates with cache memory and registers to process data efficiently using binary operations."} {"prompt": "How does photosynthesis work?", "response_A": "Plants do photosynthesis to make food. They use sunlight and water. It happens in leaves.", "response_B": "Photosynthesis is a complex biochemical process where plants convert light energy into chemical energy. They utilize chlorophyll to absorb sunlight, combining CO2 and water to produce glucose and oxygen through a series of chemical reactions in chloroplasts."}

Persyaratan format

  • Setiap entri harus berupa objek JSON satu baris

  • Pisahkan entri dengan baris baru

  • Ikuti penamaan bidang yang tepat seperti yang ditunjukkan pada contoh

Keluaran evaluasi

Struktur keluaran

Rubric Judge menghasilkan metrik evaluasi yang ditingkatkan dibandingkan dengan model juri asli:

{ "config_general": { "lighteval_sha": "string", "num_fewshot_seeds": "int", "max_samples": "int | null", "job_id": "int", "start_time": "float", "end_time": "float", "total_evaluation_time_secondes": "string", "model_name": "string", "model_sha": "string", "model_dtype": "string | null", "model_size": "string" }, "results": { "custom|rubric_llm_judge_judge|0": { "a_scores": "float", "a_scores_stderr": "float", "b_scores": "float", "b_scores_stderr": "float", "ties": "float", "ties_stderr": "float", "inference_error": "float", "inference_error_stderr": "float", "score": "float", "score_stderr": "float", "weighted_score_A": "float", "weighted_score_A_stderr": "float", "weighted_score_B": "float", "weighted_score_B_stderr": "float", "score_margin": "float", "score_margin_stderr": "float", "winrate": "float", "lower_rate": "float", "upper_rate": "float" } }, "versions": { "custom|rubric_llm_judge_judge|0": "int" } }

Metrik baru di Rubric Judge

Enam metrik berikut unik untuk Rubric Judge dan memberikan penilaian kualitas terperinci:

Metrik Deskripsi
Weighted_score_a Skor kualitas rata-rata yang dinormalisasi untuk Response_a di semua kriteria evaluasi yang dihasilkan model. Skor ditimbang berdasarkan kriteria kepentingan dan dinormalisasi ke skala 0-1 (lebih tinggi = kualitas yang lebih baik)
Weighted_Score_A_Stderr Kesalahan standar rata-rata untuk Weighted_score_A, menunjukkan ketidakpastian statistik
Weighted_Score_B Skor kualitas rata-rata yang dinormalisasi untuk Response_b di semua kriteria evaluasi yang dihasilkan model. Skor ditimbang berdasarkan kriteria kepentingan dan dinormalisasi ke skala 0-1 (lebih tinggi = kualitas yang lebih baik)
Weighted_Score_B_Stderr Kesalahan standar rata-rata untuk Weighted_score_B, menunjukkan ketidakpastian statistik
score_margin Perbedaan antara skor tertimbang (dihitung sebagai Weighted_score_A - Weighted_score_b). Rentang: -1.0 hingga 1.0. Positif = Response_A lebih baik; negatif = response_B lebih baik; mendekati nol = kualitas serupa
score_margin_stderr Kesalahan standar rata-rata untuk score_margin, menunjukkan ketidakpastian dalam pengukuran perbedaan kualitas

Memahami metrik skor tertimbang

Tujuan: Skor tertimbang memberikan pengukuran kualitas berkelanjutan yang melengkapi putusan preferensi biner, memungkinkan wawasan yang lebih dalam tentang kinerja model.

Perbedaan utama dari hakim asli

  • Hakim asli - Hanya menghasilkan preferensi diskrit (A> B, B> A, A = B)

  • Hakim Rubrik - Menghasilkan preferensi DAN skor kualitas berkelanjutan (skala 0-1) berdasarkan kriteria khusus

Menafsirkan score_margin

  • score_margin = -0.128: Response_B mencetak 12,8 poin persentase lebih tinggi dari Response_a

  • |score_margin| < 0.1: Perbedaan kualitas yang sempit (keputusan dekat)

  • |score_margin| > 0.2: Perbedaan kualitas yang jelas (keputusan percaya diri)

Kasus penggunaan

  • Peningkatan model — Identifikasi area spesifik di mana model Anda berkinerja buruk

  • Kuantifikasi kualitas — Ukur besarnya kesenjangan kinerja, bukan hanya rasio win/loss

  • Penilaian Keyakinan — Membedakan antara keputusan dekat dan perbedaan kualitas yang jelas

penting

Putusan akhir masih didasarkan pada label preferensi eksplisit model hakim untuk mempertahankan penalaran holistik dan memastikan mitigasi bias posisi yang tepat melalui evaluasi. forward/backward Skor tertimbang berfungsi sebagai alat observabilitas, bukan sebagai pengganti putusan utama.

Metodologi perhitungan

Skor tertimbang dihitung melalui proses berikut:

  • Ekstrak data kriteria — Parse output YAMM juri untuk mengekstrak skor kriteria dan bobot

  • Menormalkan skor:

    • Kriteria tipe skala (1-5): Normalisasi ke 0-1 dengan menghitung (skor - 1)/4

    • Kriteria biner (benar/salah): Konversi ke 1.0/0.0

  • Terapkan bobot - Kalikan setiap skor yang dinormalisasi dengan berat kriterianya

  • Agregat — Jumlahkan semua skor tertimbang untuk setiap respons

  • Hitung margin — Hitung score_margin = weighted_score_A - weighted_score_B

Contoh: Jika response_A memiliki jumlah tertimbang 0,65 dan response_B memiliki 0,78, score_margin maka akan menjadi -0,13, menunjukkan response_B adalah 13 poin persentase lebih tinggi dalam kualitas di semua kriteria tertimbang.