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 : nom 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 Vertex AI TensorBoard

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, sa région doit être la même que celle dans laquelle votre instance Vertex AI TensorBoard a été créée.

LOCATION=LOCATION_ID
GCS_BUCKET_NAME="PROJECT_ID-tensorboard-logs-${LOCATION_ID}"
gsutil mb -l ${LOCATION_ID} "gs://${GCS_BUCKET_NAME}"

Remplacez LOCATION_ID par la région dans laquelle 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 automatiquement créée lors de l'initialisation d'un test Vertex AI. Ce TensorBoard de sauvegarde est associé au test Vertex AI et est utilisé avec toutes les exécutions de tests Vertex AI suivantes. Il s'agit du moyen le plus simple pour commencer à utiliser Vertex AI TensorBoard et 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. Consultez la page init dans la documentation de référence du SDK Vertex AI.

Python

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,
    )

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 : région dans laquelle vous souhaitez créer l'instance TensorBoard. Consultez la liste des emplacements disponibles. Veillez à utiliser une région compatible avec TensorBoard.

Créer manuellement une instance Vertex AI TensorBoard

Vous pouvez créer manuellement un Vertex AI TensorBoard. 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 : région dans laquelle vous souhaitez créer l'instance TensorBoard. Consultez la liste des emplacements disponibles. Veillez à utiliser une région compatible avec 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 région 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 une région 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), puis 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 auxquels l'instance est associée ne sont pas supprimés.

Pour supprimer un test Vertex AI 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 : région dans laquelle se trouve 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 des 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 la ressource TensorBoard

Le nom de 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.

ID de l'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.ID TensorBoard