Configurar Vertex AI TensorBoard

Para configurar Vertex AI TensorBoard, debes cumplir los siguientes requisitos:

  1. Crea una cuenta de servicio con los permisos necesarios.
  2. Crea un segmento de Cloud Storage para almacenar los registros de Vertex AI TensorBoard.
  3. Crea una instancia de Vertex AI TensorBoard.

Crear una cuenta de servicio con los permisos necesarios

Para integrar Vertex AI TensorBoard con el entrenamiento personalizado, es necesario asociar una cuenta de servicio.

  1. Crea una cuenta de servicio:

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

    Haz los cambios siguientes:

    • PROJECT_ID: el ID del proyecto en el que vas a crear una cuenta de servicio.

    • USER_SA_NAME: un nombre único para la cuenta de servicio que vas a crear.

  2. El servicio Vertex AI Training utiliza la nueva cuenta de servicio para acceder a Google Cloud servicios y recursos. Usa los siguientes comandos para asignar estos roles si es necesario:

    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"
    

Crear un segmento de Cloud Storage para almacenar los registros de Vertex AI TensorBoard

Se necesita un segmento de Cloud Storage para almacenar los registros de Vertex AI TensorBoard que genera tu secuencia de comandos de entrenamiento. El segmento debe ser regional, es decir, no multirregional ni birregional, y los siguientes recursos deben estar en la misma región:

  • Segmento de Cloud Storage
  • Tarea de entrenamiento de Vertex AI
  • Instancia de Vertex AI TensorBoard

Puedes usar un segmento que ya tengas en lugar de seguir el paso para crear un segmento que se describe aquí. Si usas un bucket, su ubicación debe ser la misma en la que se creó tu instancia de Vertex AI TensorBoard.

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

Sustituye LOCATION_ID por la ubicación en la que se creó tu instancia de Vertex AI TensorBoard (por ejemplo, us-central1).

GCS_BUCKET_NAME se usa para crear una tarea de entrenamiento personalizada con REST.

Crear una instancia de Vertex AI TensorBoard

Para poder visualizar los experimentos, debe haber una instancia de Vertex AI TensorBoard, que es un recurso regionalizado que almacena los experimentos de Vertex AI TensorBoard. Tienes dos opciones. Puedes usar una instancia predeterminada o crear una manualmente. Puedes crear varias instancias en un proyecto y una región, pero la mayoría de los usuarios solo necesitan una instancia.

Usar la instancia predeterminada de Vertex AI TensorBoard

Al inicializar un experimento de Vertex AI, se crea automáticamente una instancia de TensorBoard predeterminada. Este TensorBoard de respaldo está asociado al experimento de Vertex AI y se usa con todas las ejecuciones posteriores de experimentos de Vertex AI. El tensorboard_resource_name se puede recuperar directamente del experimento. Esta es la forma más sencilla de empezar a usar Vertex AI TensorBoard y debería satisfacer las necesidades de la mayoría de los usuarios.

SDK de Vertex AI para Python

Crea un experimento de Vertex AI TensorBoard con una instancia predeterminada mediante el SDK de Vertex AI para Python. Recupera el tensorboard_resource_name del experimento. Consulta init y Experiment en la documentación de referencia del SDK de 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: el nombre del experimento.
  • experiment_description: una descripción del experimento.
  • project: el PROJECT_ID del proyecto en el que quieres crear la instancia de TensorBoard.
  • location: la ubicación en la que se creará la instancia de TensorBoard. La ubicación de Vertex AI TensorBoard es regional. Asegúrate de seleccionar una región que admita Vertex AI TensorBoard.

Crear manualmente una instancia de Vertex AI TensorBoard

Puedes crear manualmente un Vertex AI TensorBoard. Esto resulta útil para los usuarios que se sienten más cómodos con la consola Google Cloud , los que necesitan un TensorBoard con CMEK habilitado (consulta CMEK) o los que quieren usar varios TensorBoards. Esta instancia se puede especificar directamente al inicializar un experimento de Vertex AI, iniciar una ejecución de experimento o configurar el código de entrenamiento.

SDK de Vertex AI para Python

Crea una instancia de Vertex AI TensorBoard con el SDK de Vertex AI para 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: el PROJECT_ID del proyecto en el que quieres crear la instancia de TensorBoard.
  • display_name: nombre descriptivo de la instancia de Vertex AI TensorBoard.
  • location: la ubicación en la que se creará la instancia de TensorBoard. La ubicación de Vertex AI TensorBoard es regional. Asegúrate de seleccionar una región que admita Vertex AI TensorBoard.

Google Cloud CLI

