Ringkasan pelatihan kustom

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

Infrastruktur terkelola

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

Performa tinggi

Tugas pelatihan Vertex AI dioptimalkan untuk pelatihan model ML, yang 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 Vertex AI TensorBoard Profiler.

Pelatihan terdistribusi

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

Penyesuaian 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

Keamanan perusahaan

Vertex AI menyediakan fitur keamanan perusahaan berikut:

Integrasi operasi ML (MLOps)

MLOps

Vertex AI menyediakan serangkaian alat MLOps terintegrasi dan fitur yang dapat Anda gunakan untuk tujuan berikut:

  • Orkestrasi alur kerja ML menyeluruh.
  • Melakukan rekayasa fitur.
  • Menjalankan eksperimen
  • Mengelola dan melakukan iterasi model Anda.
  • Melacak metadata ML.
  • Memantau dan mengevaluasi kualitas model.

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.

Alur kerja pelatihan kustom.

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
  • Distribusi sumber Python.
  • File Python tunggal.
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.
  • Penyesuaian dan kontrol yang lebih baik.
  • Aplikasi pelatihan non-Python.
  • Dependensi pribadi atau kustom.
  • Melatih aplikasi yang menggunakan framework ML atau versi framework yang tidak memiliki image container bawaan yang tersedia.

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 atau CustomTrainingJob. 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

    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

    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 atau CMD 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 prebuilt atau kustom untuk prediksi. Jika image container bawaan untuk prediksi tersedia untuk framework ML dan versi framework Anda, sebaiknya gunakan image container bawaan.

Langkah selanjutnya