Halaman ini menjelaskan cara Vertex AI menggunakan set pelatihan, validasi, dan pengujian data Anda untuk melatih model AutoML serta cara mengontrol pemisahan data di antara ketiga set ini. AutoML menggunakan pemisahan data yang berbeda-beda, tergantung jenis data dari data pelatihan.
Halaman ini menjelaskan pemisahan data untuk data gambar dan video. Guna mengetahui informasi tentang pemisahan data untuk data tabulasi, lihat Pemisahan data untuk data tabulasi.
Gambar
Untuk set data gambar, AutoML menggunakan set pelatihan untuk melatih model, dan set validasi untuk memvalidasi hasil yang ditampilkan model selama pelatihan. Setelah pelatihan selesai, AutoML menggunakan set pengujian untuk memberikan metrik evaluasi akhir.
Video
Untuk set data video, AutoML menggunakan set pelatihan untuk melatih model, lalu menggunakan set pengujian untuk memberikan metrik evaluasi akhir. Set validasi tidak digunakan untuk set data video.
Anda dapat mengizinkan Vertex AI membagi data Anda secara otomatis. Data Anda akan dipisahkan secara acak menjadi tiga set berdasarkan persentase. Ini adalah cara termudah untuk memisahkan data Anda, dan berfungsi dengan baik dalam kebanyakan kasus.
Disetel | Gambar | Video |
---|---|---|
Pelatihan | 80 | 80 |
Validasi | 10 | T/A |
Pengujian | 10 | 20 |
Untuk menggunakan pemisahan data default, terima nilai default di konsol Google Cloud , atau kosongkan kolom pemisahan untuk API.
Jika ingin mengontrol cara data Anda dipisahkan menjadi beberapa set, Anda memiliki opsi berikut:
Pilih hanya salah satu opsi berikut saat melatih
model Anda. Beberapa opsi ini memerlukan perubahan pada data pelatihan (misalnya,
label ml_use
). Menyertakan data atau label untuk opsi pemisahan data tidak
mengharuskan Anda menggunakan opsi tersebut. Anda masih dapat memilih opsi lain saat
melatih model.
Pemisahan manual untuk data yang tidak terstruktur
Pemisahan manual juga disebut sebagai "pemisahan standar".
Agar dapat menggunakan label ml_use
untuk mengontrol pemisahan data, Anda harus menetapkan label
ml_use
pada data.
Menetapkan nilai untuk label ml_use
Anda dapat menetapkan label ml_use
untuk data visi dan video pada waktu
impor data (per item data atau untuk seluruh file impor), atau setelah data diimpor
menggunakan konsol Google Cloud .
Menetapkan ml_use pada setiap item data pada waktu impor
Tetapkan label ml_use
di setiap item data dengan menyertakan nilai untuk
kolom aiplatform.googleapis.com/ml_use
di data
JSON Lines, atau menetapkan nilai kolom pertama file CSV. Lihat
informasi tentang penyiapan data untuk jenis data Anda guna mengetahui detail selengkapnya.
Jika salah satu item data Anda diulang dalam data (jika cuplikan video atau gambar yang sama muncul beberapa kali dalam file impor), Vertex AI akan menggunakan nilai ml_use
untuk item data pertama yang ditemukannya, dan mengabaikan nilai ml_use
berikutnya. Item yang pertama ditemukan
belum tentu item yang lebih dekat dengan bagian awal file
upload.
Menetapkan ml_use untuk seluruh file upload
Jika data dapat disortir menjadi beberapa file upload berbeda berdasarkan nilai ml_use
, Anda
dapat menetapkan nilai ml_use
untuk seluruh file upload menggunakan menu drop-down
per file saat Anda mengupload file menggunakan konsol Google Cloud , atau dengan
menggunakan kolom peta dataItemLabels
di metode datasets.import.
Jika Anda menetapkan ml_use
untuk file upload, dan file juga berisi nilai ml_use
,
nilai ml_use
dalam file akan lebih diutamakan daripada nilai
seluruh file.
Menetapkan ml_use setelah impor
Setelah mengupload data, Anda dapat menetapkan atau memperbarui nilai ml_use
untuk
item data tertentu di konsol Google Cloud dengan memilih satu atau beberapa item
di tampilan daftar dan menggunakan menu drop-down Tetapkan penggunaan ML.
Jika Anda mengupload file data lagi, meskipun nilai ml_use telah berubah, nilai ml_use
tidak akan diperbarui. Anda tidak dapat memperbarui nilai ml_use
setelah diimpor menggunakan
Vertex AI API.
Menggunakan label ml_use
Saat melatih model, tentukan Manual (Lanjutan) untuk Pemisahan data di konsol Google Cloud . Jika Anda melatih menggunakan Vertex AI API, gunakan objek FilterSplit dengan menentukan labels.aiplatform.googleapis.com/ml_use=training
untuk filter pelatihan, labels.aiplatform.googleapis.com/ml_use=validation
untuk filter validasi, dan labels.aiplatform.googleapis.com/ml_use=test
untuk filter pengujian.
Contoh:
model = job.run(
dataset=dataset,
model_display_name=_name,
training_filter_split="labels.aiplatform.googleapis.com/ml_use=training",
validation_filter_split="labels.aiplatform.googleapis.com/ml_use=validation",
test_filter_split="labels.aiplatform.googleapis.com/ml_use=test")
Setiap item data dengan nilai ml_use
ditetapkan ke set yang ditentukan. Item
data yang tidak menetapkan ml_use
akan dikecualikan dari proses pelatihan.
Pemisahan filter data
Anda dapat menggunakan label lain (selain ml-use) dan kolom lainnya untuk memisahkan data
menggunakan objek FilterSplit di
Vertex AI API. Misalnya, Anda dapat menetapkan trainingFilter
ke
labels.flower=rose
, validationFilter
ke labels.flower=daisy
, dan
testFilter
ke labels.flower=dahlia
. Setelan ini akan menyebabkan semua data
berlabel rose
ditambahkan ke set pelatihan, semua data berlabel daisy
ditambahkan ke set validasi, dan semua data berlabel dahlia
ditambahkan ke
set pengujian.
Jika Anda memfilter di beberapa kolom, item data mungkin cocok dengan lebih dari satu filter. Dalam hal ini, set pelatihan akan diprioritaskan, diikuti set validasi, kemudian diikuti set pengujian. Dengan kata lain, item akan dimasukkan ke set pengujian, hanya jika cocok dengan filter untuk set pengujian, tetapi tidak cocok dengan filter pelatihan atau validasi. Jika tidak cocok dengan filter untuk salah satu set, item akan dikecualikan dari pelatihan.
Jangan gunakan kategori untuk pemisahan data yang terkait dengan hal yang akan diprediksi oleh model. Setiap set harus mencerminkan rentang data yang digunakan model untuk membuat prediksi. (Misalnya, jangan gunakan filter yang dijelaskan sebelumnya untuk model yang diharapkan akan mengategorikan foto berdasarkan jenis bunga.)
Jika Anda tidak ingin filter cocok dengan item apa pun, tetapkan ke "-
" (tanda minus).
Pemisahan matematika
Pemisahan matematika juga dikenal sebagai "pemisahan pecahan".
Secara default, data Anda dipisahkan secara acak menjadi beberapa set sesuai persentase default untuk jenis data Anda. Anda dapat mengubah persentase ke nilai apa pun yang berjumlah hingga 100 (untuk Vertex AI API, gunakan pecahan yang berjumlah hingga 1,0).
Untuk mengubah persentase (pecahan), gunakan objek FractionSplit untuk menentukan pecahan. Untuk jenis data gambar dan video, Anda juga dapat menggunakan konsolGoogle Cloud untuk memperbarui persentase pemisahan saat Anda melatih model.