Usa Google Cloud CLI para crear una instancia de Vertex AI TensorBoard.

  1. Instalar gcloud CLI
  2. Inicializa Google Cloud CLI ejecutando gcloud init.
  3. Para confirmar la instalación, explora los comandos.
     gcloud ai tensorboards --help 

    Los comandos incluyen create, describe, list, update y delete. Si es necesario, puedes seguir estos pasos para definir los valores predeterminados de tu proyecto y tu ubicación antes de continuar.
  4. Autentícate en la CLI de gcloud.
    gcloud auth application-default login
  5. Crea una instancia de Vertex AI TensorBoard proporcionando un nombre de proyecto y un nombre visible. Este paso puede tardar unos minutos en completarse la primera vez que se realiza en un proyecto. Anota el nombre de la instancia de Vertex AI TensorBoard (por ejemplo, projects/123/locations/us-central1/tensorboards/456) que se imprime al final del siguiente comando. Lo necesitarás en los pasos posteriores.
    gcloud ai tensorboards create --display-name DISPLAY_NAME \
           --project PROJECT_NAME
         

    Sustituye lo siguiente:
    • PROJECT_NAME: el proyecto en el que quieres crear la instancia de TensorBoard.
    • DISPLAY_NAME: nombre descriptivo de la instancia de TensorBoard.

Google Cloud consola

Si quieres que tus datos de Vertex AI TensorBoard estén cifrados, debes habilitar la clave CMEK al crear la instancia.

Sigue estos pasos para crear una instancia de Vertex AI TensorBoard con CMEK mediante la Google Cloud consola.

  1. Si no has usado Vertex AI antes o vas a empezar un proyecto nuevo, configura tu proyecto y tu entorno de desarrollo.
  2. En la sección Vertex AI de la Google Cloud consola, ve a la página Experimentos.

    Ir a la página Experimentos
  3. Vaya a la pestaña Instancias de TensorBoard.
  4. En la parte superior de la página, haz clic en Crear.
  5. Selecciona una ubicación de la lista desplegable Región.
  6. (Opcional) Añade una descripción.
  7. (Opcional) En Cifrado, selecciona Clave de cifrado gestionada por el cliente (CMEK) y elige una clave gestionada por el cliente.
  8. Haz clic en Crear para crear tu instancia de TensorBoard.

Crear una instancia de TensorBoard

Terraform

En el siguiente ejemplo se usa el recurso de Terraform google_vertex_ai_tensorboard para crear una instancia de Vertex AI TensorBoard sin cifrar.

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

Terraform

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

Eliminar una instancia de TensorBoard

Si eliminas una instancia de TensorBoard, se eliminará esa instancia y todos los experimentos y ejecuciones de TensorBoard asociados. Los experimentos de Vertex AI a los que está asociada la instancia no se eliminan.

Para eliminar un experimento de Vertex AI y los experimentos de Vertex AI TensorBoard asociados, consulta Eliminar un experimento.

SDK de Vertex AI para Python

Elimina una instancia de Vertex AI TensorBoard con el SDK de Vertex AI para 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: proporcione el nombre del recurso TensorBoard.
  • project: el PROJECT_ID en el que se encuentra tu instancia de TensorBoard.
  • location: la ubicación de tu instancia de TensorBoard.

Google Cloud consola

Siga estos pasos para eliminar una instancia de Vertex AI TensorBoard mediante la consola Google Cloud .

  1. En la sección Vertex AI de la Google Cloud consola, ve a la página Experimentos.

    Ir a la página Experimentos
  2. Selecciona la pestaña Instancias de TensorBoard. Aparecerá una lista de instancias de TensorBoard.
  3. Selecciona y haz clic en Eliminar.

Eliminar instancia de TensorBoard

Términos relevantes

Estos términos, "nombre de recurso de TensorBoard" e "ID de instancia de TensorBoard", se mencionan en numerosos ejemplos.

Nombre del recurso de TensorBoard

El nombre de recurso de TensorBoard se usa para identificar por completo la instancia de Vertex AI TensorBoard. El formato es el siguiente:

projects/PROJECT_ID_OR_NUMBER/locations/REGION/tensorboards/TENSORBOARD_INSTANCE_ID

El nombre del recurso TensorBoard se imprime en los mensajes de registro cuando se crea con la CLI de gcloud o el SDK de Vertex AI. También se puede crear proporcionando los valores adecuados para los marcadores de posición.

SDK de Vertex AI para Python

El nombre del recurso TensorBoard se puede obtener de un experimento de Vertex AI mediante el SDK de 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: el nombre del experimento.
  • project: el PROJECT_ID de tu experimento.
  • location: la ubicación en la que se encuentra tu experimento.

ID de instancia de TensorBoard

El ID de instancia de TensorBoard es un valor de ID generado asociado a una instancia de TensorBoard. Para encontrar el TENSORBOARD_INSTANCE_ID, ve a la sección Vertex AI de la página Experiments (Experimentos) de la Google Cloud consola y selecciona la pestaña TensorBoard Instances (Instancias de TensorBoard).

También puedes obtener el ID de instancia a partir del nombre de recurso de TensorBoard. ID de TensorBoard