Executar jobs de treinamento sem servidor da plataforma de agentes do Gemini Enterprise em um recurso persistente

Nesta página, mostramos como executar um job de treinamento sem servidor em um recurso permanente usando a Google Cloud CLI, o SDK da plataforma de agentes para Python e a API REST.

Normalmente, ao criar um job de treinamento sem servidor, você precisa especificar os recursos de computação que ele vai criar e executar. Depois de criar um recurso persistente, configure o job de treinamento sem servidor para ser executado em um ou mais pools de recursos desse recurso persistente. A execução de um job de treinamento personalizado em um recurso persistente reduz muito o tempo de inicialização do job necessário para a criação do recurso de computação.

Funções exigidas

Para receber a permissão necessária a fim de executar jobs de treinamento sem servidor em um recurso persistente, peça ao administrador para conceder a você o papel do IAM de Usuário da plataforma de agentes (roles/aiplatform.user) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém a aiplatform.customJobs.create permissão, que é necessária para executar jobs de treinamento sem servidor em um recurso persistente.

Também é possível receber essa permissão com papéis personalizados ou outros papéis predefinidos.

Criar um job de treinamento que seja executado em um recurso permanente

Para criar um job de treinamento sem servidor que seja executado em um recurso permanente, faça as modificações a seguir nas instruções padrão de criação de um job de treinamento sem servidor:

gcloud

  • Especifique a sinalização --persistent-resource-id e defina o valor como o ID do recurso permanente (PERSISTENT_RESOURCE_ID) que você quer usar.
  • Especifique a sinalização --worker-pool-spec para que os valores de machine-type e disk-type correspondam exatamente a um pool de recursos correspondente do recurso persistente. Especifique um --worker-pool-spec para treinamento de nó único e vários para treinamento distribuído.
  • Especifique um replica-count menor ou igual ao replica-count ou max-replica-count do pool de recursos correspondente.

Python

Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.

def create_custom_job_on_persistent_resource_sample(
    project: str,
    location: str,
    staging_bucket: str,
    display_name: str,
    container_uri: str,
    persistent_resource_id: str,
    service_account: Optional[str] = None,
) -> None:
    aiplatform.init(
        project=project, location=location, staging_bucket=staging_bucket
    )

    worker_pool_specs = [{
        "machine_spec": {
            "machine_type": "n1-standard-4",
            "accelerator_type": "NVIDIA_TESLA_K80",
            "accelerator_count": 1,
        },
        "replica_count": 1,
        "container_spec": {
            "image_uri": container_uri,
            "command": [],
            "args": [],
        },
    }]

    custom_job = aiplatform.CustomJob(
        display_name=display_name,
        worker_pool_specs=worker_pool_specs,
        persistent_resource_id=persistent_resource_id,
    )

    custom_job.run(service_account=service_account)

REST

  • Especifique o parâmetro persistent_resource_id e defina o valor como o ID do recurso permanente (PERSISTENT_RESOURCE_ID) que você quer usar.
  • Especifique o parâmetro worker_pool_specs para que os valores de machine_spec e disk_spec para cada pool de recursos correspondam exatamente a um pool de recursos correspondente do recurso permanente. Especifique um machine_spec para treinamento de nó único e vários para treinamento distribuído.
  • Especifique um replica_count menor ou igual ao replica_count ou max_replica_count do pool de recursos correspondente, excluindo a contagem de réplicas de outros jobs em execução nesse pool de recursos.

A seguir