Configurer Vertex AI TensorBoard

Les éléments suivants sont requis pour configurer Vertex AI TensorBoard :

  1. Créer un compte de service avec les autorisations requises
  2. Créer un bucket Cloud Storage pour stocker les journaux Vertex AI TensorBoard
  3. Créer une instance Vertex AI TensorBoard

Créer un compte de service avec les autorisations requises

L'intégration de Vertex AI TensorBoard à l'entraînement personnalisé nécessite d'associer un compte de service.

  1. Créez un compte de service :

    gcloud --project=PROJECT_ID iam service-accounts create USER_SA_NAME
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel vous créez un compte de service.

    • USER_SA_NAME : nom unique du compte de service que vous créez.

  2. Le nouveau compte de service est utilisé par le service d'entraînement Vertex AI pour accéder aux services et aux ressources Google Cloud . Exécutez les commandes suivantes pour accorder ces rôles si nécessaire :

    SA_EMAIL="USER_SA_NAME@PROJECT_ID.iam.gserviceaccount.com"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:${SA_EMAIL}" \
       --role="roles/storage.admin"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:${SA_EMAIL}" \
       --role="roles/aiplatform.user"
    

Créer un bucket Cloud Storage pour stocker les journaux Vertex AI TensorBoard

Vous devez disposer d'un bucket Cloud Storage pour stocker les journaux Vertex AI TensorBoard générés par votre script d'entraînement. Le bucket doit être régional, et non multirégional ou birégional. De plus, les ressources suivantes doivent se trouver dans la même région :

  • Bucket Cloud Storage
  • Job d'entraînement Vertex AI
  • Instance TensorBoard Vertex AI

Vous pouvez utiliser un bucket existant au lieu de suivre l'étape de création du bucket décrite ici. Lorsque vous utilisez un bucket existant, son emplacement doit être identique à celui dans lequel votre instance TensorBoard Vertex AI a été créée.

GCS_BUCKET_NAME="PROJECT_ID-tensorboard-logs-LOCATION_ID"
gcloud storage buckets create "gs://${GCS_BUCKET_NAME}" --location=LOCATION_ID

Remplacez LOCATION_ID par l'emplacement dans lequel votre instance Vertex AI TensorBoard a été créée (par exemple, us-central1).

Créer une instance Vertex AI TensorBoard.

Avant de pouvoir visualiser les tests, vous devez avoir à dispositition une instance Vertex AI TensorBoard, qui est une ressource régionalisée pour le stockage de vos tests Vertex AI TensorBoard. Deux options sont disponibles : Vous pouvez utiliser une instance par défaut ou en créer une manuellement. Vous pouvez créer plusieurs instances au sein d'un projet et d'une région, mais la plupart des utilisateurs n'ont besoin que d'une seule instance.

Utiliser l'instance Vertex AI TensorBoard par défaut

Une instance TensorBoard par défaut est créée automatiquement lors de l'initialisation d'un test Vertex AI. Ce TensorBoard de sauvegarde est associé au test Vertex AI et est utilisé pour toutes les exécutions ultérieures de Vertex AI Experiments. Le tensorboard_resource_name peut être récupéré directement à partir du test. Il s'agit du moyen le plus simple de commencer à utiliser Vertex AI TensorBoard. Cela devrait répondre à la plupart des besoins des utilisateurs.

SDK Vertex AI pour Python

Créez un test Vertex AI TensorBoard avec une instance par défaut à l'aide du SDK Vertex AI pour Python. Récupérez tensorboard_resource_name à partir du test. Consultez les pages init et Experiment dans la documentation de référence du SDK Vertex AI.

Python

from google.cloud import aiplatform


def create_experiment_default_tensorboard_sample(
    experiment_name: str,
    experiment_description: str,
    project: str,
    location: str,
):
    aiplatform.init(
        experiment=experiment_name,
        experiment_description=experiment_description,
        project=project,
        location=location,
    )

    tensorboard = aiplatform.Experiment(experiment_name).get_backing_tensorboard_resource()
    print(f"Tensorboard resource name: {tensorboard.name}")

