Ausführungs-Caching konfigurieren

Wenn Vertex AI Pipelines eine Pipeline ausführt, wird geprüft, ob in Vertex ML Metadata eine Ausführung mit der Schnittstelle (Cache-Schlüssel) jedes Pipelineschritts vorhanden ist.

Die Schnittstelle des Schritts wird als Kombination aus den folgenden Elementen definiert:

  1. Die Eingaben des Pipelineschritts. Diese Eingaben umfassen den Wert der Eingabeparameter (falls vorhanden) und die Eingabeartefakt-ID (falls vorhanden).

  2. Die Ausgabedefinition des Pipelineschritts. Diese Ausgabedefinition enthält eine Ausgabeparameterdefinition (Name, falls vorhanden) und eine Ausgabeartefaktdefinition (Name, falls vorhanden).

  3. Die Spezifikation der Komponente. Diese Spezifikation enthält das verwendete Image, die Befehle, die Argumente und die Umgebungsvariablen sowie die Reihenfolge der Befehle und Argumente.

Darüber hinaus teilen sich nur Pipelines mit demselben Pipeline-Namen den Cache.

Wenn in den Vertex ML Metadata eine übereinstimmende Ausführung vorhanden ist, werden die Ausgaben dieser Ausführung verwendet und der Schritt übersprungen. Dadurch können Kosten gespart werden, da Berechnungen, die bei einer vorherigen Pipelineausführung abgeschlossen wurden, übersprungen werden.

Sie können das Ausführungs-Caching auf Aufgabenebene deaktivieren, indem Sie Folgendes festlegen:

eval_task.set_caching_options(False)

Sie können das Ausführungs-Caching für einen gesamten Pipelinejob deaktivieren. Wenn Sie eine Pipeline mit PipelineJob() ausführen, können Sie mit dem Argument enable_caching angeben, dass diese Pipeline-Ausführung kein Caching verwendet. Alle Schritte im Pipelinejob verwenden kein Caching. Weitere Informationen zum Erstellen von Pipeline-Ausführungen

Verwenden Sie das folgende Beispiel, um das Caching zu deaktivieren:

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

Für dieses Feature gelten die folgenden Einschränkungen:

  • Das im Cache gespeicherte Ergebnis hat keine Gültigkeitsdauer (TTL) und kann wiederverwendet werden, solange der Eintrag nicht aus Vertex ML Metadata gelöscht wird. Wenn der Eintrag aus Vertex ML Metadata gelöscht wird, wird die Aufgabe noch einmal ausgeführt, um das Ergebnis noch einmal zu generieren.