Configurazione della memorizzazione nella cache di un'esecuzione

Quando Vertex AI Pipelines esegue una pipeline, controlla se esiste o meno un'esecuzione in Vertex ML Metadata con l'interfaccia (chiave 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 presente) e l'eventuale ID dell'artefatto di input.

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

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

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

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

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 di esecuzione per un intero job di pipeline. Quando esegui una pipeline utilizzando PipelineJob(), puoi utilizzare l'argomento enable_caching per specificare che l'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 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 a condizione che la voce non venga eliminata dai Vertex ML Metadata. Se la voce viene eliminata da Vertex ML Metadata, l'attività verrà eseguita nuovamente per rigenerare di nuovo il risultato.