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, teks, 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.
Teks
Untuk set data teks, set pelatihan dan validasi digunakan untuk mencoba berbagai kombinasi opsi pra-pemrosesan, arsitektur, dan hyperparameter. Uji coba ini menghasilkan model terlatih yang kemudian dievaluasi berdasarkan set validasi untuk mengetahui kualitasnya dan memandu eksplorasi kombinasi opsi tambahan.
Setelah uji coba lain tidak lagi menghasilkan peningkatan kualitas, versi model tersebut dianggap sebagai model akhir yang terlatih dengan performa terbaik. Selanjutnya, Vertex AI melatih dua model lagi, menggunakan parameter dan arsitektur yang ditentukan dalam fase penyesuaian paralel:
Model yang dilatih dengan set pelatihan dan validasi Anda.
Vertex AI menghasilkan metrik evaluasi model pada model ini, menggunakan set pengujian Anda. Ini adalah pertama kalinya set pengujian digunakan dalam proses. Pendekatan ini memastikan bahwa metrik evaluasi akhir merupakan cerminan yang tidak bias dari seberapa baik performa model akhir yang telah dilatih dalam tahap produksi.
Model yang dilatih dengan set pelatihan, validasi, dan pengujian Anda.
Model ini adalah model yang Anda gunakan untuk meminta prediksi.
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.
Set | Teks | Gambar | Video |
---|---|---|---|
Pelatihan | 80 | 80 | 80 |
Validasi | 10 | 10 | T/A |
Pengujian | 10 | 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:
Anda hanya dapat memilih 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, video, dan teks 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
Anda dapat menetapkan 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 video, gambar,
atau cuplikan teks 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 dropdown
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 ulang file data, 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, Anda perlu menentukan 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 gambar 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 menjadi nilai apa pun yang berjumlah hingga 100 (untuk Vertex AI API, Anda menggunakan pecahan yang berjumlah 1,0).
Untuk mengubah persentase (pecahan), gunakan objek FractionSplit untuk menentukan pecahan. Untuk jenis data gambar, teks, dan video, Anda juga dapat menggunakan konsol Google Cloud untuk memperbarui persentase pemisahan saat Anda melatih model.