Menentukan metrik evaluasi

Langkah pertama untuk mengevaluasi model atau aplikasi generatif adalah mengidentifikasi sasaran evaluasi dan menentukan metrik evaluasi. Halaman ini memberikan ringkasan konsep yang terkait dengan menentukan metrik evaluasi untuk kasus penggunaan Anda.

Ringkasan

Model AI generatif dapat digunakan untuk membuat aplikasi untuk berbagai tugas, seperti meringkas artikel berita, merespons pertanyaan pelanggan, atau membantu penulisan kode. Layanan evaluasi AI Generatif di Vertex AI memungkinkan Anda mengevaluasi model apa pun dengan metrik yang dapat dijelaskan.

Misalnya, Anda mungkin sedang mengembangkan aplikasi untuk meringkas artikel. Untuk mengevaluasi performa aplikasi Anda pada tugas tertentu tersebut, pertimbangkan kriteria yang ingin Anda ukur dan metrik yang akan Anda gunakan untuk menilainya:

  • Kriteria: Satu atau beberapa dimensi yang ingin Anda evaluasi, seperti conciseness, relevance, correctness, atau appropriate choice of words.

  • Metrik: Satu skor yang mengukur output model berdasarkan kriteria.

Layanan evaluasi AI Generatif menyediakan dua jenis metrik utama:

  • Metrik berbasis model: Metrik berbasis model kami menilai model kandidat Anda terhadap model hakim. Model hakim untuk sebagian besar kasus penggunaan adalah Gemini, tetapi Anda juga dapat menggunakan model seperti MetricX atau COMET untuk kasus penggunaan terjemahan.

    Anda dapat mengukur metrik berbasis model secara berpasangan atau per titik:

    • Metrik titik: Izinkan model juri menilai output model kandidat berdasarkan kriteria evaluasi. Misalnya, skornya bisa 0~5, dengan 0 berarti respons tidak sesuai dengan kriteria, sedangkan 5 berarti respons sesuai dengan kriteria.

    • Metrik berpasangan: Izinkan model hakim membandingkan respons dari dua model dan memilih model yang lebih baik. Hal ini sering digunakan saat membandingkan model kandidat dengan model dasar pengukuran. Metrik berpasangan hanya didukung dengan Gemini sebagai model penentu.

  • Metrik berbasis komputasi: Metrik ini dihitung menggunakan formula matematika untuk membandingkan output model dengan kebenaran dasar atau referensi. Metrik berbasis komputasi yang umum digunakan meliputi ROUGE dan BLEU.

Anda dapat menggunakan metrik berbasis komputasi secara mandiri, atau bersama dengan metrik berbasis model. Gunakan tabel berikut untuk menentukan kapan harus menggunakan metrik berbasis model atau berbasis komputasi:

Pendekatan evaluasi Data Biaya dan kecepatan
Metrik berbasis model Menggunakan model juri untuk menilai performa berdasarkan kriteria evaluasi deskriptif Kebenaran dasar bersifat opsional Sedikit lebih mahal dan lebih lambat
Metrik berbasis komputasi Menggunakan formula matematika untuk menilai performa Kebenaran dasar biasanya diperlukan Hemat biaya dan cepat

Untuk memulai, lihat Menyiapkan set data dan Menjalankan evaluasi.

Menentukan metrik berbasis model

Evaluasi berbasis model melibatkan penggunaan model machine learning sebagai model hakim untuk mengevaluasi output model kandidat.

Model penilai eksklusif Google, seperti Gemini, dikalibrasi dengan penilai manual untuk memastikan kualitasnya. Fitur ini dikelola dan tersedia secara otomatis. Proses evaluasi berbasis model bervariasi berdasarkan metrik evaluasi yang Anda berikan.

Evaluasi berbasis model mengikuti proses ini:

  1. Persiapan data: Anda memberikan data evaluasi dalam bentuk perintah input. Model kandidat menerima perintah dan menghasilkan respons yang sesuai.

  2. Evaluasi: Metrik evaluasi dan respons yang dihasilkan dikirim ke model juri. Model hakim mengevaluasi setiap respons satu per satu, memberikan penilaian berbasis baris.

  3. Agregasi dan penjelasan: Layanan evaluasi AI generatif menggabungkan penilaian individual ini menjadi skor keseluruhan. Output juga mencakup penjelasan rantai pemikiran untuk setiap penilaian, yang menguraikan alasan di balik pemilihan.

Layanan evaluasi AI Generatif menawarkan opsi berikut untuk menyiapkan metrik berbasis model dengan Vertex AI SDK:

