Configure a colocação em cache de execução

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:

  1. 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).

  2. 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).

  3. 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.