Vertex AI menyediakan layanan pelatihan terkelola yang memungkinkan Anda mengoperasikan pelatihan model skala besar. Anda dapat menggunakan Vertex AI untuk menjalankan aplikasi pelatihan berdasarkan framework machine learning (ML) apa pun di infrastruktur Google Cloud. Untuk framework ML populer berikut, Vertex AI juga memiliki dukungan terintegrasi yang menyederhanakan proses persiapan untuk pelatihan dan penayangan model:
Halaman ini menjelaskan manfaat pelatihan kustom tentang Vertex AI, alur kerja yang terlibat, dan berbagai opsi pelatihan yang tersedia.
Vertex AI mengoperasionalkan pelatihan dalam skala besar
Ada beberapa tantangan dalam mengoperasionalkan pelatihan model. Tantangan ini mencakup waktu dan biaya yang diperlukan untuk melatih model, kedalaman keterampilan yang diperlukan untuk mengelola infrastruktur komputasi, dan kebutuhan untuk memberikan keamanan tingkat perusahaan. Vertex AI mengatasi tantangan ini sekaligus memberikan banyak manfaat lainnya.
Infrastruktur komputasi yang terkelola sepenuhnya
Pelatihan model di Vertex AI adalah layanan terkelola sepenuhnya yang tidak memerlukan administrasi infrastruktur fisik. Anda dapat melatih model ML tanpa perlu menyediakan atau mengelola server. Anda hanya membayar untuk resource komputasi yang dipakai. Vertex AI juga menangani logging tugas, antrean, dan pemantauan. |
Performa tinggi
Tugas pelatihan Vertex AI dioptimalkan untuk pelatihan model ML, yang dapat memberikan performa lebih cepat daripada menjalankan aplikasi pelatihan secara langsung pada cluster GKE. Anda juga dapat mengidentifikasi dan men-debug bottleneck performa dalam tugas pelatihan menggunakan Cloud Profiler. |
Pelatihan terdistribusi
Reduction Server adalah algoritma pengurangan apa pun di Vertex AI yang dapat meningkatkan throughput dan mengurangi latensi pelatihan terdistribusi multi-node pada unit pemrosesan grafis (GPU) NVIDIA. Pengoptimalan ini membantu mengurangi waktu dan biaya untuk menyelesaikan tugas pelatihan berskala besar. |
Pengoptimalan hyperparameter
Tugas penyesuaian hyperparameter menjalankan beberapa uji coba aplikasi pelatihan Anda menggunakan nilai hyperparameter yang berbeda. Anda menentukan rentang nilai yang akan diuji dan Vertex AI akan menemukan nilai optimal untuk model Anda dalam rentang tersebut. |
Keamanan perusahaan
Vertex AI menyediakan fitur keamanan perusahaan berikut:
|
Integrasi operasi ML (MLOps)
Vertex AI menyediakan serangkaian alat MLOps terintegrasi dan fitur yang dapat Anda gunakan untuk tujuan berikut:
|
Alur kerja untuk pelatihan kustom
Diagram berikut menunjukkan ringkasan tingkat tinggi dari alur kerja pelatihan kustom di Vertex AI. Bagian berikut ini menjelaskan setiap langkah secara detail.
Memuat dan menyiapkan data pelatihan
Untuk mendapatkan performa dan dukungan terbaik, gunakan salah satu layanan Google Cloud berikut sebagai sumber data Anda:
Anda juga dapat menentukan set data yang dikelola Vertex AI sebagai sumber data saat menggunakan pipeline pelatihan untuk melatih model Anda. Melatih model kustom dan model AutoML menggunakan set data yang sama memungkinkan Anda membandingkan performa kedua model tersebut.
Menyiapkan aplikasi pelatihan
Untuk menyiapkan aplikasi pelatihan Anda agar dapat digunakan di Vertex AI, lakukan hal berikut:
- Mengimplementasikan praktik terbaik kode pelatihan untuk Vertex AI.
- Tentukan jenis image container yang akan digunakan.
- Kemas aplikasi pelatihan Anda ke dalam format yang didukung berdasarkan jenis image container yang dipilih.
Mengimplementasikan praktik terbaik kode pelatihan
Aplikasi pelatihan Anda harus menerapkan praktik terbaik kode pelatihan untuk Vertex AI. Praktik terbaik ini berkaitan dengan kemampuan aplikasi pelatihan Anda untuk melakukan hal berikut:
- Mengakses layanan Google Cloud.
- Memuat data input.
- Mengaktifkan logging otomatis untuk pelacakan eksperimen.
- Mengekspor artefak model
- Menggunakan variabel lingkungan Vertex AI.
- Memastikan ketahanan terhadap VM yang dimulai ulang.
Pilih jenis penampung
Vertex AI menjalankan aplikasi pelatihan Anda dalam image container Docker. Image container Docker adalah paket software mandiri yang mencakup kode dan semua dependensi, yang dapat berjalan di hampir semua lingkungan komputasi. Anda dapat menentukan URI dari image container bawaan untuk menggunakan, atau membuat dan mengupload image container kustom yang sudah menginstal aplikasi pelatihan dan dependensi Anda.
Tabel berikut menunjukkan perbedaan antara image container bawaan dan kustom:
Spesifikasi | Image container bawaan | Image container kustom |
---|---|---|
Framework ML | Setiap image container dikhususkan untuk sebuah framework ML. | Gunakan framework ML apa pun atau tidak gunakan apa pun. |
Versi framework ML | Setiap image container dikhususkan untuk sebuah versi framework ML. | Gunakan versi framework ML apa pun, termasuk versi minor dan versi diupdate setiap hari. |
Dependensi aplikasi | Dependensi umum untuk framework ML sudah diinstal sebelumnya. Anda dapat menentukan dependensi tambahan untuk diinstal dalam aplikasi pelatihan Anda. | Instal lebih dulu dependensi yang diperlukan aplikasi pelatihan Anda. |
Format pengiriman aplikasi |
|
Instal lebih dulu aplikasi pelatihan di image container kustom. |
Upaya penyiapan | Rendah | Tinggi |
Direkomendasikan untuk | Aplikasi pelatihan Python berdasarkan framework ML dan versi framework yang menyediakan image container bawaan. |
|
Kemas aplikasi pelatihan Anda
Setelah menentukan jenis image container yang akan digunakan, kemas aplikasi pelatihan Anda ke dalam salah satu format berikut berdasarkan jenis image container:
File Python tunggal untuk digunakan dalam container bawaan
Tulis aplikasi pelatihan Anda sebagai file Python tunggal dan gunakan Vertex AI SDK untuk Python untuk membuat class
CustomJob
atauCustomTrainingJob
. File Python dikemas ke dalam distribusi sumber Python dan diinstal ke image container bawaan. Mengirimkan aplikasi pelatihan sebagai file Python tunggal cocok untuk pembuatan prototipe. Untuk aplikasi pelatihan produksi, aplikasi pelatihan Anda mungkin akan disusun ke dalam lebih dari satu file.Distribusi sumber Python untuk digunakan dalam container bawaan
Kemas aplikasi pelatihan Anda ke dalam satu atau beberapa distribusi sumber Python dan upload ke bucket Cloud Storage. Vertex AI menginstal distribusi sumber ke image container bawaan saat Anda membuat tugas pelatihan.
Image container kustom
Buat image container Docker Anda sendiri yang sudah menginstal aplikasi pelatihan dan dependensi Anda, lalu upload ke Artifact Registry. Jika aplikasi pelatihan Anda ditulis dalam Python, Anda dapat melakukan langkah-langkah ini menggunakan satu perintah Google Cloud CLI.
Mengonfigurasi tugas pelatihan
Tugas pelatihan Vertex AI melakukan tugas-tugas berikut:
- Menyediakan satu (pelatihan node tunggal) atau lebih (pelatihan terdistribusi) mesin virtual (VM).
- Menjalankan aplikasi pelatihan dalam container di VM yang disediakan.
- Menghapus VM setelah tugas pelatihan selesai.
Vertex AI menawarkan tiga jenis tugas pelatihan untuk menjalankan aplikasi pelatihan Anda:
-
Tugas kustom (
CustomJob
) menjalankan aplikasi pelatihan Anda. Jika Anda menggunakan image container yang telah dibangun sebelumnya, artefak model adalah output ke bucket Cloud Storage yang ditentukan. Untuk image container kustom, aplikasi pelatihan Anda juga dapat menghasilkan artefak model ke lokasi lain. Tugas penyesuaian hyperparameter
Tugas penyesuaian hyperparameter (
HyperparameterTuningJob
) menjalankan beberapa uji coba aplikasi pelatihan Anda menggunakan nilai hyperparameter yang berbeda hingga dapat menghasilkan artefak model dengan nilai hyperparameter berperforma optimal. Anda menentukan rentang nilai hyperparameter yang akan diuji dan metrik yang akan dioptimalkan.-
Pipeline pelatihan (
CustomTrainingJob
) menjalankan tugas kustom atau tugas penyesuaian hyperparameter dan secara opsional mengekspor artefak model ke Vertex AI untuk membuat resource model. Anda dapat menentukan set data yang dikelola Vertex AI sebagai sumber data Anda.
Saat membuat tugas pelatihan, tentukan resource komputasi yang akan digunakan untuk menjalankan aplikasi pelatihan dan mengonfigurasi setelan container Anda.
Konfigurasi komputasi
Menentukan resource komputasi yang akan digunakan untuk tugas pelatihan. Vertex AI mendukung pelatihan node tunggal, dengan tugas pelatihan berjalan di satu VM, dan pelatihan terdistribusi, di mana tugas pelatihan berjalan di beberapa VM.
Resource komputasi yang dapat Anda tentukan untuk tugas pelatihan adalah sebagai berikut:
Jenis mesin VM
Jenis mesin yang berbeda menawarkan CPU, ukuran memori, dan bandwidth yang berbeda.
Unit pemrosesan grafis (GPU)
Anda dapat menambahkan satu atau beberapa GPU ke VM jenis A2 atau N1. Jika aplikasi pelatihan Anda dirancang untuk menggunakan GPU, penambahan GPU dapat meningkatkan performa secara signifikan.
Tensor Processing Unit (TPU)
TPU dirancang khusus untuk mempercepat workload machine learning. Saat menggunakan VM TPU untuk pelatihan, Anda hanya dapat menentukan satu gabungan worker. Gabungan worker tersebut hanya dapat memiliki satu replika.
Boot disk
Anda dapat menggunakan SSD (default) atau HDD untuk boot disk. Jika aplikasi pelatihan Anda membaca dan menulis ke disk, penggunaan SSD dapat meningkatkan performa. Anda juga dapat menentukan ukuran boot disk berdasarkan jumlah data sementara yang ditulis aplikasi pelatihan Anda ke disk. Boot disk dapat berukuran antara 100 GiB (default) dan 64.000 GiB. Semua VM dalam gabungan worker harus menggunakan jenis dan ukuran boot disk yang sama.
Konfigurasi container
Konfigurasi container yang perlu Anda buat bergantung pada apakah Anda menggunakan image container bawaan atau kustom.
Konfigurasi container bawaan:
- Tentukan URI image container bawaan yang ingin Anda gunakan.
- Jika aplikasi pelatihan Anda dikemas sebagai distribusi sumber Python, tentukan URI Cloud Storage tempat paket berada.
- Tentukan modul titik entri aplikasi pelatihan Anda.
- Opsional: Tentukan daftar argumen command line yang akan diteruskan ke modul titik entri aplikasi pelatihan Anda.
Konfigurasi container kustom:
- Tentukan URI image container kustom Anda, yang dapat berupa URI dari Artifact Registry atau Docker Hub.
- Opsional: Ganti petunjuk
ENTRYPOINT
atauCMD
di image container Anda.
Membuat tugas pelatihan
Setelah data dan aplikasi pelatihan disiapkan, jalankan aplikasi pelatihan Anda dengan membuat salah satu tugas pelatihan berikut:
Untuk membuat tugas pelatihan, Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, Vertex AI SDK untuk Python, atau Vertex AI API.
(Opsional) Mengimpor artefak model ke dalam Vertex AI
Aplikasi pelatihan Anda kemungkinan menghasilkan satu atau beberapa artefak model ke lokasi yang ditentukan, biasanya bucket Cloud Storage. Sebelum Anda bisa mendapatkan prediksi di Vertex AI dari artefak model Anda, impor artefak model ke Vertex AI Model Registry terlebih dahulu.
Seperti image container untuk pelatihan, Vertex AI memberi Anda pilihan menggunakan image container bawaan atau kustom untuk prediksi. Jika image container bawaan untuk prediksi tersedia untuk framework ML dan versi framework Anda, sebaiknya gunakan image container bawaan.
Langkah berikutnya
- Dapatkan prediksi dari model Anda.
- Mengevaluasi model Anda.
- Coba tutorial Pelatihan kustom Hello untuk mendapatkan petunjuk langkah demi langkah dalam melatih model klasifikasi image TensorFlow Keras di Vertex AI.