Melakukan pelatihan kustom pada Vertex AI untuk menjalankan kode pelatihan machine learning (ML) Anda sendiri di cloud, bukan menggunakan AutoML. Dokumen ini menjelaskan praktik terbaik yang perlu dipertimbangkan saat Anda menulis kode pelatihan.
Memilih struktur kode pelatihan
Pertama, tentukan struktur yang ingin digunakan untuk kode pelatihan ML Anda. Anda dapat memberikan kode pelatihan untuk Vertex AI dalam salah satu bentuk berikut:
Skrip Python untuk digunakan dengan container bawaan. Gunakan Vertex AI SDK untuk membuat tugas kustom. Metode ini memungkinkan Anda menyediakan aplikasi pelatihan sebagai satu skrip Python.
Aplikasi pelatihan Python untuk digunakan dengan container bawaan. Buat distribusi sumber Python dengan kode yang melatih model ML dan mengekspornya ke Cloud Storage. Aplikasi pelatihan ini dapat menggunakan dependensi apa pun yang disertakan dalam container bawaan yang akan Anda gunakan.
Gunakan opsi ini jika salah satu container bawaan Vertex AI untuk pelatihan menyertakan semua dependensi yang diperlukan untuk pelatihan. Misalnya, jika Anda ingin berlatih dengan PyTorch, scikit-learn, TensorFlow, atau XGBoost, maka ini mungkin opsi yang lebih baik.
Untuk mempelajari praktik terbaik khusus opsi ini, baca panduan untuk membuat aplikasi pelatihan Python.
Image container kustom. Buat image container Docker dengan kode yang melatih model ML dan mengekspornya ke Cloud Storage. Sertakan dependensi apa pun yang diperlukan oleh kode Anda dalam image container.
Gunakan opsi ini jika Anda ingin menggunakan dependensi yang tidak disertakan dalam salah satu container bawaan untuk pelatihan Vertex AI. Misalnya, jika Anda ingin berlatih menggunakan framework Python ML yang tidak tersedia dalam container bawaan, atau jika Anda ingin berlatih menggunakan bahasa pemrograman selain Python, ini adalah opsi yang lebih baik.
Untuk mempelajari praktik terbaik khusus opsi ini, baca panduan untuk membuat image container kustom.
Bagian lainnya dari dokumen ini menjelaskan praktik terbaik yang relevan dengan kedua struktur kode pelatihan.
Praktik terbaik untuk semua kode pelatihan kustom
Ketika Anda menulis kode pelatihan kustom untuk Vertex AI, perlu diingat bahwa kode akan berjalan pada satu atau beberapa instance virtual machine (VM) yang dikelola oleh Google Cloud. Bagian ini menjelaskan praktik terbaik yang berlaku untuk semua kode pelatihan kustom.
Mengakses layanan Google Cloud dalam kode Anda
Beberapa bagian berikut menjelaskan cara mengakses layanan Google Cloud lainnya dari kode Anda. Untuk mengakses layanan Google Cloud, tulis kode pelatihan Anda untuk menggunakan Kredensial Default Aplikasi (ADC). Banyak library klien Google Cloud melakukan autentikasi dengan ADC secara default. Anda tidak perlu mengonfigurasi variabel lingkungan apa pun; Vertex AI secara otomatis mengonfigurasi ADC untuk melakukan autentikasi sebagai Agen Layanan Kode Custom Vertex AI untuk project Anda (secara default) atau akun layanan kustom (jika Anda telah mengonfigurasinya).
Namun, saat Anda menggunakan library klien Google Cloud dalam kode Anda, Vertex AI mungkin tidak selalu terhubung ke project Google Cloud yang benar secara default. Jika Anda mengalami kesalahan izin akses, masalah tersebut kemungkinan terjadi karena project salah.
Masalah ini terjadi karena Vertex AI tidak menjalankan kode Anda secara langsung di project Google Cloud Anda. Sebagai gantinya, Vertex AI menjalankan kode Anda di salah satu dari beberapa project terpisah yang dikelola oleh Google. Vertex AI menggunakan project ini secara eksklusif untuk operasi yang terkait dengan project Anda. Oleh karena itu, jangan mencoba menyimpulkan project ID dari lingkungan dalam kode pelatihan atau prediksi Anda; tentukan project ID secara eksplisit.
Jika Anda tidak ingin melakukan hardcode pada project ID dalam kode pelatihan, Anda dapat
mereferensikan variabel lingkungan CLOUD_ML_PROJECT_ID
: Vertex AI
menetapkan variabel lingkungan ini di setiap container pelatihan kustom agar berisi
nomor project dari project tempat Anda memulai pelatihan kustom. Banyak alat Google Cloud yang dapat menerima nomor project
ke mana pun alat tersebut mengambil ID project.
Misalnya, jika Anda ingin menggunakan Klien Python untuk Google BigQuery untuk mengakses tabel BigQuery di project yang sama, jangan mencoba menyimpulkan project dalam kode pelatihan Anda:
Pemilihan project secara implisit
from google.cloud import bigquery
client = bigquery.Client()
Sebagai gantinya, gunakan kode yang secara eksplisit memilih project:
Pemilihan project secara eksplisit
import os
from google.cloud import bigquery
project_number = os.environ["CLOUD_ML_PROJECT_ID"]
client = bigquery.Client(project=project_number)
Jika Anda mengalami error izin setelah mengonfigurasi kode dengan cara ini, baca bagian berikut tentang resource yang dapat diakses kode Anda guna menyesuaikan izin yang tersedia untuk kode pelatihan Anda.
Resource yang dapat diakses oleh kode Anda
Secara default, aplikasi pelatihan Anda dapat mengakses resource Google Cloud apa pun yang tersedia untuk Agen Layanan Kode Kustom Vertex AI (CCSA) project Anda. Anda dapat memberikan akses ke resource lain kepada CCSA, dan dengan demikian aplikasi pelatihan Anda dapat mengakses resource lain dalam jumlah terbatas dengan mengikuti petunjuk dalam Memberikan akses ke resource lain kepada agen layanan Vertex AI. Jika aplikasi pelatihan Anda memerlukan lebih dari sekadar akses level baca ke resource Google Cloud yang tidak tercantum dalam halaman tersebut, aplikasi pelatihan perlu mendapatkan token akses OAuth 2.0 dengan cakupanhttps://www.googleapis.com/auth/cloud-platform, yang hanya dapat dilakukan menggunakan akun layanan kustom.
Misalnya, pertimbangkan akses kode pelatihan Anda ke resource Cloud Storage:
Secara default, Vertex AI dapat mengakses bucket Cloud Storage di project Google Cloud tempat Anda melakukan pelatihan kustom. Anda juga dapat memberi Vertex AI akses ke bucket Cloud Storage di project lain, atau Anda dapat secara akurat menyesuaikan bucket yang dapat diakses oleh tugas tertentu dengan menggunakan akun layanan kustom.
Membaca dan menulis file Cloud Storage dengan Cloud Storage FUSE
Di semua tugas pelatihan kustom, Vertex AI memasang bucket Cloud Storage
yang dapat Anda akses di direktori /gcs/
dari setiap sistem file
node pelatihan. Sebagai alternatif yang lebih mudah untuk menggunakan Klien Python untuk Cloud Storage atau library lain untuk mengakses Cloud Storage, Anda dapat membaca dan menulis langsung ke sistem file lokal untuk membaca data dari Cloud Storage atau menulis data ke Cloud Storage. Misalnya, untuk
memuat data dari gs://BUCKET/data.csv
, Anda dapat menggunakan
kode Python berikut:
file = open('/gcs/BUCKET/data.csv', 'r')
Vertex AI menggunakan Cloud Storage FUSE untuk memasang bucket penyimpanan. Perhatikan bahwa direktori yang dipasang oleh Cloud Storage FUSE tidak sesuai dengan POSIX.
Kredensial yang Anda gunakan untuk pelatihan kustom menentukan bucket yang dapat Anda akses dengan cara ini. Bagian sebelumnya tentang resource yang dapat diakses oleh kode Anda menjelaskan secara tepat bucket yang dapat Anda akses secara default dan cara menyesuaikan akses ini.
Memuat data input
Kode ML biasanya beroperasi pada data pelatihan untuk melatih model. Jangan menyimpan data pelatihan bersama dengan kode Anda, baik saat Anda membuat aplikasi pelatihan Python maupun image container kustom. Menyimpan data dengan kode dapat menyebabkan project jadi tidak teratur, menyulitkan penggunaan kembali kode pada set data yang berbeda, dan menyebabkan error untuk set data besar.
Anda dapat memuat data dari set data yang dikelola Vertex AI atau menulis kode Anda sendiri untuk memuat data dari sumber di luar Vertex AI, seperti BigQuery atau Cloud Storage.
Untuk mendapatkan performa terbaik saat Anda memuat data dari Cloud Storage, gunakan bucket di region tempat Anda melakukan pelatihan kustom. Untuk mempelajari cara menyimpan data di Cloud Storage, baca Membuat bucket penyimpanan dan Mengupload objek.
Untuk mempelajari bucket Cloud Storage tempat Anda dapat memuat data, baca bagian sebelumnya tentang resource yang dapat diakses oleh kode Anda.
Untuk memuat data dari Cloud Storage dalam kode pelatihan Anda, gunakan fitur Cloud Storage FUSE yang dijelaskan di bagian sebelumnya, atau gunakan library apa pun yang mendukung ADC. Anda tidak perlu secara eksplisit memberikan kredensial autentikasi apa pun dalam kode Anda.
Misalnya, Anda dapat menggunakan salah satu library klien yang ditunjukkan dalam panduan Cloud Storage untuk Mendownload objek. Klien Python untuk
Cloud Storage,
khususnya, disertakan dalam container yang telah dibangun sebelumnya.
Class tf.io.gfile.GFile
TensorFlow juga mendukung ADC.
Mengunggah set data berukuran besar
Bergantung pada jenis mesin yang Anda ingin gunakan selama pelatihan kustom, VM Anda mungkin tidak dapat memuat seluruh set data besar ke dalam memori.
Jika Anda perlu membaca data yang terlalu besar untuk muat dalam memori, tampilkan atau baca data secara bertahap. Framework ML yang berbeda memiliki praktik terbaik yang berbeda untuk melakukan ini. Misalnya, class tf.data.Dataset
TensorFlow dapat menampilkan TFRecord atau data teks dari Cloud Storage secara bertahap.
Melakukan pelatihan kustom pada beberapa VM dengan paralelisasi data adalah cara lain untuk mengurangi jumlah data yang dimuat setiap VM ke dalam memori. Lihat bagian Menulis kode untuk pelatihan terdistribusi pada dokumen ini.
Mengekspor model ML terlatih
Kode ML biasanya mengekspor model terlatih di akhir pelatihan dalam bentuk satu atau beberapa artefak model. Anda kemudian dapat menggunakan artefak model untuk mendapatkan prediksi.
Setelah pelatihan kustom selesai, Anda tidak dapat lagi mengakses VM yang menjalankan kode pelatihan Anda. Oleh karena itu, kode pelatihan Anda harus mengekspor artefak model ke lokasi di luar Vertex AI.
Sebaiknya Anda mengekspor artefak model ke bucket Cloud Storage. Seperti yang dijelaskan di bagian sebelumnya tentang resource yang dapat diakses oleh kode Anda, Vertex AI dapat mengakses bucket Cloud Storage apa pun di project Google Cloud tempat Anda melakukan pelatihan kustom. Gunakan library yang mendukung ADC untuk mengekspor artefak model Anda. Misalnya, TensorFlow API untuk menyimpan model Keras dapat mengekspor artefak langsung ke jalur Cloud Storage.
Jika Anda ingin menggunakan model terlatih Anda untuk menayangkan prediksi di Vertex AI, kode Anda harus mengekspor artefak model dalam format yang kompatibel dengan salah satu container bawaan untuk prediksi. Pelajari lebih lanjut dalam panduan mengekspor artefak model untuk prediksi.
Variabel lingkungan untuk direktori Cloud Storage khusus
Jika Anda menentukan kolom baseOutputDirectory
API,
Vertex AI menetapkan variabel lingkungan berikut saat menjalankan
kode pelatihan Anda:
AIP_MODEL_DIR
: Cloud Storage URI dari direktori yang ditujukan untuk menyimpan artefak model.AIP_CHECKPOINT_DIR
: Cloud Storage URI dari direktori yang ditujukan untuk menyimpan checkpoint.AIP_TENSORBOARD_LOG_DIR
: Cloud Storage URI dari direktori yang ditujukan untuk menyimpan log TensorBoard. Lihat Menggunakan Vertex AI TensorBoard dengan pelatihan kustom.
Nilai variabel lingkungan ini sedikit berbeda, bergantung pada apakah Anda menggunakan penyesuaian hyperparameter atau tidak. Untuk mempelajari lebih lanjut, baca referensi API untuk
baseOutputDirectory
.
Penggunaan variabel lingkungan ini akan mempermudah penggunaan kembali kode pelatihan yang sama beberapa kali—misalnya dengan opsi konfigurasi atau data yang berbeda—serta menyimpan artefak model dan checkpoint ke lokasi yang berbeda, hanya dengan mengubah kolom API baseOutputDirectory
. Namun, Anda tidak harus menggunakan variabel lingkungan dalam kode Anda jika tidak ingin menggunakannya. Misalnya, Anda dapat
melakukan hardcode lokasi sebagai alternatif untuk menyimpan checkpoint dan mengekspor artefak
model.
Selain itu, jika Anda menggunakan TrainingPipeline
untuk pelatihan
kustom dan tidak menentukan
kolom
modelToUpload.artifactUri
, Vertex AI akan menggunakan nilai variabel lingkungan
AIP_MODEL_DIR
untuk modelToUpload.artifactUri
. (Untuk penyesuaian hyperparameter, Vertex AI menggunakan nilai variabel lingkungan AIP_MODEL_DIR
dari uji coba terbaik.)
Memastikan ketahanan terhadap VM yang dimulai ulang.
VM yang menjalankan kode pelatihan Anda sesekali memulai ulang. Misalnya, Google Cloud mungkin perlu memulai ulang VM karena alasan pemeliharaan. Saat VM dimulai ulang, Vertex AI akan mulai menjalankan kembali kode Anda dari awal.
Jika kode pelatihan Anda akan berjalan selama lebih dari empat jam, tambahkan beberapa perilaku ke kode Anda agar kode tersebut tahan untuk dimulai ulang:
Anda perlu kerap mengekspor progres pelatihan ke Cloud Storage, minimal sekali setiap empat jam, agar Anda tidak kehilangan progres jika VM dimulai ulang.
Di awal kode pelatihan Anda, periksa apakah progres pelatihan sudah ada di lokasi ekspor Anda. Jika sudah, muat status pelatihan yang tersimpan, bukan memulai pelatihan dari awal.
Empat jam adalah panduan, bukan batas yang ketat. Jika memastikan ketahanan menjadi prioritas, pertimbangkan untuk menambahkan perilaku ini ke kode Anda meskipun Anda tidak mengharapkannya berjalan selama itu.
Cara mencapai perilaku ini bergantung pada framework ML yang Anda gunakan. Misalnya, jika Anda menggunakan TensorFlow Keras, pelajari cara menggunakan callback ModelCheckpoint
untuk tujuan ini.
Untuk mempelajari lebih lanjut cara Vertex AI mengelola VM, lihat Memahami layanan pelatihan kustom.
Praktik terbaik untuk fitur pelatihan kustom opsional
Jika Anda ingin menggunakan fitur pelatihan kustom opsional tertentu, Anda mungkin perlu membuat perubahan tambahan pada kode pelatihan. Bagian ini menjelaskan praktik terbaik kode untuk penyesuaian hyperparameter, GPU, pelatihan terdistribusi, dan Vertex AI TensorBoard.
Menulis kode untuk mengaktifkan logging otomatis
Anda dapat mengaktifkan logging otomatis menggunakan Vertex AI SDK untuk Python untuk secara otomatis mengambil parameter dan metrik performa saat mengirimkan tugas kustom. Untuk mengetahui detailnya, lihat Menjalankan tugas pelatihan dengan pelacakan eksperimen.
Menulis kode untuk menampilkan log container
Saat menulis dari layanan atau tugas Anda, log tersebut akan otomatis diambil oleh Cloud Logging selama log tersebut ditulis ke salah satu lokasi berikut:
- Aliran data output standar (
stdout
) atau error standar (stderr
) - File log dalam
/var/log-storage/
yang mengikuti konvensi penamaanoutput*.log
. - syslog (
/dev/log
) - Log yang tersedia dalam berbagai bahasa populer yang ditulis menggunakan library klien Cloud Logging
Sebagian besar developer diharapkan untuk menggunakan output standar dan error standar saat menulis log.
Log container yang ditulis ke lokasi yang didukung ini otomatis dikaitkan dengan layanan pelatihan kustom, revisi, dan lokasi Vertex AI, atau dengan tugas pelatihan kustom. Pengecualian yang terdapat dalam log ini ditangkap oleh dan dilaporkan dalam Error Reporting.
Menggunakan teks sederhana versus JSON terstruktur dalam log
Saat menulis log, Anda dapat mengirim string teks sederhana atau mengirim satu baris
JSON yang di-serialisasi. Teks ini juga disebut data "terstruktur". Teks string ini diambil dan
diurai oleh Cloud Logging dan ditempatkan ke jsonPayload
. Sebaliknya,
pesan teks sederhana ditempatkan di textPayload
.
Menulis log terstruktur
Anda dapat meneruskan log JSON terstruktur dengan beberapa cara. Cara yang paling umum adalah dengan menggunakan library Python Logging atau dengan meneruskan JSON mentah menggunakan print
.
Library logging Python
import json import logging from pythonjsonlogger import jsonlogger class CustomJsonFormatter(jsonlogger.JsonFormatter): """Formats log lines in JSON.""" def process_log_record(self, log_record): """Modifies fields in the log_record to match Cloud Logging's expectations.""" log_record['severity'] = log_record['levelname'] log_record['timestampSeconds'] = int(log_record['created']) log_record['timestampNanos'] = int( (log_record['created'] % 1) * 1000 * 1000 * 1000) return log_record def configure_logger(): """Configures python logger to format logs as JSON.""" formatter = CustomJsonFormatter( '%(name)s|%(levelname)s|%(message)s|%(created)f' '|%(lineno)d|%(pathname)s', '%Y-%m-%dT%H:%M:%S') root_logger = logging.getLogger() handler = logging.StreamHandler() handler.setFormatter(formatter) root_logger.addHandler(handler) root_logger.setLevel(logging.WARNING) logging.warning("This is a warning log")
JSON Mentah
import json def log(severity, message): global_extras = {"debug_key": "debug_value"} structured_log = {"severity": severity, "message": message, **global_extras} print(json.dumps(structured_log)) def main(args): log("DEBUG", "Debugging the application.") log("INFO", "Info.") log("WARNING", "Warning.") log("ERROR", "Error.") log("CRITICAL", "Critical.")
Kolom JSON khusus dalam pesan
Apabila Anda menyediakan log yang terstruktur sebagai kamus JSON, beberapa kolom khusus
akan dihapus dari jsonPayload
dan ditulis ke kolom yang sesuai dalam
LogEntry yang dibuat. Hal ini sebagaimana dijelaskan dalam
dokumentasi untuk kolom khusus.
Misalnya, jika JSON Anda menyertakan properti severity
, maka JSON tersebut akan dihapus dari
jsonPayload
dan muncul sebagai entri log milik severity
. Properti message
digunakan sebagai teks tampilan utama entri log jika ada.
Hubungkan log container Anda dengan log permintaan (khusus layanan)
Di Logs Explorer, log yang dikorelasikan oleh trace
yang sama dapat dilihat dalam format "parent-child": saat Anda mengklik ikon segitiga di sebelah kiri entri log permintaan, log container yang terkait dengan permintaan tersebut akan muncul secara bertingkat di bawah log permintaan.
Log container tidak secara otomatis berkorelasi dengan log permintaan, kecuali jika Anda menggunakan
library klien Cloud Logging.
Untuk menghubungkan log container dengan log permintaan tanpa menggunakan library klien, Anda dapat menggunakan baris log JSON terstruktur yang berisi kolom logging.googleapis.com/trace
dengan ID trace yang diekstrak dari header X-Cloud-Trace-Context
.
Lihat log
Untuk melihat log container di konsol Google Cloud, lakukan langkah berikut:
Di konsol Google Cloud, buka halaman tugas kustom Vertex AI.
Klik nama tugas kustom yang ingin Anda lihat lognya.
Klik Lihat log.
Menulis kode untuk penyesuaian hyperparameter
Vertex AI dapat melakukan penyesuaian hyperparameter pada kode pelatihan
ML Anda. Pelajari lebih lanjut cara kerja penyesuaian hyperparameter pada Vertex AI dan cara mengonfigurasi
resource
HyperparameterTuningJob
.
Jika Anda ingin menggunakan penyesuaian hyperparameter, kode pelatihan Anda harus melakukan hal berikut:
Urai argumen command line yang merepresentasikan hyperparameter yang ingin Anda sesuaikan, lalu gunakan nilai yang telah diurai untuk menetapkan hyperparameter yang akan digunakan untuk pelatihan.
Secara berkala laporkan metrik penyesuaian hyperparameter ke Vertex AI.
Mengurai argumen command line
Untuk penyesuaian hyperparameter, Vertex AI menjalankan kode pelatihan Anda
beberapa kali, dengan argumen command line yang berbeda setiap kali. Kode pelatihan Anda harus mengurai argumen command line ini dan menggunakannya sebagai hyperparameter untuk pelatihan. Misalnya, untuk menyesuaikan kecepatan pembelajaran pengoptimal,
Anda dapat mengurai argumen command line bernama --learning_rate
. Pelajari
cara mengonfigurasi argumen command line yang disediakan Vertex AI.
Sebaiknya gunakan library argparse
Python untuk mengurai argumen command line.
Melaporkan metrik penyesuaian hyperparameter
Kode pelatihan Anda harus sesekali melaporkan metrik hyperparameter yang ingin Anda optimalkan ke Vertex AI. Misalnya, jika ingin memaksimalkan akurasi model, Anda dapat melaporkan metrik ini di akhir setiap iterasi pelatihan. Vertex AI menggunakan informasi ini untuk menentukan hyperparameter yang akan digunakan untuk uji coba pelatihan berikutnya. Pelajari lebih lanjut cara memilih dan menentukan metrik penyesuaian hyperparameter.
Gunakan library Python cloudml-hypertune
untuk melaporkan metrik penyesuaian hyperparameter. Library ini disertakan dalam semua container bawaan untuk pelatihan, dan Anda dapat menggunakan pip
untuk menginstalnya di container kustom.
Untuk mempelajari cara menginstal dan menggunakan library ini, lihat repositori GitHub cloudml-hypertune
, atau lihat
Vertex AI: Codelab penyesuaian hyperparameter.
Menulis kode untuk GPU
Anda dapat memilih VM dengan unit pemrosesan grafis (GPU) untuk menjalankan kode pelatihan kustom Anda. Pelajari lebih lanjut cara mengonfigurasi pelatihan kustom untuk menggunakan VM yang mendukung GPU.
Jika Anda ingin berlatih dengan GPU, pastikan kode pelatihan Anda dapat memanfaatkannya. Bergantung pada framework ML yang Anda gunakan, hal ini mungkin memerlukan perubahan pada kode Anda. Misalnya, jika Anda menggunakan TensorFlow Keras, Anda hanya perlu menyesuaikan kode jika ingin menggunakan lebih dari satu GPU. Beberapa framework ML tidak dapat menggunakan GPU sama sekali.
Selain itu, pastikan container Anda mendukung GPU: Pilih container
bawaan untuk pelatihan yang mendukung GPU,
atau instal NVIDIA CUDA
Toolkit dan NVIDIA cuDNN pada container kustom Anda.
Salah satu cara untuk melakukannya adalah dengan menggunakan image dasar dari repositori Docker nvidia/cuda
; cara lainnya adalah dengan menggunakan instance Deep Learning Containers sebagai image dasar Anda.
Menulis kode untuk pelatihan terdistribusi
Untuk melatih set data besar, Anda dapat menjalankan kode di beberapa VM dalam cluster terdistribusi yang dikelola oleh Vertex AI. Pelajari cara mengonfigurasi beberapa VM untuk pelatihan.
Beberapa framework ML, seperti TensorFlow dan PyTorch, memungkinkan Anda menjalankan kode pelatihan yang identik pada beberapa mesin yang secara otomatis mengoordinasikan cara membagi pekerjaan berdasarkan variabel lingkungan yang ditetapkan pada setiap mesin. Cari tahu apakah Vertex AI menetapkan variabel lingkungan untuk memungkinkan hal ini diterapkan pada framework ML Anda.
Atau, Anda dapat menjalankan container yang berbeda di setiap gabungan worker. Gabungan worker adalah grup VM yang Anda konfigurasi untuk menggunakan container dan opsi komputasi yang sama. Dalam hal ini, Anda mungkin masih ingin mengandalkan variabel lingkungan yang ditetapkan oleh Vertex AI untuk mengoordinasikan komunikasi antar-VM. Anda dapat menyesuaikan kode pelatihan setiap gabungan worker untuk melakukan tugas arbitrer apa pun yang Anda inginkan; cara melakukannya tergantung pada tujuan Anda dan framework ML mana yang Anda gunakan.
Melacak dan memvisualisasikan eksperimen pelatihan kustom menggunakan Vertex AI TensorBoard
Vertex AI TensorBoard adalah versi TensorBoard terkelola, sebuah project open source Google untuk memvisualisasikan eksperimen machine learning. Dengan Vertex AI TensorBoard, Anda dapat melacak, memvisualisasikan, dan membandingkan eksperimen ML, lalu membagikannya kepada tim Anda. Anda juga dapat menggunakan TensorBoard Profiler untuk menemukan dan memperbaiki bottleneck performa guna melatih model dengan lebih cepat dan lebih murah.
Untuk menggunakan Vertex AI TensorBoard dengan pelatihan kustom, Anda harus melakukan hal berikut:
Buat instance Vertex AI TensorBoard dalam project untuk menyimpan eksperimen Anda (lihat Membuat instance TensorBoard).
Konfigurasi akun layanan untuk menjalankan tugas pelatihan kustom dengan izin yang sesuai.
Sesuaikan kode pelatihan kustom Anda untuk menulis log yang kompatibel dengan TensorBoard ke Cloud Storage (lihat Perubahan pada skrip pelatihan Anda)
Untuk panduan langkah demi langkah, lihat Menggunakan Vertex AI TensorBoard dengan pelatihan kustom.
Langkah selanjutnya
Pelajari detail membuat aplikasi pelatihan Python untuk digunakan dengan container bawaan atau membuat image container kustom.
Jika Anda tidak yakin ingin melakukan pelatihan kustom, baca perbandingan pelatihan kustom dan AutoML.