Vertex AI menyediakan metrik evaluasi model untuk membantu Anda menentukan performa model, seperti metrik presisi dan perolehan. Vertex AI menghitung metrik evaluasi menggunakan set pengujian.
Cara menggunakan metrik evaluasi model
Metrik evaluasi model menyediakan pengukuran kuantitatif terkait performa model Anda pada set pengujian. Cara Anda menafsirkan dan menggunakan metrik tersebut bergantung pada kebutuhan bisnis dan masalah yang biasa dipecahkan oleh model Anda dalam pelatihan. Misalnya, Anda mungkin memiliki toleransi yang lebih rendah untuk positif palsu daripada negatif palsu, atau sebaliknya. Pertanyaan-pertanyaan semacam ini perlu dipertimbangkan untuk menentukan metrik mana yang akan menjadi fokus Anda.
Untuk mengetahui informasi selengkapnya tentang iterasi pada model Anda guna meningkatkan performanya, lihat Melakukan iterasi pada model.
Metrik evaluasi yang ditampilkan oleh Vertex AI
Vertex AI menampilkan beberapa metrik evaluasi yang berbeda, seperti nilai minimum presisi, perolehan, dan keyakinan. Metrik yang ditampilkan Vertex AI bergantung pada tujuan model Anda. Misalnya, Vertex AI menyediakan metrik evaluasi yang berbeda untuk model klasifikasi gambar dibandingkan dengan model deteksi objek gambar.
File skema, yang dapat didownload dari lokasi Cloud Storage, menentukan metrik evaluasi mana yang disediakan Vertex AI untuk setiap objektif. File skema berikut menjelaskan metrik evaluasi untuk pelacakan objek video.
Anda dapat melihat dan mendownload file skema dari lokasi Cloud Storage
berikut:
gs://google-cloud-aiplatform/schema/modelevaluation/
- AuPRC: Area di bawah kurva presisi-perolehan (PR), juga disebut sebagai presisi rata-rata. Nilai ini memiliki rentang dari nol sampai satu, dengan nilai yang lebih tinggi menunjukkan model yang berkualitas lebih tinggi.
- Nilai minimum IoU: Nilai minimum intersection over union yang menentukan prediksi yang akan ditampilkan. Model akan menampilkan prediksi yang berada pada nilai ini atau nilai yang lebih tinggi. Semakin tinggi nilai minimumnya, semakin dekat nilai kotak pembatas yang diprediksi dengan nilai kotak pembatas sebenarnya.
- Presisi mean: juga dikenal sebagai presisi rata-rata. Nilai ini memiliki rentang dari nol sampai satu, dengan nilai yang lebih tinggi menunjukkan model yang berkualitas lebih tinggi.
- Nilai minimum keyakinan: Skor keyakinan yang menentukan prediksi yang akan ditampilkan. Model akan menampilkan prediksi yang berada pada nilai ini atau nilai yang lebih tinggi. Nilai minimum keyakinan yang lebih tinggi meningkatkan presisi, tetapi menurunkan perolehan. Vertex AI menampilkan metrik keyakinan pada berbagai nilai minimum untuk menunjukkan pengaruh nilai minimum terhadap presisi dan perolehan.
- Perolehan: Fraksi prediksi dengan class ini yang diprediksi dengan benar oleh model. Perolehan disebut juga sebagai rasio positif benar.
- Presisi: Bagian prediksi klasifikasi yang dihasilkan oleh model dengan benar.
- Skor F1: Rata-rata harmonik dari presisi dan perolehan. F1 adalah metrik yang berguna jika Anda mencari keseimbangan antara presisi dan perolehan, serta ada distribusi class yang tidak rata.
-
Presisi rata-rata kotak pembatas: Satu metrik untuk evaluasi
kotak pembatas:
meanAveragePrecision
dirata-ratakan dari semuaboundingBoxMetrics
.
Mendapatkan metrik evaluasi
Anda dapat memperoleh serangkaian gabungan metrik evaluasi untuk model dan, untuk beberapa tujuan, metrik evaluasi untuk class atau label tertentu. Metrik evaluasi untuk class atau label tertentu juga dikenal sebagai slice evaluasi. Konten berikut menjelaskan cara mendapatkan metrik evaluasi gabungan dan slice evaluasi menggunakan konsol Google Cloud atau API.
Konsol Google Cloud
Di konsol Google Cloud, di bagian Vertex AI, buka halaman Model.
Di drop-down Region, pilih region tempat model Anda berada.
Dari daftar model, klik model Anda, yang akan membuka tab Evaluasi model.
Di tab Evaluasi, Anda dapat melihat metrik evaluasi gabungan model, seperti Presisi rata-rata dan Perolehan.
Jika tujuan model memiliki slice evaluasi, konsol akan menampilkan daftar label. Anda dapat mengklik label guna melihat metrik evaluasi untuk label tersebut, seperti yang ditunjukkan pada contoh berikut:
API
Permintaan API untuk mendapatkan metrik evaluasi sama untuk setiap jenis data dan tujuan, tetapi outputnya berbeda. Contoh berikut menunjukkan permintaan yang sama, tetapi responsnya berbeda.
Mendapatkan metrik evaluasi model gabungan
Metrik evaluasi model gabungan memberikan informasi tentang model secara keseluruhan. Untuk melihat informasi tentang slice tertentu, cantumkan slice evaluasi model.
Untuk melihat metrik evaluasi model gabungan, gunakan
metode
projects.locations.models.evaluations.get
.
Untuk metrik kotak pembatas, Vertex AI menampilkan array nilai metrik pada nilai minimum IoU yang berbeda (antara 0 dan 1) dan nilai minimum keyakinan (antara 0 dan 1). Misalnya, Anda dapat mempersempit metrik evaluasi pada nilai minimum IoU sebesar 0,85 dan nilai minimum keyakinan sebesar 0,8228. Dengan melihat nilai minimum yang berbeda ini, Anda dapat mengetahui pengaruhnya terhadap metrik lainnya seperti presisi dan perolehan.
Pilih tab yang sesuai dengan bahasa atau lingkungan Anda:
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region tempat model Anda disimpan.
- PROJECT: Project ID Anda.
- MODEL_ID: ID resource model.
- PROJECT_NUMBER: Nomor project yang dibuat secara otomatis untuk project Anda.
- EVALUATION_ID: ID untuk evaluasi model (muncul dalam respons).
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 Python API.
Mencantumkan semua slice evaluasi
Metode
projects.locations.models.evaluations.slices.list
mencantumkan semua slice evaluasi untuk model Anda. Anda harus memiliki ID evaluasi
model, yang bisa Anda dapatkan saat melihat metrik
evaluasi gabungan.
Anda dapat menggunakan slice evaluasi model untuk menentukan performa model pada
label tertentu. Kolom value
mengindikasikan untuk label mana metrik digunakan.
Untuk metrik kotak pembatas, Vertex AI menampilkan array nilai metrik pada nilai minimum IoU yang berbeda (antara 0 dan 1) dan nilai minimum keyakinan (antara 0 dan 1). Misalnya, Anda dapat mempersempit metrik evaluasi pada nilai minimum IoU sebesar 0,85 dan nilai minimum keyakinan sebesar 0,8228. Dengan melihat nilai minimum yang berbeda ini, Anda dapat mengetahui pengaruhnya terhadap metrik lainnya seperti presisi dan perolehan.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region tempat Model berada. Misalnya,
us-central1
. - PROJECT: Project ID Anda.
- MODEL_ID: ID model Anda.
- EVALUATION_ID: ID evaluasi model yang berisi slice evaluasi yang akan dicantumkan.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 Python API.
Mendapatkan metrik untuk satu slice
Guna melihat metrik evaluasi untuk satu slice, gunakan
metode
projects.locations.models.evaluations.slices.get
. Anda harus memiliki ID slice, yang disediakan saat Anda mencantumkan semua
slice. Contoh berikut berlaku untuk semua tujuan dan jenis
data.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region tempat Model berada. Misalnya, us-central1.
- PROJECT: Project ID Anda.
- MODEL_ID: ID model Anda.
- EVALUATION_ID: ID evaluasi model yang berisi slice evaluasi yang akan diambil.
- SLICE_ID: ID slice evaluasi yang akan diambil.
- PROJECT_NUMBER: Nomor project yang dibuat secara otomatis untuk project Anda.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: Nama file skema
yang menentukan metrik evaluasi yang akan ditampilkan seperti
classification_metrics_1.0.0
.
Metode HTTP dan URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 Python API.
Melakukan Iterasi pada model Anda
Metrik evaluasi model menyediakan titik awal untuk men-debug model saat model tidak memenuhi harapan Anda. Misalnya, skor presisi dan skor perolehan yang rendah dapat menunjukkan bahwa model Anda memerlukan data pelatihan tambahan atau memiliki label yang tidak konsisten. Presisi dan perolehan yang sempurna dapat menunjukkan bahwa data pengujian terlalu mudah diprediksi dan mungkin tidak digeneralisasi dengan baik.
Anda dapat melakukan iterasi pada data pelatihan dan membuat model baru. Setelah membuat model baru, Anda dapat membandingkan metrik evaluasi antara model yang ada dan model baru.
Saran berikut dapat membantu Anda meningkatkan kualitas model yang memberi label pada item, seperti model klasifikasi atau deteksi:
- Pertimbangkan untuk menambahkan lebih banyak contoh atau rentang contoh yang lebih luas dalam data pelatihan Anda. Misalnya, untuk model klasifikasi gambar, Anda mungkin menyertakan gambar dengan sudut yang lebih lebar, gambar beresolusi lebih tinggi atau lebih rendah, atau sudut pandang yang berbeda. Untuk panduan selengkapnya, baca bagian Menyiapkan data untuk objektif dan jenis data tertentu.
- Pertimbangkan untuk menghapus class atau label yang tidak memiliki banyak contoh. Contoh yang tidak memadai mengakibatkan model tidak konsisten dan tidak yakin dalam membuat prediksi tentang class atau label tersebut.
- Mesin tidak dapat menafsirkan nama class atau label Anda dan tidak memahami perbedaan antara keduanya, seperti "door" dan "door_with_knob". Anda harus menyediakan data untuk membantu mesin mengenali perbedaan semacam itu.
- Tingkatkan data Anda dengan lebih banyak contoh positif benar dan negatif benar, terutama contoh yang mendekati batas keputusan untuk mengurangi kebingungan model.
- Tentukan pemisahan data Anda sendiri (pelatihan, validasi, dan pengujian). Vertex AI menetapkan item ke setiap set secara acak. Oleh karena itu, data yang hampir sama dapat dialokasikan di set pelatihan dan validasi, yang dapat menyebabkan overfitting dan performa yang buruk pada set pengujian. Untuk mengetahui informasi selengkapnya tentang cara menetapkan pemisahan data Anda sendiri, lihat Tentang pemisahan data untuk model AutoML.
- Jika metrik evaluasi model menyertakan matriks konfusi, Anda dapat melihat apakah model tersebut mengonfusikan dua label, dengan model memprediksi label tertentu jauh lebih banyak daripada label sebenarnya. Tinjau data Anda dan pastikan contoh diberi label dengan benar.
- Jika waktu pelatihan Anda singkat (jumlah maksimum jam kerja node rendah), Anda mungkin mendapatkan model berkualitas lebih tinggi dengan memungkinkannya berlatih untuk jangka waktu yang lebih lama (jumlah maksimum jam kerja node lebih tinggi).