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
, atauappropriate 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:
Persiapan data: Anda memberikan data evaluasi dalam bentuk perintah input. Model kandidat menerima perintah dan menghasilkan respons yang sesuai.
Evaluasi: Metrik evaluasi dan respons yang dihasilkan dikirim ke model juri. Model hakim mengevaluasi setiap respons satu per satu, memberikan penilaian berbasis baris.
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 |
|
|
Evaluasi berpasangan | Membandingkan dua model satu sama lain, menghasilkan preferensi berdasarkan kriteria |
|
|
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
danROUGE
. - Metrik berbasis jumlah: Menggabungkan jumlah baris yang mencapai atau tidak mencapai label
ground truth tertentu, seperti
F1-score
,Accuracy
, danTool 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
Temukan template metrik berbasis model.
Coba notebook contoh evaluasi.