Configurar o TensorBoard da Vertex AI

Os itens a seguir são necessários para configurar o TensorBoard da Vertex AI:

  1. Crie uma conta de serviço com as permissões necessárias.
  2. Criar um bucket do Cloud Storage para armazenar registros do TensorBoard da Vertex AI.
  3. Criar uma instância do TensorBoard da Vertex AI.

Crie uma conta de serviço com as permissões necessárias.

A integração do TensorBoard Vertex AI com treinamento personalizado exige a anexação de uma conta de serviço.

  1. Crie uma conta de serviço:

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

    Substitua:

    • PROJECT_ID: o ID do projeto em que você está criando uma conta de serviço.

    • USER_SA_NAME: um nome exclusivo para a conta de serviço que você está criando.

  2. A nova conta de serviço é usada pelo serviço de treinamento da Gemini Enterprise Agent Platform para acessar Google Cloud serviços e recursos. Se necessário, use os seguintes comandos para conceder esses papéis:

    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"
    

Criar um bucket do Cloud Storage para armazenar registros do TensorBoard da Vertex AI

É necessário um bucket do Cloud Storage para armazenar os registros do Vertex AI TensorBoard gerados pelo script de treinamento. O bucket precisa ser regional, ou seja, não ser multirregional ou birregional. Além disso, os seguintes recursos precisam estar na mesma região:

  • Bucket do Cloud Storage
  • Job de treinamento da Gemini Enterprise Agent Platform
  • Instância do TensorBoard da Vertex AI

Também é possível usar um bucket atual em vez de seguir a etapa de criação do bucket descrita aqui. Ao usar um bucket atual, o local do bucket precisa ser o mesmo local que a sua instância do TensorBoard da Vertex AI foi criada.

UNIQUE_SUFFIX=$(python3 -c "import uuid; print(uuid.uuid4().hex[:8])")
GCS_BUCKET_NAME="PROJECT_ID-tb-logs-LOCATION_ID-${UNIQUE_SUFFIX}"
gcloud storage buckets create "gs://${GCS_BUCKET_NAME}" --location=LOCATION_ID

Substitua:

  • LOCATION_ID: o local em que a instância do TensorBoard da Vertex AI foi criada, por exemplo us-central1.

GCS_BUCKET_NAME é usado para criar um job de treinamento personalizado com REST.

Criar uma instância do TensorBoard da Vertex AI

Uma instância do Vertex AI TensorBoard, que é um recurso regionalizado que armazena seus experimentos do Vertex AI TensorBoard, precisa ser criada antes que os experimentos possam ser visualizados. de duas formas. É possível usar uma instância padrão ou criar uma manualmente. É possível criar várias instâncias em um projeto e uma região, mas a maioria dos usuários só precisa de uma instância.

Usar a instância padrão do TensorBoard da Vertex AI

Uma instância padrão do TensorBoard é criada automaticamente ao inicializar um experimento da Gemini Enterprise Agent Platform. Esse TensorBoard de apoio está associado ao experimento da Gemini Enterprise Agent Platform e é usado com todas as execuções subsequentes dos experimentos da Gemini Enterprise Agent Platform. O tensorboard_resource_name pode ser recuperado diretamente do experimento. Essa é a maneira mais fácil de começar a usar o TensorBoard da Vertex AI e atende às necessidades da maioria dos usuários.

SDK da Agent Platform para Python

Crie um experimento do TensorBoard da Vertex AI com uma instância padrão usando o SDK da Agent Platform para Python. Recupere o tensorboard_resource_name do experimento. Consulte init e Experiment na documentação de referência do SDK da Agent Platform.

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: o nome do experimento.
  • experiment_description: uma descrição do experimento.
  • project: o PROJECT_ID do projeto em que você quer criar a instância do TensorBoard.
  • location: o local em que você quer criar a instância do TensorBoard. O local do TensorBoard da Vertex AI é regional. Selecione uma região compatível com o TensorBoard da Vertex AI.

Criar manualmente uma instância do TensorBoard da Vertex AI

É possível criar um TensorBoard da Vertex AI manualmente. Isso é útil para usuários mais familiarizados com o Google Cloud console, usuários que precisam de um TensorBoard ativado para CMEK (consulte CMEK) ou usuários que querem usar vários TensorBoards. Essa instância pode ser especificada diretamente ao inicializar um experimento da Gemini Enterprise Agent Platform, iniciar uma execução de experimento ou configurar o código de treinamento.

SDK da Agent Platform para Python

Crie uma instância do TensorBoard da Vertex AI usando o SDK da Agent Platform 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: o PROJECT_ID do projeto em que você quer criar a instância do TensorBoard.
  • display_name: um nome descritivo para a instância do TensorBoard da Vertex AI.
  • location: o local em que você quer criar a instância do TensorBoard. O local do TensorBoard da Vertex AI é regional. Selecione uma região compatível com o TensorBoard da Vertex AI

Google Cloud CLI

