Configurazione della memorizzazione nella cache di un'esecuzione

Quando Vertex AI Pipelines esegue una pipeline, verifica se esiste un'esecuzione in Vertex ML Metadata con l'interfaccia (chiave della cache) di ogni passaggio della pipeline.

L'interfaccia del passaggio è definita come la combinazione di quanto segue:

  1. Gli input del passaggio della pipeline. Questi input includono il valore dei parametri di input (se presenti) e l'ID artefatto di input (se presente).

  2. La definizione dell'output del passaggio della pipeline. Questa definizione di output include la definizione del parametro di output (nome, se presente) e la definizione dell'artefatto di output (nome, se presente).

  3. La specifica del componente. Questa specifica include l'immagine, i comandi, gli argomenti e le variabili di ambiente utilizzati, nonché l'ordine dei comandi e degli argomenti.

Inoltre, solo le pipeline con lo stesso nome condivideranno la cache.

Se in Vertex ML Metadata esiste un'esecuzione corrispondente, vengono utilizzati gli output di quell'esecuzione e il passaggio viene ignorato. Ciò consente di ridurre i costi saltando i calcoli completati in un'esecuzione della pipeline precedente.

Puoi disattivare la memorizzazione nella cache dell'esecuzione a livello di attività impostando quanto segue:

eval_task.set_caching_options(False)

Puoi disattivare la memorizzazione nella cache dell'esecuzione per un intero job della pipeline. Quando esegui una pipeline utilizzando PipelineJob(), puoi utilizzare l'argomento enable_caching per specificare che questa esecuzione della pipeline non utilizza la memorizzazione nella cache. Tutti i passaggi all'interno del job della pipeline non utilizzeranno la memorizzazione nella cache. Scopri di più sulla creazione di esecuzioni della pipeline.

Utilizza il seguente esempio per disattivare la memorizzazione nella 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,
)

A questa funzionalità si applicano le seguenti limitazioni:

  • Il risultato memorizzato nella cache non ha una durata (TTL) e può essere riutilizzato finché la voce non viene eliminata da Vertex ML Metadata. Se la voce viene eliminata da Vertex ML Metadata, l'attività verrà eseguita di nuovo per rigenerare il risultato.