Configurar o cache de execução

Quando o Vertex AI Pipelines executa um pipeline, ele verifica se há ou não uma execução nos metadados de ML do ML com a interface (chave de cache) de cada etapa do pipeline.

A interface da etapa é definida como a combinação do seguinte:

  1. As entradas da etapa do pipeline. Essas entradas incluem o valor dos parâmetros de entrada (se houver) e o código do artefato de entrada (se houver).

  2. A definição da saída da etapa do pipeline. Essa definição de saída inclui a definição do parâmetro de saída (nome, se houver) e a definição do artefato de saída (nome, se houver).

  3. A especificação do componente. Esta especificação inclui imagens, comandos, argumentos e variáveis de ambiente que estão sendo usadas, além de ordem dos comandos e argumentos.

Além disso, apenas os pipelines com o mesmo nome compartilharão o cache.

Se houver uma execução correspondente nos metadados de ML do Vertex, as saídas dessa execução serão usadas e a etapa será ignorada. Isso ajuda a reduzir os custos ignorando os cálculos que foram concluídos em uma execução anterior do pipeline.

Para desativar o armazenamento em cache na execução no nível da tarefa, defina o seguinte:

eval_task.set_caching_options(False)

É possível desativar o armazenamento em cache na execução para um job de pipeline inteiro. Ao executar um pipeline usando PipelineJob(), é possível usar o argumento enable_caching para especificar que essa execução de pipeline não usa o armazenamento em cache. Nenhuma etapa do job de pipeline usará o armazenamento em cache. Saiba mais sobre como criar execuções de pipeline.

Use o exemplo a seguir 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,
)

As seguintes limitações se aplicam a esse recurso:

  • O resultado armazenado em cache não tem um time to live (TTL) e pode ser reutilizado, desde que a entrada não seja excluída dos Vertex ML Metadata. Se a entrada for excluída dos Vertex ML Metadata, a tarefa será executada novamente para gerar o resultado novamente.