Panduan ini menunjukkan cara menjalankan pipeline evaluasi berbasis komputasi untuk mengevaluasi performa model dasar dan model AI generatif yang telah disesuaikan di Vertex AI. Pipeline mengevaluasi model Anda menggunakan serangkaian metrik terhadap set data evaluasi yang Anda berikan.
Halaman ini membahas beberapa topik berikut:
- Cara kerja evaluasi model berbasis komputasi: Pelajari proses evaluasi, yang menggunakan perintah dan kebenaran nyata untuk menghitung metrik.
- Siapkan dan upload set data evaluasi: Pahami format JSONL yang diperlukan dan cara mengupload data Anda.
- Lakukan evaluasi model: Jalankan tugas evaluasi menggunakan Google Cloud konsol, REST API, atau Vertex AI SDK untuk Python.
- Melihat hasil evaluasi: Temukan dan tafsirkan metrik evaluasi di Cloud Storage atau konsol Google Cloud .
Diagram berikut merangkum alur kerja keseluruhan untuk menjalankan evaluasi berbasis komputasi:
Untuk fitur evaluasi berbasis komputasi terbaru, lihat Tentukan metrik Anda.
Cara kerja evaluasi model berbasis komputasi
Untuk mengevaluasi performa model, Anda memberikan set data evaluasi yang berisi pasangan perintah dan kebenaran nyata. Untuk setiap pasangan, perintah adalah input yang ingin Anda evaluasi, dan kebenaran dasarnya adalah respons ideal untuk perintah tersebut.
Selama evaluasi, proses meneruskan perintah dari setiap pasangan ke model untuk menghasilkan output. Kemudian, proses ini menggunakan output yang dihasilkan model dan kebenaran nyata yang sesuai untuk menghitung metrik evaluasi.
Jenis metrik yang digunakan untuk evaluasi bergantung pada tugas yang Anda evaluasi. Tabel berikut menunjukkan tugas yang didukung dan metrik yang digunakan untuk mengevaluasi setiap tugas:
Tugas | Metrik |
---|---|
Klasifikasi | Micro-F1, Macro-F1, Per class F1 |
Perangkuman | ROUGE-L |
Proses menjawab pertanyaan | Pencocokan Persis |
Pembuatan teks | BLEU, ROUGE-L |
Model yang didukung
Anda dapat mengevaluasi model berikut:
text-bison
: Versi dasar dan versi yang disesuaikan.- Gemini: Semua tugas kecuali klasifikasi.
Menyiapkan dan mengupload set data evaluasi
Set data evaluasi mencakup pasangan perintah dan kebenaran nyata yang selaras dengan tugas yang ingin Anda evaluasi. Set data Anda harus menyertakan minimal satu pasangan perintah dan kebenaran nyata, dan minimal 10 pasangan untuk metrik yang bermakna. Makin banyak contoh yang Anda berikan, makin bermakna hasilnya.
Format set data
Set data evaluasi Anda harus dalam format JSON Lines (JSONL), dengan setiap baris adalah objek JSON. Setiap objek harus berisi kolom input_text
dengan perintah yang ingin Anda evaluasi dan kolom output_text
dengan respons ideal untuk perintah tersebut.
Panjang token maksimum untuk input_text
adalah 8.192, dan panjang token maksimum untuk output_text
adalah 1.024.
Mengupload set data ke Cloud Storage
Anda dapat membuat bucket Cloud Storage baru atau menggunakan bucket yang sudah ada untuk menyimpan file set data. Bucket harus berada di region yang sama dengan model.
Setelah bucket siap, upload file set data Anda ke bucket.
Pilih metode evaluasi
Anda dapat menjalankan tugas evaluasi berbasis komputasi menggunakan konsol Google Cloud , REST API, atau Vertex AI SDK untuk Python. Tabel berikut dapat membantu Anda memilih opsi terbaik untuk kasus penggunaan Anda.
Metode | Deskripsi | Kasus Penggunaan |
---|---|---|
Google Cloud console | Antarmuka pengguna grafis (GUI) yang menyediakan alur kerja langkah demi langkah yang terpandu untuk membuat dan memantau tugas evaluasi. |
|
REST API | Antarmuka terprogram untuk membuat tugas evaluasi dengan mengirim permintaan JSON ke endpoint. |
|
Vertex AI SDK untuk Python | Library Python tingkat tinggi yang menyederhanakan interaksi dengan Vertex AI API. |
|
Melakukan evaluasi model
Gunakan salah satu metode berikut untuk menjalankan tugas evaluasi model.
REST
Untuk membuat tugas evaluasi model, kirim permintaan POST
menggunakan metode
pipelineJobs.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project Google Cloud yang menjalankan komponen pipeline.
- PIPELINEJOB_DISPLAYNAME: Nama tampilan untuk pipelineJob.
- LOCATION: Region untuk menjalankan komponen pipeline.
Saat ini, hanya
us-central1
yang didukung. - DATASET_URI: Cloud Storage URI dari set data referensi Anda. Anda dapat menentukan satu atau beberapa URI. Parameter ini mendukung karakter pengganti. Untuk mempelajari parameter ini lebih lanjut, lihat InputConfig.
- OUTPUT_DIR: URI Cloud Storage untuk menyimpan output evaluasi.
- MODEL_NAME: Tentukan model penayang atau resource model
yang disesuaikan seperti berikut:
- Model penayang:
publishers/google/models/MODEL@MODEL_VERSION
Contoh:
publishers/google/models/text-bison@002
- Model yang disesuaikan:
projects/PROJECT_NUMBER/locations/LOCATION/models/ENDPOINT_ID
Contoh:
projects/123456789012/locations/us-central1/models/1234567890123456789
Tugas evaluasi tidak memengaruhi deployment model atau resource yang ada.
- Model penayang:
- EVALUATION_TASK: Tugas yang ingin Anda gunakan untuk
mengevaluasi model. Tugas evaluasi mengomputasi kumpulan metrik yang relevan dengan tugas
spesifik tersebut. Nilai yang dapat diterima mencakup hal berikut:
summarization
question-answering
text-generation
classification
- INSTANCES_FORMAT: Format set data Anda.
Saat ini, hanya
jsonl
yang didukung. Untuk mempelajari parameter ini lebih lanjut, lihat InputConfig. - PREDICTIONS_FORMAT: Format
output evaluasi. Saat ini, hanya
jsonl
yang didukung. Untuk mempelajari parameter ini lebih lanjut, lihat InputConfig. - MACHINE_TYPE: (Opsional) Jenis mesin untuk
menjalankan tugas evaluasi. Nilai defaultnya adalah
e2-highmem-16
. Untuk mengetahui daftar jenis mesin yang didukung, lihat Jenis mesin. - SERVICE_ACCOUNT: (Opsional) Akun layanan yang akan digunakan untuk menjalankan tugas evaluasi. Untuk mempelajari cara membuat akun layanan kustom, lihat Mengonfigurasi akun layanan dengan izin terperinci. Jika tidak ditentukan, Agen Layanan Kode Kustom Vertex AI akan digunakan.
- NETWORK: (Opsional) Nama jaringan Compute Engine
yang sepenuhnya memenuhi syarat untuk di-peering dengan tugas evaluasi. Format nama jaringannya adalah
projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
. Jika menentukan kolom ini, Anda harus memiliki Peering Jaringan VPC untuk Vertex AI. Jika tidak ditentukan, tugas evaluasi tidak di-peering dengan jaringan apa pun. - KEY_NAME: (Opsional) Nama kunci enkripsi
yang dikelola pelanggan (CMEK). Jika dikonfigurasi, resource yang dibuat oleh tugas evaluasi akan dienkripsi menggunakan
kunci enkripsi yang disediakan. Format nama kunci adalah
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
. Kunci tersebut harus berada di region yang sama dengan tugas evaluasi.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs
Isi JSON permintaan:
{ "displayName": "PIPELINEJOB_DISPLAYNAME", "runtimeConfig": { "gcsOutputDirectory": "gs://OUTPUT_DIR", "parameterValues": { "project": "PROJECT_ID", "location": "LOCATION", "batch_predict_gcs_source_uris": ["gs://DATASET_URI"], "batch_predict_gcs_destination_output_uri": "gs://OUTPUT_DIR", "model_name": "MODEL_NAME", "evaluation_task": "EVALUATION_TASK", "batch_predict_instances_format": "INSTANCES_FORMAT", "batch_predict_predictions_format: "PREDICTIONS_FORMAT", "machine_type": "MACHINE_TYPE", "service_account": "SERVICE_ACCOUNT", "network": "NETWORK", "encryption_spec_key_name": "KEY_NAME" } }, "templateUri": "https://us-kfp.pkg.dev/vertex-evaluation/pipeline-templates/evaluation-llm-text-generation-pipeline/1.0.1" }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini: Perhatikan bahwa pipelineSpec
telah dipotong untuk menghemat ruang penyimpanan.
Contoh perintah curl
PROJECT_ID=myproject
REGION=us-central1
MODEL_NAME=publishers/google/models/text-bison@002
TEST_DATASET_URI=gs://my-gcs-bucket-uri/dataset.jsonl
OUTPUT_DIR=gs://my-gcs-bucket-uri/output
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/pipelineJobs" -d \
$'{
"displayName": "evaluation-llm-text-generation-pipeline",
"runtimeConfig": {
"gcsOutputDirectory": "'${OUTPUT_DIR}'",
"parameterValues": {
"project": "'${PROJECT_ID}'",
"location": "'${REGION}'",
"batch_predict_gcs_source_uris": ["'${TEST_DATASET_URI}'"],
"batch_predict_gcs_destination_output_uri": "'${OUTPUT_DIR}'",
"model_name": "'${MODEL_NAME}'",
}
},
"templateUri": "https://us-kfp.pkg.dev/vertex-evaluation/pipeline-templates/evaluation-llm-text-generation-pipeline/1.0.1"
}'
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python.
Konsol
Untuk membuat tugas evaluasi model menggunakan konsol Google Cloud , ikuti langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Vertex AI Model Registry.
- Klik nama model yang ingin dievaluasi.
- Di tab Evaluate, klik Create evaluation dan konfigurasikan
setelan berikut:
- Tujuan: Pilih tugas yang ingin dievaluasi.
- Kolom atau bidang target: (Khusus klasifikasi) Masukkan kolom
target untuk prediksi. Contoh:
ground_truth
. - Source path: Masukkan atau pilih URI set data evaluasi Anda.
- Format output: Masukkan format output evaluasi.
Saat ini, hanya
jsonl
yang didukung. - Jalur Cloud Storage: Masukkan atau pilih URI untuk menyimpan output evaluasi.
- Nama class: (Khusus klasifikasi) Masukkan daftar kemungkinan nama class.
- Jumlah node komputasi: Masukkan jumlah node komputasi untuk menjalankan tugas evaluasi.
- Jenis mesin: Pilih jenis mesin yang akan digunakan untuk menjalankan tugas evaluasi.
- Klik Start evaluation.
Melihat hasil evaluasi
Anda dapat menemukan hasil evaluasi di direktori output Cloud Storage yang Anda tentukan saat membuat tugas evaluasi. Nama filenya adalah evaluation_metrics.json
.
Untuk model yang di-tune, Anda juga dapat melihat hasil evaluasi di konsol Google Cloud :
Di bagian Vertex AI pada konsol Google Cloud , buka halaman Vertex AI Model Registry.
Klik nama model untuk melihat metrik evaluasinya.
Di tab Evaluate, klik nama proses evaluasi yang ingin Anda lihat.
Langkah berikutnya
- Pelajari evaluasi AI generatif.
- Pelajari evaluasi online dengan Layanan Evaluasi AI Generatif.
- Pelajari cara menyesuaikan model dasar.