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 Vertex AI Training Service para acessar serviços e recursos do Google Cloud. 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 Vertex AI
  • 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.

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

Substitua LOCATION_ID pelo local em que sua instância do TensorBoard da Vertex AI foi criada. Por exemplo, us-central1.

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 Vertex AI. Esse TensorBoard de apoio está associado ao experimento da Vertex AI e é usado com todas as execuções subsequentes do Vertex AI Experiments. 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 Vertex AI para Python

Crie um experimento do TensorBoard da Vertex AI com uma instância padrão usando o SDK da Vertex AI para Python. Consulte init na documentação de referência do SDK da 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: 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 a instância do TensorBoard será criada. 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 console do Google Cloud, 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 Vertex AI, iniciar uma execução de experimento ou configurar o código de treinamento.

SDK da Vertex AI para Python

Crie uma instância do TensorBoard da Vertex AI usando o SDK da 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: 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 a instância do TensorBoard será criada. 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 o seguinte:
    • 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

Console do Google Cloud

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 Vertex AI TensorBoard usando o console do Google Cloud.

  1. Se você é iniciante no Vertex AI ou está começando um novo projeto, configure seu projeto e o ambiente de desenvolvimento.
  2. Na seção "Vertex AI" do Console do Google Cloud, 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, consulte Excluir um experimento.

SDK da Vertex AI para Python

Exclua uma instância do TensorBoard da Vertex AI usando o SDK da 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: 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á.

Console do Google Cloud

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

  1. Na seção "Vertex AI" do Console do Google Cloud, acesse a página Experimentos.

    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.

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 Vertex AI do Console do Google Cloud e selecione a guia Instâncias do TensorBoard. ID do TensorBoard