Quando o Vertex AI Pipelines executa um pipeline, verifica se existe uma execução no Vertex ML Metadata com a interface (chave da cache) de cada passo do pipeline.
A interface do passo é definida como a combinação do seguinte:
As entradas do passo do pipeline. Estas entradas incluem o valor dos parâmetros de entrada (se existirem) e o ID do artefacto de entrada (se existir).
A definição de saída do passo do pipeline. Esta definição de saída inclui a definição do parâmetro de saída (nome, se existir) e a definição do artefacto de saída (nome, se existir).
A especificação do componente. Esta especificação inclui a imagem, os comandos, os argumentos e as variáveis de ambiente que estão a ser usados, bem como a ordem dos comandos e dos argumentos.
Além disso, apenas os pipelines com o mesmo nome de pipeline partilham a cache.
Se existir uma execução correspondente nos metadados do Vertex ML, são usados os resultados dessa execução e o passo é ignorado. Isto ajuda a reduzir os custos ao ignorar os cálculos que foram concluídos numa execução da pipeline anterior.
Pode desativar a colocação em cache de execução ao nível da tarefa definindo o seguinte:
eval_task.set_caching_options(False)
Pode desativar a colocação em cache de execução para uma tarefa de pipeline completa. Quando executa um pipeline com PipelineJob()
, pode usar o argumento enable_caching
para especificar que esta execução do pipeline não usa o armazenamento em cache. Todos os passos na tarefa de pipeline não usam o armazenamento em cache.
Saiba como criar execuções de pipelines.
Use o seguinte exemplo para desativar o armazenamento em cache:
pl = PipelineJob(
display_name="My first pipeline",
# Whether or not to enable caching
# True = enable the current run to use caching results from previous runs
# False = disable the current run's use of caching results from previous runs
# None = defer to cache option for each pipeline component in the pipeline definition
enable_caching=False,
# Local or Cloud Storage path to a compiled pipeline definition
template_path="pipeline.yaml",
# Dictionary containing input parameters for your pipeline
parameter_values=parameter_values,
# Cloud Storage path to act as the pipeline root
pipeline_root=pipeline_root,
)
Aplicam-se as seguintes limitações a esta funcionalidade:
- O resultado em cache não tem um tempo de vida (TTL) e pode ser reutilizado enquanto a entrada não for eliminada dos metadados do Vertex ML. Se a entrada for eliminada do Vertex ML Metadata, a tarefa é executada novamente para regenerar o resultado.