experiment_name: str, experiment_description: str, project: str, location: str,
  • experiment_name : nom de votre test.
  • experiment_description : description de votre test.
  • project : PROJECT_ID du projet dans lequel vous souhaitez créer l'instance TensorBoard.
  • location : emplacement dans lequel créer votre instance TensorBoard. L'emplacement de Vertex AI TensorBoard est régional. Veillez à sélectionner une région compatible avec Vertex AI TensorBoard.

Créer manuellement une instance TensorBoard Vertex AI

Vous pouvez créer manuellement un TensorBoard Vertex AI. Cette fonctionnalité est utile pour les utilisateurs qui sont plus à l'aise avec la console Google Cloud, pour les utilisateurs ayant besoin d'une fonctionnalité TensorBoard activée par CMEK (voir CMEK) ou pour les utilisateurs qui souhaitent utiliser plusieurs TensorBoards. Cette instance peut ensuite être spécifiée directement lors de l'initialisation d'un test Vertex AI, du démarrage d'une exécution de test ou de la configuration du code d'entraînement.

SDK Vertex AI pour Python

Créez une instance Vertex AI TensorBoard à l'aide du SDK Vertex AI pour Python.

Python

def create_tensorboard_sample(
    project: str,
    location: str,
    display_name: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    tensorboard = aiplatform.Tensorboard.create(
        display_name=display_name,
        project=project,
        location=location,
    )

    aiplatform.init(
        project=project,
        location=location,
        experiment_tensorboard=tensorboard
    )

    return tensorboard

  • project : PROJECT_ID du projet dans lequel vous souhaitez créer l'instance TensorBoard.
  • display_name : nom descriptif de l'instance Vertex AI TensorBoard.
  • location : emplacement dans lequel créer votre instance TensorBoard. L'emplacement de Vertex AI TensorBoard est régional. Veillez à sélectionner une région compatible avec Vertex AI TensorBoard.

Google Cloud CLI

Utilisez Google Cloud CLI pour créer une instance Vertex AI TensorBoard.

  1. Installer gcloud CLI
  2. Initialisez Google Cloud CLI en exécutant gcloud init.
  3. Pour confirmer l'installation, explorez les commandes.
     gcloud ai tensorboards --help 

    Les commandes incluent create, describe, list, update et delete. Si nécessaire, vous pouvez suivre ces étapes pour définir les valeurs par défaut de votre projet et de votre emplacement avant de continuer.
  4. Authentifiez-vous sur la CLI gcloud.
    gcloud auth application-default login
  5. Créez une instance Vertex AI TensorBoard en fournissant un nom de projet et un nom à afficher. La première exécution de cette étape dans un projet peut prendre quelques minutes. Notez le nom de l'instance Vertex AI TensorBoard (par exemple, projects/123/locations/us-central1/tensorboards/456) qui sera affiché à la fin de la commande suivante. Vous en aurez besoin lors des prochaines étapes.
    gcloud ai tensorboards create --display-name DISPLAY_NAME \
           --project PROJECT_NAME
         

    Remplacez les éléments suivants :
    • PROJECT_NAME : projet dans lequel vous souhaitez créer l'instance TensorBoard.
    • DISPLAY_NAME : nom descriptif de l'instance TensorBoard.

Console Google Cloud

Si vous souhaitez que vos données Vertex AI TensorBoard soient chiffrées, vous devez activer la clé CMEK lors de la création de l'instance.

Procédez comme suit pour créer une instance utilisant CMEK Vertex AI TensorBoard à l'aide de la console Google Cloud.

  1. Si vous débutez avec Vertex AI ou démarrez un nouveau projet, configurez votre projet et votre environnement de développement.
  2. Dans la section "Vertex AI" de la console Google Cloud, accédez à la page Tests.

    Accéder à la page "Tests".
  3. Accédez à l'onglet Instances TensorBoard.
  4. Cliquez sur Créer en haut de la page.
  5. Sélectionnez un emplacement dans la liste déroulante Région.
  6. (Facultatif) Ajoutez une description.
  7. (Facultatif) Sous Chiffrement, sélectionnez Clé de chiffrement gérée par le client (CMEK) et sélectionnez une clé gérée par le client.
  8. Cliquez sur Créer pour créer votre instance TensorBoard.

Créer une instance tensorboard

Terraform

L'exemple suivant utilise la ressource Terraform google_vertex_ai_tensorboard pour créer une instance Vertex AI TensorBoard non chiffrée.

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.

Terraform

resource "google_vertex_ai_tensorboard" "default" {
  display_name = "vertex-ai-tensorboard-sample-name"
  region       = "us-central1"
}

Supprimer une instance TensorBoard

La suppression d'une instance TensorBoard entraîne la suppression de TensorBoard ainsi que de tous les tests TensorBoard et exécutions TensorBoard associés. Les tests Vertex AI Experiments auxquels l'instance est associée ne sont pas supprimés.

Pour supprimer un test Vertex AI Experiments et les tests Vertex AI TensorBoard associés, consultez la section Supprimer un test.

SDK Vertex AI pour Python

Supprimez une instance Vertex AI TensorBoard à l'aide du SDK Vertex AI pour Python.

Python

def delete_tensorboard_instance_sample(
    tensorboard_resource_name: str,
    project: str,
    location: str,
):
    aiplatform.init(project=project, location=location)

    tensorboard = aiplatform.Tensorboard(
        tensorboard_name=tensorboard_resource_name
    )

    tensorboard.delete()

  • tensorboard_resource_name : indiquez le nom de la ressource TensorBoard.
  • project : PROJECT_ID dans lequel se trouve votre instance TensorBoard.
  • location : emplacement de votre instance TensorBoard.

Console Google Cloud

Procédez comme suit pour créer une instance Vertex AI TensorBoard à l'aide de la console Google Cloud.

  1. Dans la section "Vertex AI" de la console Google Cloud, accédez à la page Tests.

    Accéder à la page "Tests"
  2. Sélectionnez l'onglet Instances TensorBoard. Une liste d'instances TensorBoard s'affiche.
  3. Sélectionnez , puis cliquez sur Supprimer.

supprimer une instance tensorboard

Termes pertinents

Ces termes, "nom de ressource TensorBoard" et "ID d'instance TensorBoard", sont référencés dans de nombreux exemples.

Nom de ressource TensorBoard

Le nom de la ressource TensorBoard permet d'identifier complètement l'instance Vertex AI TensorBoard. Le format est le suivant :

projects/PROJECT_ID_OR_NUMBER/locations/REGION/tensorboards/TENSORBOARD_INSTANCE_ID

Le nom de la ressource TensorBoard est affiché dans les messages de journal lors de la création à l'aide de CLI gcloud ou du SDK Vertex AI, ou peut être créé en fournissant les valeurs appropriées pour les espaces réservés.

SDK Vertex AI pour Python

Le nom de la ressource TensorBoard peut être récupéré à partir d'un test Vertex AI à l'aide du SDK Vertex AI.

Python

from google.cloud import aiplatform


def get_experiment_backing_tensorboard_sample(
    experiment_name: str,
    project: str,
    location: str,
):
    backing_tensorboard = aiplatform.Experiment(
        project=project,
        location=location,
        experiment_name=experiment_name
    ).get_backing_tensorboard_resource()

    return backing_tensorboard.name

  • experiment_name : nom de votre test.
  • project: PROJECT_ID de votre test.
  • location: emplacement de votre test.

ID d'instance TensorBoard

L'ID d'instance TensorBoard est une valeur d'ID générée associée à une instance TensorBoard. Pour trouver l'identifiant TENSORBOARD_INSTANCE_ID, accédez à la section "Vertex AI" de la page "Tests" de la console Google Cloud, puis sélectionnez l'onglet Instances TensorBoard.

Vous pouvez également récupérer l'ID d'instance à partir du nom de la ressource TensorBoard. ID TensorBoard