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 dibagi menjadi beberapa set, Anda memiliki opsi berikut:

Anda hanya memilih salah satu dari opsi ini; Anda yang membuat pilihan saat melatih model. Beberapa opsi ini memerlukan perubahan pada data pelatihan (misalnya, label ml_use). Penyertaan 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 Anda dapat diurutkan menjadi file upload yang berbeda berdasarkan nilai ml_use, Anda dapat menetapkan nilai ml_use untuk seluruh file upload menggunakan menu drop-down per file saat mengupload file menggunakan Google Cloud Console, 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 akan menentukan Manual (Lanjutan) untuk Pembagian data di Google Cloud Console. Jika Anda berlatih menggunakan Vertex AI API, Anda menggunakan 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 belum 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 prediksi model; setiap kumpulan harus mencerminkan rentang data yang digunakan model untuk membuat prediksi. (Misalnya, jangan gunakan filter yang dijelaskan sebelumnya untuk model yang diharapkan 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 dibagi secara acak ke dalam set sesuai dengan 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 hingga 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.