Tentang pemisahan data untuk model AutoML

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:

  1. 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.

  2. 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.