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