Untuk memulai tugas pemantauan, Model Monitoring perlu mengetahui skema set data tabular Anda untuk mengurai payload input dengan benar.
Untuk model AutoML, Model Monitoring akan otomatis mengurai skema karena Vertex AI sudah memiliki akses ke data pelatihan Anda.
Untuk model yang dilatih khusus:
Model Monitoring dapat otomatis mengurai skema untuk model yang menggunakan format input nilai kunci standar.
Untuk model yang dilatih khusus yang tidak menggunakan format input nilai kunci, Anda mungkin perlu memberikan skema saat membuat tugas pemantauan.
Pembuatan skema bervariasi berdasarkan apakah Anda mengaktifkan Model Monitoring untuk endpoint prediksi online atau prediksi batch.
Penguraian skema untuk endpoint prediksi online
Untuk endpoint prediksi online, Anda dapat mengizinkan Model Monitoring mengurai skema secara otomatis atau mengupload skema saat membuat tugas pemantauan.
Penguraian skema otomatis
Setelah mengaktifkan deteksi skew atau penyimpangan untuk endpoint online, Model Monitoring biasanya dapat otomatis mengurai skema input. Untuk penguraian skema otomatis, Model Monitoring menganalisis 1.000 permintaan input pertama untuk menentukan skema.
Penguraian skema otomatis berfungsi optimal jika permintaan input diformat sebagai key-value pair, dengan "key"
sebagai nama fitur dan "value"
sebagai nilai fitur. Contoh:
"key":"value"
{"TenYearCHD":"0", "glucose":"5.4", "heartRate":"1", "age":"30", "prevalentStroke":"0", "gender":"f", "ethnicity":"latin american"}
Jika input tidak dalam format "key":"value"
, Model Monitoring akan mencoba mengidentifikasi jenis data setiap fitur, dan secara otomatis menetapkan nama fitur default untuk setiap input.
Skema instance kustom
Anda dapat memberikan skema input sendiri saat membuat tugas Model Monitoring untuk memastikan bahwa Model Monitoring mengurai input model dengan benar.
Skema ini disebut skema instance analisis. File skema menetapkan format payload input, nama setiap fitur, dan jenis setiap fitur.
Skema harus ditulis sebagai file YAML dalam format Open API. Contoh berikut adalah untuk permintaan prediksi dengan format object
:
type: object properties: age: type: string BMI: type: number TenYearCHD: type: string cigsPerDay: type: array items: type: string BPMeds: type: string required: - age - BMI - TenYearCHD - cigsPerDay - BPMeds
type
menunjukkan apakah permintaan prediksi Anda adalah salah satu dari format berikut:object
: key-value pairarray
: array-likestring
: csv-string
properties
menunjukkan jenis setiap fitur.Jika permintaan dalam format array atau csv-string, tentukan urutan fitur yang dicantumkan di setiap permintaan di bawah kolom
required
.
Jika permintaan prediksi Anda dalam format array atau csv-string, tampilkan fitur yang tidak ada sebagai nilai null. Misalnya, pertimbangkan permintaan prediksi dengan lima fitur:
[feature_a, feature_b, feature_c, feature_d, feature_e]
Jika feature_c
memungkinkan nilai yang tidak ada, contoh permintaan yang tidak ada feature_c
adalah: {[1, 2, , 4, 6]}
. Panjang daftar tetap 5, dengan satu nilai null
di tengah.
Penguraian skema untuk prediksi batch
Untuk prediksi batch, Anda dapat mengizinkan Model Monitoring mengurai skema secara otomatis atau mengupload skema saat membuat tugas pemantauan.
Penguraian skema otomatis
Jika Anda tidak memberikan skema selama pemantauan pembuatan tugas, Model Monitoring akan menyimpulkan jenis data fitur Anda dan membuat skema berdasarkan data pelatihan Anda.
Model Monitoring juga perlu mengetahui fitur mana yang merupakan kolom target, yaitu fitur yang sedang diprediksi. Kolom target dikecualikan dari metrik skew fitur dan skema. Anda dapat menentukan kolom target sambil membuat tugas pemantauan.
Spesifikasi kolom target
Jika Anda tidak menentukan kolom target saat membuat tugas pemantauan, Model Monitoring akan melabeli nama fitur terakhir dalam data pelatihan Anda sebagai kolom target.
Misalnya, Model Monitoring memberi label column_c
dalam data pelatihan CSV ini sebagai kolom target karena column_c
berada di akhir baris pertama:
column_a, column_b, column_d, column_c 1,"a", 2, "c" 2,"b", 342, "d"
Demikian pula, Model Monitoring memberi label column_c
dalam file JSONL ini sebagai kolom target karena column_c
berada di akhir baris pertama:
{"column_a": 1, "column_b": "a", "column_d": 2, "column_c": "c" } {"column_a": 2, "column_b": "b", "column_c": "d", "column_d": 342}
Dalam kedua contoh tersebut, skema akhir hanya berisi column_a
, column_b
, dan column_d
.
Custom schemas
Skema kustom menetapkan format payload input, nama setiap fitur, dan jenis setiap fitur.
Skema harus ditulis sebagai file YAML dengan sintaksis Open API. Contoh berikut adalah untuk permintaan prediksi dengan format object
:
type: object properties: age: type: string BMI: type: number TenYearCHD: type: string cigsPerDay: type: array items: type: string BPMeds: type: string required: - age - BMI - TenYearCHD - cigsPerDay - BPMeds
Model Monitoring menghitung skew fitur berdasarkan output prediksi batch JSON Lines. Jika jenis data Anda berisi array, panjang array dalam data input harus sama dengan jumlah fitur yang ditentukan dalam file yaml. Jika tidak, Model Monitoring akan mengecualikan instance prediksi yang memiliki panjang array yang salah dari penghitungan skew fitur.
Misalnya, array dalam jenis data berikut berisi dua fitur:
Array:
{[[1, 2]]}
"Key"/"Value":
{"key": 0, "values": [[1, 2]]}
Skema yang terkait juga harus menetapkan dua fitur:
type: object properties: name: type: string age: type: number required: - name - age
Langkah berikutnya
- Aktifkan deteksi skew dan drift untuk model Anda.
- Coba notebook contoh di Colab atau lihat di GitHub.