Memvisualisasikan tugas dengan Vertex AI TensorBoard

Jika Anda tertarik dengan Pelatihan Terkelola Gemini Enterprise Agent Platform, hubungi perwakilan penjualan Anda untuk mendapatkan akses.

Dengan Pelatihan Terkelola, Anda dapat memvisualisasikan log pelatihan secara mendekati real-time menggunakan Vertex AI TensorBoard. Cukup konfigurasi workload Anda untuk menyimpan log ke bucket Cloud Storage, dan log tersebut akan otomatis di-streaming ke antarmuka TensorBoard untuk dianalisis.

Prasyarat

Sebelum memulai, pastikan Anda memiliki hal berikut:

  • Cluster Pelatihan Terkelola yang berjalan.
  • Bucket Cloud Storage untuk menyimpan log TensorBoard Anda. Bucket ini harus berada di region yang sama dengan instance TensorBoard Anda. Untuk mengetahui petunjuk penyiapan, lihat Membuat bucket Cloud Storage.
  • Instance Vertex AI TensorBoard. Untuk mengetahui petunjuk pembuatan, lihat Membuat instance Vertex AI TensorBoard.
  • Izin IAM yang benar. Untuk mengizinkan Cloud Storage FUSE membaca dari dan menulis ke bucket penyimpanan, akun layanan yang digunakan oleh VM cluster Anda memerlukan peran Pengguna Objek Penyimpanan (roles/storage.objectUser).

Mengaktifkan upload TensorBoard

Untuk mengonfigurasi integrasi TensorBoard untuk tugas Anda, teruskan argumen berikut menggunakan flag --extra dalam pengiriman tugas Slurm Anda:

  • tensorboard_base_output_dir: Menentukan jalur Cloud Storage untuk mengupload log. Misalnya, gs://my-bucket/my-logs.

  • tensorboard_url: Menentukan URL instance, eksperimen, atau proses Vertex AI TensorBoard. Jika hanya instance yang disediakan, eksperimen dan proses baru akan dibuat. Jika dihilangkan, instance TensorBoard default untuk project akan digunakan. Misalnya, projects/123/locations/us-central1/tensorboards/456.

Contoh

# Using specific tensorboard instance
sbatch --extra="tensorboard_base_output_dir=<your-cloud-storage-dir>,tensorboard_url=projects/<project-id>/locations/<location>/tensorboards/<tensorboard-instance-id>" your_script.sbatch

Menulis log dari tugas pelatihan Anda

Dalam skrip pelatihan, akses variabel lingkungan AIP_TENSORBOARD_LOG_DIR. Variabel ini menyediakan jalur Cloud Storage unik tempat skrip Anda harus menulis log TensorBoard-nya.

Jalur ini mengikuti struktur berikut:

gs://<your-cloud-storage-path>/<cluster-id>-<cluster-uuid>/tensorboard/job-<job-id>/

Contoh berikut menunjukkan alur kerja lengkap dengan dua komponen utama: skrip pengiriman Slurm yang mengonfigurasi tugas, dan skrip pelatihan Python yang membaca variabel lingkungan untuk menulis log-nya.

Skrip Tugas Slurm (simple_job.sbatch):

#!/bin/bash
#SBATCH --job-name=tensorboard-simple-test
#SBATCH --output=tensorboard-simple-test-%j.out
# Activate your Python virtual environment if needed
# source /path/to/your/venv/bin/activate
python3 simple_logger.py

Skrip Python (simple_logger.py):

import tensorflow as tf
import os

# Get the log directory from the environment variable
log_dir = os.environ.get("AIP_TENSORBOARD_LOG_DIR")

print(f"Writing TensorBoard logs to: {log_dir}")
writer = tf.summary.create_file_writer(log_dir)

with writer.as_default():
    for step in range(10):
        # Simulate some metrics
        loss = 1.0 - (step * 0.1)
        accuracy = 0.6 + (step * 0.04)

        # Log the metrics
        tf.summary.scalar('loss', loss, step=step)
        tf.summary.scalar('accuracy', accuracy, step=step)
        writer.flush()
        print(f"Step {step}: loss={loss:.4f}, accuracy={accuracy:.4f}")

writer.close()
print(f"--- Finished writing metrics to {log_dir} ---")

Sinkronisasi Log Real-time

Untuk memvisualisasikan metrik dari tugas yang sedang berjalan, Anda harus menutup dan membuat ulang penulis ringkasan secara berkala dalam kode pelatihan. Hal ini diperlukan karena gcsfuse hanya menyinkronkan file log ke Cloud Storage setelah ditutup. Teknik "flushing" ini memastikan hasil sementara terlihat di konsol TensorBoard sebelum tugas selesai.

Melihat Vertex AI TensorBoard

Setelah tugas dikirimkan, Anda dapat memantau progresnya dengan membuka halaman Vertex AI Experiments di Cloud de Confiance konsol.

Langkah berikutnya

Analisis metrik pelatihan, visualisasikan grafik model, dan profil performa di Vertex AI TensorBoard untuk men-debug masalah, mengoptimalkan model, dan menyiapkan model untuk integrasi ke dalam alur kerja MLOps lengkap.