Use um IP privado para a preparação personalizada

A utilização de IP privado para estabelecer ligação aos seus trabalhos de preparação oferece mais segurança de rede e uma latência de rede inferior do que a utilização de IP público. Para usar o IP privado, usa a nuvem privada virtual (VPC) para estabelecer uma ligação ponto a ponto entre a sua rede e qualquer tipo de tarefa de preparação personalizada do Vertex AI. Isto permite que o seu código de preparação aceda a endereços IP privados dentro das suas redesGoogle Cloud ou no local.

Este guia mostra como executar tarefas de preparação personalizadas na sua rede depois de já ter configurado o peering de redes VPC para estabelecer o peering da sua rede com um recurso CustomJob, HyperparameterTuningJob ou TrainingPipeline personalizado do Vertex AI.

Vista geral

Antes de enviar uma tarefa de preparação personalizada com IP privado, tem de configurar o acesso a serviços privados para criar associações de peering entre a sua rede e o Vertex AI. Se já configurou esta opção, pode usar as suas ligações de peering existentes.

Este guia aborda as seguintes tarefas:

  • Compreender que intervalos de IP reservar para a preparação personalizada.
  • Verifique o estado das suas ligações de peering existentes.
  • Realizar a preparação personalizada do Vertex AI na sua rede.
  • Verifique se está a ocorrer formação ativa numa rede antes de fazer a formação noutra rede.
  • Teste se o seu código de preparação consegue aceder a IPs privados na sua rede.

Reserve intervalos de IP para a formação personalizada

Quando reserva um intervalo de IPs para produtores de serviços, o intervalo pode ser usado pelo Vertex AI e outros serviços. Esta tabela mostra o número máximo de tarefas de preparação paralelas que pode executar com intervalos reservados de /16 a /18, partindo do princípio de que o intervalo é usado quase exclusivamente pelo Vertex AI. Se se ligar a outros produtores de serviços através do mesmo intervalo, atribua um intervalo maior para os acomodar, de modo a evitar o esgotamento de IPs.

Configuração da máquina para a tarefa de preparação Intervalo reservado Número máximo de tarefas paralelas
Até 8 nós.
Por exemplo: 1 réplica principal no primeiro grupo de trabalhadores, 6 réplicas no segundo grupo de trabalhadores e 1 trabalhador no terceiro grupo de trabalhadores (para atuar como um servidor de parâmetros)
/16 63
/17 31
/18 15
Até 16 nós.
Por exemplo: 1 réplica principal no primeiro grupo de trabalhadores, 14 réplicas no segundo grupo de trabalhadores e 1 trabalhador no terceiro grupo de trabalhadores (para atuar como um servidor de parâmetros)
/16 31
/17 15
/18 7
Até 32 nós.
Por exemplo: 1 réplica principal no primeiro conjunto de trabalhadores, 30 réplicas no segundo conjunto de trabalhadores e 1 trabalhador no terceiro conjunto de trabalhadores (para atuar como um servidor de parâmetros)
/16 15
/17 7
/18 3

Saiba como configurar pools de trabalhadores para a formação distribuída.

Verifique o estado das associações de peering existentes

Se tiver associações de peering existentes que usa com o Vertex AI, pode listá-las para verificar o estado:

gcloud compute networks peerings list --network NETWORK_NAME

Deve ver que o estado das suas associações de peering é ACTIVE. Saiba mais acerca das associações de peering ativas.

Realize uma formação personalizada

Quando realiza uma preparação personalizada, tem de especificar o nome da rede à qual quer que o Vertex AI tenha acesso.

Consoante a forma como realiza a preparação personalizada, especifique a rede num dos seguintes campos da API:

Se não especificar um nome de rede, o Vertex AI executa o seu treino personalizado sem uma ligação de peering e sem acesso a IPs privados no seu projeto.

Exemplo: criar um CustomJob com a CLI gcloud

O exemplo seguinte mostra como especificar uma rede quando usa a CLI gcloud para executar um CustomJob que usa um contentor pré-criado. Se estiver a realizar um treino personalizado de forma diferente, adicione o campo network, conforme descrito para o tipo de tarefa de treino personalizado que está a usar.

  1. Crie um ficheiro config.yaml para especificar a rede. Se estiver a usar a VPC partilhada, use o número do projeto anfitrião da VPC.

    Certifique-se de que o nome da rede está formatado corretamente:

    PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
    
    cat <<EOF > config.yaml
    network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
    EOF
    
  2. Crie uma aplicação de preparação para ser executada no Vertex AI.

  3. Crie o CustomJob, transmitindo o seu ficheiro config.yaml:

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --python-package-uris=PYTHON_PACKAGE_URIS \
      --worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE \
      --config=config.yaml
    

Para saber como substituir os marcadores de posição neste comando, leia o artigo Criar tarefas de preparação personalizadas.

Executar tarefas em redes diferentes

Não pode realizar um treino personalizado numa nova rede enquanto estiver a realizar um treino personalizado noutra rede. Antes de mudar para uma rede diferente, tem de aguardar que todos os recursos CustomJob, HyperparameterTuningJob e TrainingPipeline personalizados enviados terminem ou cancelá-los.

Testar o acesso ao trabalho de preparação

Esta secção explica como testar se um recurso de preparação personalizado consegue aceder a IPs privados na sua rede.

  1. Crie uma instância do Compute Engine na sua rede de VPC.
  2. Verifique as regras da firewall para se certificar de que não restringem a entrada da rede da Vertex AI. Se for o caso, adicione uma regra para garantir que a rede do Vertex AI pode aceder ao intervalo de IPs que reservou para o Vertex AI (e outros produtores de serviços).
  3. Configure um servidor local na instância da VM para criar um ponto final para o Vertex AI CustomJob aceder.
  4. Crie uma aplicação de preparação em Python para ser executada no Vertex AI. Em vez de código de preparação de modelos, crie código que aceda ao ponto final que configurou no passo anterior.
  5. Siga o exemplo anterior para criar um CustomJob.

Problemas comuns

Esta secção lista alguns problemas comuns para configurar o intercâmbio da rede da VPC com a Vertex AI.

  • Quando configurar o Vertex AI para usar a sua rede, especifique o nome completo da rede:

    "projects/YOUR_PROJECT_NUMBER/global/networks/YOUR_NETWORK_NAME"

  • Certifique-se de que não está a fazer uma preparação personalizada numa rede antes de fazer uma preparação personalizada numa rede diferente.

  • Certifique-se de que atribuiu um intervalo de IP suficiente a todos os produtores de serviços aos quais a sua rede se liga, incluindo o Vertex AI.

Para mais informações sobre a resolução de problemas, consulte o guia de resolução de problemas da interligação de redes VPC.

O que se segue?