Saat melatih model menggunakan pelatihan khusus, Anda dapat menyiapkan tugas pelatihan agar otomatis mengupload log Vertex AI TensorBoard ke Vertex AI TensorBoard.
Anda dapat menggunakan integrasi ini untuk memantau pelatihan secara mendekati real-time saat Vertex AI TensorBoard mengalirkan log Vertex AI TensorBoard yang ditulis ke Cloud Storage.
Untuk penyiapan awal, lihat Menyiapkan Vertex AI TensorBoard.
Perubahan pada skrip pelatihan Anda
Skrip pelatihan Anda harus dikonfigurasi untuk menulis log TensorBoard ke bucket Cloud Storage, tempat Vertex AI Training Service akan otomatis tersedia melalui variabel lingkungan yang telah ditetapkan, yaitu AIP_TENSORBOARD_LOG_DIR
.
Hal ini biasanya dapat dilakukan dengan menyediakan os.environ['AIP_TENSORBOARD_LOG_DIR']
sebagai direktori log bagi API penulisan log TensorBoard open source. Lokasi
AIP_TENSORBOARD_LOG_DIR
biasanya ditetapkan dengan variabel
staging_bucket
.
Untuk mengonfigurasi skrip pelatihan di TensorFlow 2.x, buat callback
TensorBoard dan tetapkan variabel log_dir
ke os.environ['AIP_TENSORBOARD_LOG_DIR']
Callback TensorBoard kemudian disertakan dalam daftar callback
model.fit
TensorFlow.
tensorboard_callback = tf.keras.callbacks.TensorBoard( log_dir=os.environ['AIP_TENSORBOARD_LOG_DIR'], histogram_freq=1 ) model.fit( x=x_train, y=y_train, epochs=epochs, validation_data=(x_test, y_test), callbacks=[tensorboard_callback], )
Pelajari lebih lanjut cara Vertex AI menetapkan variabel lingkungan di lingkungan pelatihan kustom Anda.
Membuat tugas pelatihan khusus
Contoh berikut menunjukkan cara membuat tugas pelatihan kustom Anda sendiri.
Untuk contoh mendetail tentang cara membuat tugas pelatihan khusus, lihat Pelatihan khusus Hello. Untuk mengetahui langkah-langkah dalam membangun container pelatihan khusus, lihat Membuat image container kustom untuk pelatihan.
Untuk membuat tugas pelatihan kustom, gunakan Vertex AI SDK untuk Python atau REST.
Python
Python
project
: Project ID Anda. Anda dapat menemukan ID ini di halaman sambutan Konsol Google Cloud.
location
: Lokasi untuk menjalankan CustomJob. Lokasi ini harus sama dengan lokasi instance TensorBoard yang disediakan.staging_bucket
: Bucket Cloud Storage untuk melakukan staging artefak selama panggilan API, termasuk log TensorBoard.display_name
: Nama tampilan tugas pelatihan kustom.script_path
: Jalur, relatif terhadap direktori kerja di sistem file lokal, ke skrip yang merupakan titik entri untuk kode pelatihan Anda.container_uri
: URI image container pelatihan dapat berupa Vertex AI. container pelatihan bawaan atau container kustom.model_serving_container_image_uri
: URI penampung penayangan model yang sesuai untuk menayangkan model yang dihasilkan oleh skrip pelatihan.dataset_id
: Nomor ID set data yang akan digunakan untuk pelatihan.model_display_name
: Nama tampilan model yang dilatih.args
: Argumen command line yang akan diteruskan ke skrip Python.replica_count
: Jumlah replika worker yang akan digunakan. Pada umumnya, tetapkan ini ke 1 untuk kumpulan pekerja pertama Anda.machine_type
: Jenis VM yang akan digunakan. Untuk daftar VM yang didukung, lihat Jenis mesinaccelerator_type
: Jenis GPU yang akan dipasang ke setiap VM di dalam kumpulan resource. Untuk mengetahui daftar GPU yang didukung, lihat GPU.accelerator_count
Jumlah GPU yang akan dilampirkan ke setiap VM di kumpulan resource. Nilai default-nya adalah1
.training_fraction_split
: Bagian set data yang akan digunakan untuk melatih model Anda.validation_fraction_split
: Bagian set data yang akan digunakan untuk memvalidasi model Anda.test_fraction_split
: Bagian set data yang akan digunakan untuk mengevaluasi model Anda.sync
: Apakah akan mengeksekusi metode ini secara sinkron.tensorboard_resource_name
: Nama resource instance Vertex TensorBoard tempat CustomJob akan mengupload log TensorBoard.service_account
: Diperlukan saat berjalan dengan TensorBoard. Lihat Membuat akun layanan dengan izin yang diperlukan.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION_ID: Lokasi untuk menjalankan
CustomJob
, misalnya, us-central1. Lokasi ini harus sama dengan lokasi instance TensorBoard yang disediakan. - PROJECT_ID: Project ID Anda.
- TENSORBOARD_INSTANCE_NAME: (Wajib) Nama lengkap instance Vertex AI TensorBoard yang sudah ada yang menyimpan log Vertex AI TensorBoard Anda:
projects/
PROJECT_ID
/locations/LOCATION_ID
/tensorboards/TENSORBOARD_INSTANCE_ID
Catatan: Jika instance tensorboard bukan yang sudah ada, pembuatan customJobs akan menampilkan 404. - GCS_BUCKET_NAME: "${PROJECT_ID}-tensorboard-logs-${LOCATION}"
- USER_SA_EMAIL: (Wajib) Akun layanan yang dibuat pada langkah sebelumnya, atau akun layanan Anda sendiri. "USER_SA_NAME@${PROJECT_ID}.iam.gserviceaccount.com"
- TRAINING_CONTAINER: TRAINING_CONTAINER.
- INVOCATION_TIMESTAMP: "$(date +'%Y%m%d-%H%M%S')"
- JOB_NAME: "tensorboard-example-job-${INVOCATION_TIMESTAMP}"
- BASE_OUTPUT_DIR: (Wajib) jalur Google Cloud tempat semua output pelatihan ditulis. "gs://$GCS_BUCKET_NAME/$JOB_NAME"
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/customJobs
Meminta isi JSON:
{ "displayName": JOB_NAME, "jobSpec":{ "workerPoolSpecs":[ { "replicaCount": "1", "machineSpec": { "machineType": "n1-standard-8", }, "containerSpec": { "imageUri": TRAINING_CONTAINER, } } ], "base_output_directory": { "output_uri_prefix": BASE_OUTPUT_DIR, }, "serviceAccount": USER_SA_EMAIL, "tensorboard": TENSORBOARD_INSTANCE_NAME, } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/customJobs/CUSTOM_JOB_ID", "displayName": "DISPLAY_NAME", "jobSpec": { "workerPoolSpecs": [ { "machineSpec": { "machineType": "n1-standard-8" }, "replicaCount": "1", "diskSpec": { "bootDiskType": "pd-ssd", "bootDiskSizeGb": 100 }, "containerSpec": { "imageUri": "IMAGE_URI" } } ], "serviceAccount": "SERVICE_ACCOUNT", "baseOutputDirectory": { "outputUriPrefix": "OUTPUT_URI_PREFIX" }, "tensorboard": "projects//locations/LOCATION_ID/tensorboards/tensorboard-id" }, "state": "JOB_STATE_PENDING", "createTime": "CREATE-TIME", "updateTime": "UPDATE-TIME" }
Langkah selanjutnya
- Lihat Melihat Vertex AI TensorBoard.
- Pelajari cara mengoptimalkan performa tugas pelatihan kustom Anda menggunakan Cloud Profiler.