Usar a CLI do Google Cloud para criar uma instância do TensorBoard da Vertex AI.

  1. Instalar a CLI gcloud
  2. Inicialize a Google Cloud CLI executando gcloud init.
  3. Para confirmar a instalação, explore os comandos.
     gcloud ai tensorboards --help 

    Os comandos incluem create, describe, list, update e delete. Se necessário, siga estas etapas para definir valores padrão para seu projeto e região antes de continuar.
  4. Autentique-se na CLI gcloud.
    gcloud auth application-default login
  5. Crie uma instância do Vertex AI TensorBoard fornecendo um nome de projeto e um nome de exibição. Essa etapa pode levar alguns minutos para ser concluída pela primeira vez em um projeto. Anote o nome da instância do Vertex AI TensorBoard (por exemplo: projects/123/locations/us-central1/tensorboards/456) que será impresso no final do seguinte comando. Ele será necessário nas próximas etapas.
    gcloud ai tensorboards create --display-name DISPLAY_NAME \
           --project PROJECT_NAME
         

    Substitua:
    • PROJECT_NAME: o projeto em que você quer criar a instância do TensorBoard.
    • DISPLAY_NAME: um nome descritivo para a instância do TensorBoard

Google Cloud Console do

Se você quiser que os dados do TensorBoard da Vertex AI sejam criptografados, ative a chave de CMEK ao criar a instância.

Siga estas etapas para criar uma instância ativada para CMEK do TensorBoard da Vertex AI usando o Google Cloud console.

  1. Se você é iniciante na Gemini Enterprise Agent Platform ou está começando um novo projeto, configure seu projeto e o ambiente de desenvolvimento.
  2. Na seção Gemini Enterprise Agent Platform do Google Cloud console, acesse a página Experimentos.

    Acessar a página "Experimentos"
  3. Acesse a guia Instâncias do TensorBoard.
  4. Clique em Criar na parte superior da página.
  5. Selecione um local na lista suspensa Região.
  6. (Opcional) adicione uma descrição.
  7. Opcional: em Criptografia, selecione Chave de criptografia gerenciada pelo cliente (CMEK) e escolha uma chave gerenciada pelo cliente.
  8. Clique em Criar para criar a instância do TensorBoard.

criar instância do tensorboard

Terraform

O exemplo a seguir usa o recurso google_vertex_ai_tensorboard do Terraform para criar uma instância do TensorBoard da Vertex AI não criptografada.

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

Terraform

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

Excluir uma instância do TensorBoard

A exclusão de uma instância do TensorBoard exclui a execução do TensorBoard e de todos os experimentos e experimentos do TensorBoard associados. Os experimentos da Vertex AI a que a instância está associada não são excluídos.

Para excluir um experimento da Vertex AI e os experimentos do TensorBoard da Vertex AI associados, consulte Excluir um experimento.

SDK da Agent Platform para Python

Exclua uma instância do TensorBoard da Vertex AI usando o SDK da Agent Platform 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: Forneça o nome do recurso do TensorBoard.
  • project: o PROJECT_ID em que a instância do TensorBoard está.
  • location: o local em que a instância do TensorBoard está.

Google Cloud console

Siga estas etapas para excluir uma instância do TensorBoard da Vertex AI usando o Google Cloud console.

  1. Na seção Gemini Enterprise Agent Platform do Google Cloud console, acesse a Experiments página.

    Acessar a página "Experimentos"
  2. Selecione a guia Instâncias do TensorBoard. Uma lista de instâncias do TensorBoard será exibida.
  3. Selecione e clique em Excluir

excluir instância do TensorBoard

Termos relevantes

Esses termos, "Nome do recurso do TensorBoard" e "ID da instância do TensorBoard" são mencionados em várias amostras.

Nome do recurso do TensorBoard

O nome do recurso do TensorBoard é usado para identificar totalmente a instância do TensorBoard da Vertex AI. O formato é o seguinte:

projects/PROJECT_ID_OR_NUMBER/locations/REGION/tensorboards/TENSORBOARD_INSTANCE_ID

O nome do recurso do TensorBoard é impresso nas mensagens de registro quando criado usando a CLI gcloud ou o SDK da Vertex AI ou pode ser criado fornecendo os valores apropriados para os marcadores.

SDK da Agent Platform para Python

O nome do recurso do TensorBoard pode ser recuperado de um experimento da Vertex AI usando o SDK da 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: o nome do experimento.
  • project: o PROJECT_ID do experimento.
  • location: o local em que o experimento está.

ID da instância do TensorBoard

O ID da instância do TensorBoard é um valor de ID gerado associado a uma instância do TensorBoard. Para encontrar o TENSORBOARD_INSTANCE_ID, acesse a seção "Experimentos" da Gemini Enterprise Agent Platform do Google Cloud console e selecione a guia Instâncias do TensorBoard.

Também é possível recuperar o ID da instância do nome do recurso do TensorBoard. ID do TensorBoard