Opsi Deskripsi Paling cocok untuk
Menggunakan contoh yang ada Gunakan template perintah metrik bawaan untuk memulai. Kasus penggunaan umum, menghemat waktu
Menentukan metrik dengan antarmuka template kami Dapatkan bantuan terpandu dalam menentukan metrik Anda. Antarmuka template kami memberikan struktur dan saran. Penyesuaian dengan dukungan
Menentukan metrik dari awal Memiliki kontrol penuh atas definisi metrik Anda. Ideal untuk kasus penggunaan yang sangat spesifik. Memerlukan lebih banyak keahlian teknis dan investasi waktu.

Misalnya, Anda mungkin ingin mengembangkan aplikasi AI generatif yang menampilkan respons yang lancar dan menghibur. Untuk aplikasi ini, Anda dapat menentukan dua kriteria untuk evaluasi menggunakan antarmuka dengan template:

  • Kefasihan: Kalimat mengalir lancar, menghindari frasa yang canggung atau kalimat panjang. Ide dan kalimat terhubung secara logis, menggunakan transisi secara efektif jika diperlukan.

  • Hiburan: Teks singkat dan lucu yang menyertakan emoji, tanda seru, dan pertanyaan untuk menyampaikan komunikasi dan hiburan yang cepat dan spontan.

Untuk mengubah kedua kriteria tersebut menjadi metrik, Anda menginginkan skor keseluruhan yang berkisar antara -1 ~ 1 yang disebut custom_text_quality. Anda dapat menentukan metrik seperti ini:

# Define a pointwise metric with two criteria: Fluency and Entertaining.
custom_text_quality = PointwiseMetric(
    metric="custom_text_quality",
    metric_prompt_template=PointwiseMetricPromptTemplate(
        criteria={
            "fluency": (
                "Sentences flow smoothly and are easy to read, avoiding awkward"
                " phrasing or run-on sentences. Ideas and sentences connect"
                " logically, using transitions effectively where needed."
            ),
            "entertaining": (
                "Short, amusing text that incorporates emojis, exclamations and"
                " questions to convey quick and spontaneous communication and"
                " diversion."
            ),
        },
        rating_rubric={
            "1": "The response performs well on both criteria.",
            "0": "The response is somewhat aligned with both criteria",
            "-1": "The response falls short on both criteria",
        },
    ),
)

Untuk mengetahui daftar lengkap template perintah metrik, lihat Template perintah metrik untuk evaluasi.

Mengevaluasi model terjemahan

Layanan evaluasi Gen AI menawarkan metrik evaluasi tugas terjemahan berikut:

MetricX dan COMET adalah metrik berbasis model pointwise yang telah dilatih untuk tugas terjemahan. Anda dapat mengevaluasi kualitas dan akurasi hasil model terjemahan untuk konten Anda, baik itu output model NMT, TranslationLLM, maupun Gemini.

Anda juga dapat menggunakan Gemini sebagai model juri untuk mengevaluasi kelancaran, koherensi, panjang kalimat, dan kualitas teks model Anda dalam kombinasi dengan MetricX, COMET, atau BLEU.

  • MetricX adalah metrik berbasis error yang dikembangkan oleh Google yang memprediksi skor floating point antara 0 dan 25 yang mewakili kualitas terjemahan. MetricX tersedia sebagai metode berbasis referensi dan bebas referensi (QE). Saat Anda menggunakan metrik ini, skor yang lebih rendah adalah skor yang lebih baik, karena berarti ada lebih sedikit error.

  • COMET menggunakan pendekatan regresi berbasis referensi yang memberikan skor mulai dari 0 hingga 1, dengan 1 menunjukkan terjemahan yang sempurna.

  • BLEU (Bilingual Evaluation Understudy) adalah metrik berbasis komputasi. Skor BLEU menunjukkan seberapa mirip teks kandidat dengan teks referensi. Nilai skor BLEU yang lebih dekat ke angka satu menunjukkan bahwa terjemahan lebih dekat dengan teks referensi.

Perhatikan bahwa skor BLEU tidak direkomendasikan untuk dibandingkan di berbagai korpus dan bahasa. Misalnya, skor BLEU bahasa Inggris ke bahasa Jerman sebesar 50 tidak sebanding dengan skor BLEU bahasa Jepang ke bahasa Inggris sebesar 50. Banyak pakar terjemahan telah beralih ke pendekatan metrik berbasis model, yang memiliki korelasi lebih tinggi dengan rating manusia dan lebih terperinci dalam mengidentifikasi skenario error.

Untuk mempelajari cara menjalankan evaluasi untuk model terjemahan, lihat Mengevaluasi model terjemahan.

Memilih antara evaluasi titik per titik atau berpasangan

Gunakan tabel berikut untuk menentukan kapan Anda ingin menggunakan evaluasi pointwise atau pairwise:

