Os Vertex AI Pipelines permitem-lhe executar pipelines de aprendizagem automática (AA) criados com o SDK Kubeflow Pipelines ou o TensorFlow Extended de forma sem servidor. Este documento descreve como executar um pipeline de ML.
Também pode criar execuções de pipelines com modelos pré-criados na galeria de modelos. Para mais informações sobre a galeria de modelos, consulte o artigo [Use um modelo pré-criado da galeria de modelos](/vertex-ai/docs/pipelines/use-template-gallery).
Pode usar as experiências da Vertex AI para acompanhar, analisar e comparar as execuções de pipelines associando-as a uma experiência ou a uma execução de experiência. Ao comparar os parâmetros, os resultados e as métricas de desempenho das execuções da pipeline, pode identificar a configuração da pipeline que funciona melhor para o seu exemplo de utilização. Para mais informações, consulte o artigo Introdução às experiências do Vertex AI.
Antes de começar
Antes de executar um pipeline com o Vertex AI Pipelines, use as seguintes instruções para configurar o seuGoogle Cloud projeto e ambiente de programação:
Para executar um pipeline através do SDK Vertex AI para Python, instale o SDK Vertex.
- Instale o SDK Vertex AI.
Crie uma execução de pipeline
Use as instruções seguintes para executar um pipeline de ML através da Google Cloud consola ou do Python.
Consola
Use as instruções seguintes para executar um pipeline de ML através da Google Cloud consola.
Na Google Cloud consola, na secção Vertex AI, aceda à página Pipelines.
Na lista pendente Região, selecione a região para criar a execução do pipeline.
Clique em
Criar execução para abrir o painel Criar execução do pipeline.Na secção Detalhes da execução, faça o seguinte:
Clique numa Origem de execução. Estão disponíveis as seguintes opções:
Selecionar a partir de pipelines existentes: para criar uma execução de pipeline com base num modelo de pipeline existente, clique em Selecionar a partir de pipelines existentes e introduza os seguintes detalhes:
Selecione o repositório que contém o ficheiro de definição do componente ou pipeline.
Selecione o Pipeline ou componente e a Versão.
Especifique um Nome da execução para identificar exclusivamente a execução do pipeline.
Selecionar um pipeline da galeria de modelos: para criar uma execução de pipeline com base num modelo de pipeline criado pela Google a partir da galeria de modelos, clique em Selecionar um pipeline da galeria de modelos e introduza os seguintes detalhes:
Na lista Pipeline da galeria de modelos, selecione o modelo de pipeline.
Opcional: modifique o Nome da execução predefinido que identifica exclusivamente a execução do pipeline.
Carregar ficheiro: para carregar uma definição de pipeline compilada, clique em Carregar ficheiro e introduza os seguintes detalhes:
Clique em Procurar para abrir o seletor de ficheiros. Navegue para o ficheiro YAML da pipeline compilada que quer executar, selecione a pipeline e clique em Abrir.
O nome do pipeline ou do componente mostra o nome especificado na definição do pipeline, por predefinição. Opcionalmente, especifique um nome diferente para o pipeline.
Especifique um Nome da execução para identificar exclusivamente a execução do pipeline.
Importar do Cloud Storage: para importar um ficheiro de definição de pipeline do Cloud Storage, clique em Importar do Cloud Storage e introduza os seguintes detalhes:
Clique em Procurar para navegar para o contentor do Cloud Storage que contém o objeto de definição do pipeline, selecione o ficheiro e, de seguida, clique em Selecionar.
Em alternativa, introduza o URI do Google Cloud Storage ou o URL HTTP/HTTPS do ficheiro de definição do pipeline.
Especifique o nome do pipeline ou do componente.
Especifique um Nome da execução para identificar exclusivamente a execução do pipeline.
Opcional: para agendar execuções recorrentes de pipelines, especifique a Programação de execução da seguinte forma:
Selecione Recorrente.
Em Hora de início, especifique quando o agendamento fica ativo.
Para agendar a primeira execução para ocorrer imediatamente após a criação da agenda, selecione Imediatamente.
Para agendar a primeira execução para uma hora e uma data específicas, selecione Ativado.
No campo Frequência, especifique a frequência para agendar e executar as execuções do pipeline, usando uma expressão de agendamento cron com base no unix-cron.
Em Termina, especifique quando o agendamento termina.
Para indicar que a programação cria execuções de pipelines indefinidamente, selecione Nunca.
Para indicar que a programação termina numa data e hora específicas, selecione Em e especifique a data e a hora de fim da programação.
Opcional: para especificar que a execução da pipeline usa uma conta de serviço personalizada, uma chave de encriptação gerida pelo cliente (CMEK) ou uma rede VPC com peering, clique em Opções avançadas e, de seguida, siga estas instruções:
Para especificar uma conta de serviço, selecione uma conta de serviço na lista pendente Conta de serviço.
Se não especificar uma conta de serviço, o Vertex AI Pipelines executa o seu pipeline através da conta de serviço predefinida do Compute Engine.
Saiba mais sobre a configuração de uma conta de serviço para utilização com os Vertex AI Pipelines.
Para usar uma CMEK, selecione Usar uma chave de encriptação gerida pelo cliente. É apresentada a lista pendente Selecione uma chave gerida pelo cliente. Na lista pendente Selecione uma chave gerida pelo cliente, selecione a chave que quer usar.
Para usar uma rede VPC com peering nesta execução da pipeline, introduza o nome da rede VPC na caixa Rede VPC com peering.
Clique em Continuar.
Na secção Configuração de tempo de execução, configure a execução do pipeline da seguinte forma:
Em Localização do Cloud Storage, clique em Procurar para selecionar o contentor do Cloud Storage para armazenar os artefactos de saída do pipeline e, de seguida, clique em Selecionar.
Opcional: para configurar a política de falhas e a cache para a execução da pipeline, clique em Opções avançadas e, de seguida, siga estas instruções:
Em Política de falhas, especifique a política de falhas para todo o pipeline. Saiba mais sobre as políticas de falha do pipeline.
Para configurar o pipeline de modo a continuar a agendar tarefas depois de uma tarefa falhar, selecione Executar todos os passos até à conclusão. Esta opção está selecionada por predefinição.
Para configurar o pipeline de modo a falhar após a falha de uma tarefa, selecione Falhar esta execução assim que um passo falhar.
Em Configuração da colocação em cache, especifique a configuração da cache para todo o pipeline.
Para usar a configuração da cache ao nível da tarefa para a tarefa no pipeline, selecione Não substituir a configuração da cache ao nível da tarefa.
Para ativar o armazenamento em cache para todas as tarefas no pipeline e substituir qualquer configuração de cache ao nível da tarefa, selecione Ativar leitura da cache para todos os passos (mais rápido).
Para desativar o armazenamento em cache para todas as tarefas no pipeline e substituir qualquer configuração de cache ao nível da tarefa, selecione Desativar leitura da cache para todos os passos (mais rápido).
Opcional: se o pipeline tiver parâmetros, em Parâmetros do pipeline, especifique os parâmetros de execução do pipeline.
Para criar a execução da pipeline, clique em Enviar.
Python
Use as instruções seguintes para executar um pipeline de ML com o SDK Vertex AI para Python. Antes de executar o seguinte exemplo de código, tem de configurar a autenticação.
Configure a autenticação
Para configurar a autenticação, tem de criar uma chave de conta de serviço e definir uma variável de ambiente para o caminho da chave de conta de serviço.
-
Crie uma conta de serviço:
-
Na Google Cloud consola, aceda à página Criar conta de serviço.
- No campo Nome da conta de serviço, introduza um nome.
- Opcional: no campo Descrição da conta de serviço, introduza uma descrição.
- Clique em Criar.
- Clique no campo Selecionar uma função. Em Todas as funções, selecione Vertex AI > Utilizador do Vertex AI.
-
Clique em Concluído para criar a conta de serviço.
Não feche a janela do navegador. Vai usá-lo no passo seguinte.
-
-
Crie uma chave de conta de serviço para autenticação:
- Na Google Cloud consola, clique no endereço de email da conta de serviço que criou.
- Clique em Chaves.
- Clique em Adicionar chave e, de seguida, em Criar nova chave.
- Clique em Criar. É transferido um ficheiro de chave JSON para o seu computador.
- Clique em Fechar.
- Conceda à nova conta de serviço acesso à conta de serviço que usa para executar pipelines.
- Clique em para voltar à lista de contas de serviço.
Clique no nome da conta de serviço que usa para executar pipelines. É apresentada a página Detalhes da conta de serviço.
Se seguiu as instruções no guia para configurar o seu projeto para os Vertex AI Pipelines, esta é a mesma conta de serviço que criou na secção Configure uma conta de serviço com autorizações detalhadas. Caso contrário, o Vertex AI usa a conta de serviço predefinida do Compute Engine para executar pipelines. A conta de serviço predefinida do Compute Engine tem um nome semelhante ao seguinte:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
- Clique no separador Autorizações.
- Clique em Conceder acesso. É apresentado o painel Adicionar responsáveis.
- Na caixa Novos membros, introduza o endereço de email da conta de serviço que criou num passo anterior.
- Na lista pendente Função, selecione Contas de serviço > Utilizador da conta de serviço.
- Clique em Guardar.
-
Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS para o caminho do ficheiro JSON que contém a chave da sua conta de serviço. Esta variável aplica-se apenas à sua sessão de shell atual. Por isso, se abrir uma nova sessão, defina a variável novamente.
Exemplo: Linux ou macOS
Substitua [PATH] pelo caminho do ficheiro JSON que contém a chave da sua conta de serviço.
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
Por exemplo:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Exemplo: Windows
Substitua [PATH] pelo caminho do ficheiro JSON que contém a chave da conta de serviço e [FILE_NAME] pelo nome do ficheiro.
Com o PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
Por exemplo:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"
Com a linha de comandos:
set GOOGLE_APPLICATION_CREDENTIALS=[PATH]
Execute uma pipeline
A execução de um Vertex AI PipelineJob
requer que crie um recurso PipelineJob
e, em seguida, invoque o método submit
.
Tipos de entrada especiais suportados pelo KFP
Ao criar uma execução do pipeline, também pode transmitir os seguintes marcadores de posição suportados pelo SDK do KFP como entradas:
{{$.pipeline_job_name_placeholder}}
{{$.pipeline_job_resource_name_placeholder}}
{{$.pipeline_job_id_placeholder}}
{{$.pipeline_task_name_placeholder}}
{{$.pipeline_task_id_placeholder}}
{{$.pipeline_job_create_time_utc_placeholder}}
{{$.pipeline_root_placeholder}}
Para mais informações, consulte Tipos de entrada especiais na documentação do Kubeflow Pipelines v2.
from google.cloud import aiplatform job = aiplatform.PipelineJob(display_name = DISPLAY_NAME, template_path = COMPILED_PIPELINE_PATH, job_id = JOB_ID, pipeline_root = PIPELINE_ROOT_PATH, parameter_values = PIPELINE_PARAMETERS, enable_caching = ENABLE_CACHING, encryption_spec_key_name = CMEK, labels = LABELS, credentials = CREDENTIALS, project = PROJECT_ID, location = LOCATION, failure_policy = FAILURE_POLICY) job.submit(service_account=SERVICE_ACCOUNT, network=NETWORK)
Substitua o seguinte:
- DISPLAY_NAME: o nome do pipeline, que é apresentado na consola. Google Cloud
COMPILED_PIPELINE_PATH: o caminho para o ficheiro YAML da pipeline compilada. Pode ser um URI do Cloud Storage, um URL HTTP/HTTPS ou um caminho local.
Opcional: para especificar uma versão específica de um pipeline compilado, inclua a etiqueta de versão num dos seguintes formatos:
COMPILED_PIPELINE_PATH:TAG
, onde TAG é a etiqueta de versão.COMPILED_PIPELINE_PATH@SHA256_TAG
, onde SHA256_TAG é o valor hashsha256
da versão do pipeline.
JOB_ID: (opcional) Um identificador exclusivo para esta execução da pipeline. Se o ID da tarefa não for especificado, o Vertex AI Pipelines cria um ID da tarefa para si com o nome do pipeline e a data/hora em que a execução do pipeline foi iniciada.
PIPELINE_ROOT_PATH: (opcional) Para substituir o caminho raiz do pipeline especificado na definição do pipeline, especifique um caminho ao qual a tarefa do pipeline possa aceder, como um URI do contentor do Cloud Storage.
PIPELINE_PARAMETERS: (opcional) Os parâmetros do pipeline a transmitir a esta execução. Por exemplo, crie um
dict()
com os nomes dos parâmetros como chaves do dicionário e os valores dos parâmetros como valores do dicionário.ENABLE_CACHING: (opcional) Especifica se esta execução do pipeline usa o armazenamento em cache de execução. O armazenamento em cache da execução reduz os custos ao ignorar as tarefas do pipeline em que a saída é conhecida para o conjunto atual de entradas. Se o argumento enable caching não for especificado, a colocação em cache de execução é usada nesta execução da pipeline. Saiba mais sobre a colocação em cache de execuções.
CMEK: (opcional) O nome da chave de encriptação gerida pelo cliente que quer usar para esta execução da pipeline.
LABELS: (opcional) As etiquetas definidas pelo utilizador para organizar este
PipelineJob
. Para mais informações sobre etiquetas de recursos, consulte o artigo Criar e gerir etiquetas na documentação do Resource Manager.O Vertex AI Pipelines anexa automaticamente a seguinte etiqueta à execução do pipeline:
vertex-ai-pipelines-run-billing-id: pipeline_run_id
em que
pipeline_run_id
é o ID exclusivo da execução do pipeline.Esta etiqueta associa a utilização de Google Cloud recursos gerados pela execução do pipeline nos relatórios de faturação.
CREDENTIALS: (opcional) Credenciais personalizadas a usar para criar este
PipelineJob
. Substitui as credenciais definidas emaiplatform.init
.PROJECT_ID: (opcional) O Google Cloud projeto no qual quer executar o pipeline. Se não definir este parâmetro, é usado o projeto definido em
aiplatform.init
.LOCATION: (opcional) A região na qual quer executar o pipeline. Para mais informações sobre as regiões em que o Vertex AI Pipelines está disponível, consulte o guia de localizações da Vertex AI. Se não definir este parâmetro, é usada a localização predefinida definida em
aiplatform.init
.FAILURE_POLICY: (opcional) especifique a política de falhas para todo o pipeline. Estão disponíveis as seguintes configurações:
Para configurar o pipeline de modo a falhar após a falha de uma tarefa, introduza
fast
.Para configurar o pipeline de modo a continuar a agendar tarefas depois de uma tarefa falhar, introduza
slow
.
Se não definir este parâmetro, a configuração da política de falhas é definida como
slow
por predefinição. Saiba mais sobre as políticas de falha do pipeline.SERVICE_ACCOUNT: (opcional) O nome da conta de serviço a usar para esta execução do pipeline. Se não especificar uma conta de serviço, o Vertex AI Pipelines executa o seu pipeline através da conta de serviço predefinida do Compute Engine.
NETWORK: (opcional) :O nome da rede com peering de VPC a usar para esta execução da pipeline.
O que se segue?
- Saiba como criar e executar um pipeline e adicioná-lo a uma experiência ou a uma execução de experiência.