Execute tarefas de preparação personalizadas num recurso persistente

Esta página mostra como executar uma tarefa de preparação personalizada num recurso persistente através da CLI Google Cloud, do SDK Vertex AI para Python e da API REST.

Normalmente, quando cria uma tarefa de preparação personalizada, tem de especificar os recursos de computação nos quais a tarefa é criada e executada. Depois de criar um recurso persistente, pode configurar o trabalho de treino personalizado para ser executado num ou mais conjuntos de recursos desse recurso persistente. A execução de uma tarefa de preparação personalizada num recurso persistente reduz significativamente o tempo de início da tarefa que, de outra forma, é necessário para a criação de recursos de computação.

Funções necessárias

Para receber a autorização de que precisa para executar tarefas de preparação personalizadas num recurso persistente, peça ao seu administrador para lhe conceder a função de IAM Utilizador do Vertex AI (roles/aiplatform.user) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém a autorização aiplatform.customJobs.create , que é necessária para executar tarefas de preparação personalizadas num recurso persistente.

Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.

Crie uma tarefa de preparação que seja executada num recurso persistente

Para criar tarefas de preparação personalizadas que são executadas num recurso persistente, faça as seguintes modificações às instruções padrão para criar uma tarefa de preparação personalizada:

gcloud

  • Especifique o sinalizador --persistent-resource-id e defina o valor para o ID do recurso persistente (PERSISTENT_RESOURCE_ID) que quer usar.
  • Especifique a flag --worker-pool-spec de modo que os valores de machine-type e disk-type correspondam exatamente a um conjunto de recursos correspondente do recurso persistente. Especifique um --worker-pool-spec para a preparação de nó único e vários para a preparação distribuída.
  • Especifique um replica-count inferior ou igual ao replica-count ou max-replica-count do conjunto de recursos correspondente.

Python

Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK 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 persistente (PERSISTENT_RESOURCE_ID) que quer usar.
  • Especifique o parâmetro worker_pool_specs de modo que os valores de machine_spec e disk_spec para cada conjunto de recursos correspondam exatamente a um conjunto de recursos correspondente do recurso persistente. Especifique um machine_spec para a preparação de nó único e vários para a preparação distribuída.
  • Especifique um replica_count inferior ou igual ao replica_count ou max_replica_count do conjunto de recursos correspondente, excluindo a quantidade de réplicas de quaisquer outros trabalhos em execução nesse conjunto de recursos.

O que se segue?