Definisi Kapan digunakan Contoh kasus penggunaan
Evaluasi pointwise Mengevaluasi satu model dan menghasilkan skor berdasarkan kriteria
  • Jika Anda memerlukan skor untuk setiap model yang dievaluasi.
  • Jika tidak sulit untuk menentukan rubrik untuk setiap skor.
  • Memahami perilaku model Anda dalam produksi.
  • Mempelajari kekuatan dan kelemahan satu model.
  • Mengidentifikasi perilaku yang akan difokuskan saat melakukan penyesuaian.
  • Mendapatkan performa dasar pengukuran model.
Evaluasi berpasangan Membandingkan dua model satu sama lain, menghasilkan preferensi berdasarkan kriteria
  • Saat Anda ingin membandingkan dua model dan skor tidak diperlukan.
  • Jika rubrik skor untuk pointwise sulit ditentukan. Misalnya, mungkin sulit untuk menentukan rubrik 1~5 untuk kualitas teks pointwise, tetapi tidak terlalu sulit untuk membandingkan dua model dan menampilkan preferensi secara langsung.
  • Menentukan model mana yang akan diproduksi.
  • Memilih di antara jenis model. Misalnya, Gemini-Pro versus Claude 3.
  • Memilih di antara perintah yang berbeda.
  • Menentukan apakah penyesuaian membuat peningkatan pada model dasar.

Metrik berbasis komputasi

Metrik berbasis komputasi membandingkan apakah hasil yang dihasilkan LLM konsisten dengan set data kebenaran nyata dari pasangan input dan output. Metrik yang umum digunakan dapat dikategorikan ke dalam grup berikut:

  • Metrik berbasis leksikon: Gunakan matematika untuk menghitung kemiripan string antara hasil yang dihasilkan LLM dan kebenaran dasar, seperti Exact Match dan ROUGE.
  • Metrik berbasis jumlah: Menggabungkan jumlah baris yang mencapai atau tidak mencapai label ground truth tertentu, seperti F1-score, Accuracy, dan Tool Name Match.
  • Metrik berbasis penyematan: Menghitung jarak antara hasil yang dihasilkan LLM dan kebenaran nyata di ruang penyematan, yang mencerminkan tingkat kesamaannya.

Pembuatan teks umum

Metrik berikut membantu Anda mengevaluasi kemampuan model untuk memastikan responsnya berguna, aman, dan efektif bagi pengguna.

Pencocokan persis

Metrik exact_match menghitung apakah respons model sama persis dengan referensi.

  • Batas token: Tidak ada

Kriteria evaluasi

Tidak berlaku.

Parameter input metrik

Parameter input Deskripsi
response Respons LLM.
reference Respons LLM emas untuk referensi.

Skor output

Nilai Deskripsi
0 Tidak cocok
1 Cocok

BLEU

Metrik bleu (BiLingual Evaluation Understudy) menyimpan hasil algoritma untuk mengevaluasi kualitas respons, yang telah diterjemahkan dari satu bahasa alami ke bahasa alami lainnya. Kualitas respons dianggap sebagai korespondensi antara parameter response dan parameter reference-nya.

  • Batas token: Tidak ada

Kriteria evaluasi

Tidak berlaku.

Parameter input metrik

Parameter input Deskripsi
response Respons LLM.
reference Respons LLM emas untuk referensi.

Skor output

Nilai Deskripsi
Float dalam rentang [0,1] Skor yang lebih tinggi menunjukkan terjemahan yang lebih baik. Skor 1 menunjukkan kecocokan sempurna dengan reference.

ROUGE

Metrik ROUGE digunakan untuk membandingkan parameter response yang disediakan dengan parameter reference. Semua metrik rouge menampilkan skor F1. rouge-l-sum dihitung secara default, tetapi Anda dapat menentukan varian rouge yang ingin digunakan.

  • Batas token: Tidak ada

Kriteria evaluasi

Tidak berlaku

Parameter input metrik

Parameter input Deskripsi
response Respons LLM.
reference Respons LLM emas untuk referensi.

Skor output

Nilai Deskripsi
Float dalam rentang [0,1] Skor yang lebih dekat dengan 0 berarti kesamaan yang buruk antara response dan reference. Skor yang lebih dekat dengan 1 berarti kesamaan yang kuat antara response dan reference.

Penggunaan alat dan panggilan fungsi

Metrik berikut membantu Anda mengevaluasi kemampuan model untuk memprediksi panggilan alat (fungsi) yang valid.

Panggilan valid

Metrik tool_call_valid menjelaskan kemampuan model untuk memprediksi panggilan alat yang valid. Hanya panggilan alat pertama yang diperiksa.

  • Batas token: Tidak ada

Kriteria evaluasi

