Usar um IP particular para treinamento sem servidor da Gemini Enterprise Agent Platform

O IP particular para conexão com jobs de treinamento oferece mais segurança de rede e menor latência de rede do que o IP público. Para usar o IP particular, use a nuvem privada virtual (VPC, na sigla em inglês) para fazer o peering da sua rede com qualquer tipo de job de treinamento sem servidor da Gemini Enterprise Agent Platform. Isso permite que o código de treinamento acesse endereços IP particulares noGoogle Cloud ou em redes locais.

Neste guia, você vai aprender a executar jobs de treinamento sem servidor na sua rede depois de já ter configurado o peering de rede VPC para fazer peering na sua rede com um recurso CustomJob, HyperparameterTuningJob ou TrainingPipeline personalizado da Agent Platform.

Visão geral

Antes de enviar um job de treinamento sem servidor usando IP particular, é necessário configurar o acesso a serviços particulares para criar conexões de peering entre sua rede e a Plataforma de Agentes. Se você já tiver configurado isso, use suas conexões de peering atuais.

Este guia abrange as seguintes tarefas:

  • Noções básicas sobre quais intervalos de IP reservar para treinamento sem servidor.
  • Verificar o status das suas conexões de peering atuais.
  • Realize o treinamento sem servidor da plataforma de agentes do Gemini Enterprise na sua rede.
  • Verifique se o treinamento ativo ocorre em uma rede antes do treinamento em outra rede.
  • Teste se o código de treinamento tem acesso a IPs privados na rede.

Reservar intervalos de IP para treinamento sem servidor

Quando você reserva um intervalo de IP para produtores de serviços, ele pode ser usado pela Agent Platform e outros serviços. Esta tabela mostra o número máximo de jobs de treinamento paralelos que podem ser executados com intervalos reservados de /16 a /18, supondo que o intervalo seja usado quase que exclusivamente pela Agent Platform. Se você se conectar com outros produtores de serviços usando o mesmo intervalo, aloque um intervalo maior para acomodá-los. Isso evita o esgotamento do IP.

Configuração da máquina para o job de treinamento Intervalo reservado Número máximo de jobs paralelos
Até 8 nós.
Por exemplo: uma réplica principal no primeiro pool de workers, 6 réplicas no segundo pool de workers e 1 worker no terceiro pool de workers (para atuar como servidor de parâmetros).
/16 63
/17 31
/18 15
Até 16 nós.
Por exemplo: uma réplica principal no primeiro pool de workers, 14 réplicas no segundo pool de workers e 1 worker no terceiro pool de workers (para atuar como servidor de parâmetros).
/16 31
/17 15
/18 7
Até 32 nós.
Por exemplo: uma réplica principal no primeiro pool de workers, 30 réplicas no segundo e outro no terceiro pool para atuar como servidor de parâmetros.
/16 15
/17 7
/18 3

Saiba mais sobre como configurar pools de workers para treinamento distribuído.

Verificar o status das conexões de peering existentes

Se você tiver conexões de peering existentes com a Agent Platform, será possível listá-las para verificar o status:

gcloud compute networks peerings list --network NETWORK_NAME

Você verá que o estado das conexões de peering é ACTIVE. Saiba mais sobre conexões de peering ativas.

Realizar treinamento sem servidor

Ao realizar um treinamento sem servidor, especifique o nome da rede à qual a Agent Platform terá acesso.

Dependendo de como você realiza o treinamento sem servidor, especifique a rede em um dos seguintes campos da API:

Se você não especificar um nome de rede, o Agent Platform vai executar o treinamento sem servidor sem uma conexão de peering e sem acesso a IPs particulares no projeto.

Exemplo: como criar um CustomJob com a CLI gcloud

O exemplo a seguir mostra como especificar uma rede quando você usa a CLI gcloud para executar um CustomJob que usa um contêiner pré-criado. Se você realizar o treinamento sem servidor de uma maneira diferente, adicione o campo network conforme descrito para o tipo de job de treinamento sem servidor que você está usando.

  1. Crie um arquivo config.yaml para especificar a rede. Se você estiver usando a VPC compartilhada, use o número do projeto host da VPC.

    Verifique se 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 um aplicativo de treinamento para ser executado na Agent Platform.

  3. Crie o CustomJob, transmitindo o arquivo 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 Como criar jobs de treinamento personalizados.

Executar jobs em diferentes redes

Não é possível executar o treinamento sem servidor em uma nova rede enquanto ele ainda está sendo executado em outra rede. Antes de alternar para outra rede, você precisa aguardar a conclusão de todos os recursos CustomJob, HyperparameterTuningJob e TrainingPipeline personalizados enviados ou cancelá-los.

Testar o acesso ao job de treinamento

Nesta seção, explicamos como testar se um recurso de treinamento sem servidor pode acessar IPs particulares na sua rede.

  1. Crie uma instância do Compute Engine na sua rede VPC.
  2. Verifique suas regras de firewall para garantir que elas não restrinjam a entrada da rede da Agent Platform. Em caso afirmativo, adicione uma regra para garantir que a rede da Agent Platform possa acessar o intervalo de IPs reservado para ela (e outros produtores de serviços).
  3. Configure um servidor local na instância de VM para criar um endpoint e permitir o acesso CustomJob de um Agent Platform.
  4. Crie um aplicativo de treinamento em Python para ser executado na Agent Platform. Em vez do código de treinamento de modelo, crie um código que acesse o endpoint que você configurou na etapa anterior.
  5. Siga o exemplo anterior para criar um CustomJob.

Problemas comuns

Esta seção lista alguns problemas comuns ao configurar o peering de rede VPC com a Agent Platform.

  • Ao configurar o Agent Platform para usar a rede, especifique o nome completo dela:

    "projects/YOUR_PROJECT_NUMBER/global/networks/YOUR_NETWORK_NAME"

  • Verifique se você não está realizando o treinamento sem servidor em uma rede antes de executar o treinamento sem servidor em outra rede.

  • Verifique se você alocou um intervalo de IP suficiente para todos os produtores de serviços aos quais sua rede se conecta, incluindo a Agent Platform.

Para mais informações sobre solução de problemas, consulte o guia de solução de problemas de peering de rede VPC.

A seguir