Jobs mit Vertex AI TensorBoard visualisieren

Wenn Sie sich für das verwaltete Training der Gemini Enterprise Agent Platform interessieren, wenden Sie sich an Ihren Vertriebsmitarbeiter, um Zugriff zu erhalten.

Mit dem verwalteten Training können Sie Ihre Trainingslogs mit Vertex AI TensorBoard nahezu in Echtzeit visualisieren. Konfigurieren Sie einfach Ihre Arbeitslast, um Logs in einem Cloud Storage-Bucket zu speichern. Sie werden dann automatisch zur Analyse in die TensorBoard-Oberfläche gestreamt.

Vorbereitung

Prüfen Sie vor Beginn, ob Sie Folgendes haben:

  • Einen ausgeführten Cluster für verwaltetes Training.
  • Einen Cloud Storage-Bucket zum Speichern Ihrer TensorBoard-Logs. Dieser Bucket muss sich in derselben Region wie Ihre TensorBoard-Instanz befinden. Eine Einrichtungsanleitung finden Sie unter Cloud Storage-Bucket erstellen.
  • Eine Vertex AI TensorBoard-Instanz. Eine Anleitung zum Erstellen finden Sie unter Vertex AI TensorBoard-Instanz erstellen.
  • Die richtigen IAM-Berechtigungen. Damit Cloud Storage FUSE aus dem Storage-Bucket lesen und in ihn schreiben kann, benötigt das von den VMs Ihres Clusters verwendete Dienstkonto die Rolle „Storage-Objekt-Nutzer“ (roles/storage.objectUser).

TensorBoard-Upload aktivieren

Wenn Sie die TensorBoard-Integration für Ihren Job konfigurieren möchten, übergeben Sie die folgenden Argumente mit dem Flag --extra in Ihrer Slurm-Jobübermittlung:

  • tensorboard_base_output_dir: Gibt den Cloud Storage-Pfad an, in den Logs hochgeladen werden sollen. Beispiel: gs://my-bucket/my-logs.

  • tensorboard_url: Gibt die URL der Vertex AI TensorBoard-Instanz, des Experiments oder der Ausführung an. Wenn nur eine Instanz angegeben wird, werden ein neues Experiment und eine neue Ausführung erstellt. Wenn nichts angegeben ist, wird die Standard-TensorBoard-Instanz für das Projekt verwendet. Beispiel: projects/123/locations/us-central1/tensorboards/456.

Beispiel

# 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

Logs aus Ihrem Trainingsjob schreiben

Greifen Sie in Ihrem Trainingsskript auf die Umgebungsvariable AIP_TENSORBOARD_LOG_DIR zu. Diese Variable enthält den eindeutigen Cloud Storage-Pfad, in den Ihr Skript seine TensorBoard-Logs schreiben soll.

Der Pfad folgt dieser Struktur:

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

Das folgende Beispiel zeigt einen vollständigen Workflow mit zwei Hauptkomponenten: das Slurm-Übermittlungsskript, das den Job konfiguriert, und das Python-Trainingsskript, das die Umgebungsvariable liest, um seine Logs zu schreiben.

Slurm-Jobskript (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

Python-Skript (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} ---")

Echtzeit-Logs synchronisieren

Wenn Sie Messwerte aus einem laufenden Job visualisieren möchten, müssen Sie den Zusammenfassungsschreiber in Ihrem Trainingscode regelmäßig schließen und neu erstellen. Das ist erforderlich, da gcsfuse Logdateien nur dann mit Cloud Storage synchronisiert, wenn sie geschlossen sind. Mit dieser „Flushing“-Technik werden Zwischenergebnisse in der TensorBoard-Konsole sichtbar, bevor der Job abgeschlossen ist.

Vertex AI TensorBoard aufrufen

Nachdem Sie Ihren Job gesendet haben, können Sie den Fortschritt in der Cloud de Confiance Konsole auf der Seite Vertex AI Experiments verfolgen.

Nächste Schritte

Analysieren Sie Trainingsmesswerte, visualisieren Sie Modellgraphen und erstellen Sie Leistungsprofile in Vertex AI TensorBoard, um Probleme zu beheben, Ihr Modell zu optimieren und es für die Einbindung in einen vollständigen MLOps-Workflow vorzubereiten.