Kriteria evaluasi Deskripsi
Validitas Output model berisi panggilan alat yang valid.
Pemformatan Kamus JSON berisi kolom name dan arguments.

Parameter input metrik

Parameter input Deskripsi
prediction Output model kandidat, yang merupakan string JSON yang diserialisasi yang berisi kunci content dan tool_calls. Nilai content adalah output teks dari model. Nilai tool_calls adalah string JSON yang diserialisasi dari daftar panggilan alat. Berikut adalah contohnya:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Prediksi referensi ground truth, yang mengikuti format yang sama dengan prediction.

Skor output

Nilai Deskripsi
0 Panggilan alat tidak valid
1 Panggilan alat yang valid

Kecocokan nama

Metrik tool_name_match menjelaskan kemampuan model untuk memprediksi panggilan alat dengan nama alat yang benar. Hanya panggilan alat pertama yang diperiksa.

  • Batas token: Tidak ada

Kriteria evaluasi

Kriteria evaluasi Deskripsi
Pencocokan nama Panggilan alat yang diprediksi model cocok dengan nama panggilan alat referensi.

Parameter input metrik

Parameter input Deskripsi
prediction Output model kandidat, yang merupakan string JSON yang diserialisasi yang berisi kunci content dan tool_calls. Nilai content adalah output teks dari model. Nilai tool_call adalah string JSON yang diserialisasi dari daftar panggilan alat. Berikut adalah contohnya:

{"content": "","tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Prediksi referensi ground truth, yang mengikuti format yang sama dengan prediction.

Skor output

Nilai Deskripsi
0 Nama panggilan alat tidak cocok dengan referensi.
1 Nama panggilan alat cocok dengan referensi.

Pencocokan kunci parameter

Metrik tool_parameter_key_match menjelaskan kemampuan model untuk memprediksi panggilan alat dengan nama parameter yang benar.

  • Batas token: Tidak ada

Kriteria evaluasi

Kriteria evaluasi Deskripsi
Rasio pencocokan parameter Rasio antara jumlah parameter yang diprediksi yang cocok dengan nama parameter panggilan alat referensi dan jumlah total parameter.

Parameter input metrik

Parameter input Deskripsi
prediction Output model kandidat, yang merupakan string JSON yang diserialisasi yang berisi kunci content dan tool_calls. Nilai content adalah output teks dari model. Nilai tool_call adalah string JSON yang diserialisasi dari daftar panggilan alat. Berikut adalah contohnya:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Prediksi model referensi kebenaran dasar, yang mengikuti format yang sama dengan prediction.

Skor output

Nilai Deskripsi
Float dalam rentang [0,1] Skor 1 yang lebih tinggi berarti lebih banyak parameter yang cocok dengan nama parameter reference.

Pencocokan KV parameter

Metrik tool_parameter_kv_match menjelaskan kemampuan model untuk memprediksi panggilan alat dengan nama parameter dan nilai kunci yang benar.

  • Batas token: Tidak ada

Kriteria evaluasi

Kriteria evaluasi Deskripsi
Rasio pencocokan parameter Rasio antara jumlah parameter yang diprediksi yang cocok dengan nama dan nilai parameter panggilan alat referensi serta jumlah total parameter.

Parameter input metrik

Parameter input Deskripsi
prediction Output model kandidat, yang merupakan string JSON yang diserialisasi yang berisi kunci content dan tool_calls. Nilai content adalah output teks dari model. Nilai tool_call adalah string JSON yang diserialisasi dari daftar panggilan alat. Berikut adalah contohnya:

{"content": "", "tool_calls": [{"name": "book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]}
reference Prediksi referensi ground truth, yang mengikuti format yang sama dengan prediction.

Skor output

Nilai Deskripsi
Float dalam rentang [0,1] Skor 1 yang lebih tinggi berarti lebih banyak parameter yang cocok dengan nama dan nilai parameter reference.

Di layanan evaluasi AI generatif, Anda dapat menggunakan metrik berbasis komputasi melalui Vertex AI SDK untuk Python.

Kualitas evaluasi dasar pengukuran untuk tugas generatif

Saat mengevaluasi output model AI generatif, perhatikan bahwa proses evaluasi pada dasarnya bersifat subjektif, dan kualitas evaluasi dapat bervariasi bergantung pada tugas dan kriteria evaluasi tertentu. Subjektivitas ini juga berlaku untuk evaluator manusia. Untuk informasi selengkapnya tentang tantangan dalam mencapai evaluasi yang konsisten untuk model AI generatif, lihat Menilai LLM-as-a-Judge dengan MT-Bench dan Chatbot Arena serta Mempelajari cara membuat ringkasan dari masukan manusia.

Langkah selanjutnya