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 Folgendem definiert:
Eingaben des Pipelineschritts Dazu gehören der Wert der Eingabeparameter (falls vorhanden) und die ID des Eingabeartefakts (falls vorhanden).
Die Ausgabedefinition des Pipelineschritts. Diese Ausgabedefinition enthält die Definition des Ausgabeparameters (Name, falls zutreffend) und die Definition des Ausgabeartefakts (Name, falls zutreffend).
Die Spezifikation der Komponente. Diese Spezifikation enthält das verwendete Image, die Befehle, Argumente und Umgebungsvariablen sowie die Reihenfolge der Befehle und Argumente.
Außerdem teilen sich nur Pipelines mit demselben Pipelinenamen 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 Pipeline-Job 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. Für alle Schritte innerhalb des Pipelinejobs wird kein Caching verwendet.
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 neu zu generieren.