Configura el almacenamiento en caché de ejecución

Cuando Vertex AI Pipelines ejecuta una canalización, comprueba si existe una ejecución en Vertex ML Metadata con la interfaz (clave de caché) de cada paso de la canalización.

La interfaz del paso se define como la combinación de lo siguiente:

  1. Las entradas del paso de canalización. Estas entradas incluyen el valor del parámetro de entrada (si existe) y el ID del artefacto de entrada (si lo hay).

  2. La definición de salida del paso de la canalización. Esta definición de salida incluye la definición del parámetro de salida (nombre, si corresponde) y la definición del artefacto de salida (nombre, si corresponde).

  3. La especificación del componente. Esta especificación incluye la imagen, los comandos, los argumentos y las variables de entorno que se usan, así como el orden de los comandos y los argumentos.

Además, solo las canalizaciones con el mismo nombre compartirán la caché.

Si hay una ejecución que coincide en Vertex ML Metadata, los resultados de esa ejecución se usan y se omite el paso. Esto ayuda a reducir los costos, ya que se omiten los cálculos que se completaron en una ejecución de canalización anterior.

Puedes desactivar el almacenamiento en caché de ejecución a nivel de la tarea si configuras los siguientes valores:

eval_task.set_caching_options(False)

Puedes desactivar el almacenamiento en caché de ejecución para un trabajo de canalización completo. Cuando ejecutas una canalización con PipelineJob(), puedes usar el argumento enable_caching para especificar que esta ejecución de canalización no use el almacenamiento en caché. Todos los pasos dentro del trabajo de canalización no usarán el almacenamiento en caché. Obtén más información para crear ejecuciones de canalización.

Usa el siguiente ejemplo para desactivar el almacenamiento en caché:

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,
)

Se aplican las siguientes limitaciones a esta función:

  • El resultado almacenado en caché no tiene un tiempo de actividad (TTL) y se puede volver a usar siempre que la entrada no se borre de Vertex ML Metadata. Si la entrada se borra de Vertex ML Metadata, la tarea se volverá a ejecutar para volver a generar el resultado.