Migrazione da Kubeflow Pipelines a Vertex AI Pipelines

Per gli sviluppatori con esperienza nella creazione di pipeline Kubeflow è importante capire le seguenti differenze tra Vertex AI Pipelines e Kubeflow Pipelines.

Trasmissione dati (input/output)

Utilizzo della versione DSL (Domain-Specific Language)

  • Vertex AI Pipelines può eseguire pipeline create utilizzando TFX v0.30.0 o versioni successive oppure il linguaggio specifico del dominio (DSL) dell'SDK Kubeflow Pipelines v2.

    L'SDK Kubeflow Pipelines v2 DSL è disponibile nell'SDK Kubeflow Pipelines v1.6 o versione successiva.

    Kubeflow Pipelines può eseguire pipeline create utilizzando l'SDK Kubeflow Pipelines. Kubeflow Pipelines v1.6 o versione successiva può anche eseguire pipeline create utilizzando Kubeflow Pipelines SDK v2 DSL.

Archiviazione

  • Kubeflow Pipelines e Vertex AI Pipelines gestiscono l'archiviazione in modo diverso. Nelle pipeline di Kubeflow puoi usare risorse Kubernetes come richieste di volumi permanenti. In Vertex AI Pipelines, i dati vengono archiviati in Cloud Storage e montati nei componenti utilizzando Cloud Storage FUSE.

    In Vertex AI Pipelines, puoi utilizzare i servizi Google Cloud per rendere disponibili le risorse, ad esempio puoi utilizzare Cloud Storage FUSE per accedere a un bucket Cloud Storage come volume montato in un passaggio della pipeline. Se l'URI Cloud Storage è gs://example-bucket/example-pipeline, il container del componente della pipeline può utilizzare Cloud Storage FUSE per accedere all'URI con il percorso seguente: /gcs/example-bucket/example-pipeline.

  • Quando esegui una pipeline utilizzando Vertex AI Pipelines, la radice della pipeline deve essere stata specificata nell'annotazione @pipeline o al momento della creazione della pipeline.

    Nelle pipeline di Kubeflow, la specifica della radice della pipeline è facoltativa. Gli artefatti di un'esecuzione della pipeline vengono archiviati utilizzando MinIO per impostazione predefinita.

Funzionalità non supportate in Vertex AI Pipelines

  • Le seguenti funzionalità di Kubeflow Pipelines non sono attualmente supportate in Vertex AI Pipelines.

    • Scadenza della cache: in Kubeflow Pipelines, puoi specificare che le esecuzioni dei componenti memorizzati nella cache scadono dopo un determinato periodo di tempo utilizzando DSL dell'SDK Kubeflow Pipelines v1.

      Al momento, non puoi specificare che le esecuzioni dei componenti scadano dopo un periodo di tempo specificato utilizzando DSL dell'SDK Kubeflow Pipelines v2.

      In Vertex AI Pipelines, quando esegui una pipeline utilizzando create_run_from_job_spec, puoi utilizzare l'argomento enable_caching per specificare che l'esecuzione della pipeline non utilizza la memorizzazione nella cache.

    • Ricorsione: nelle pipeline di Kubeflow puoi specificare i componenti della pipeline chiamati in modo ricorsivo.

      Attualmente, Vertex AI Pipelines non supporta i componenti delle pipeline chiamati in modo ricorsivo.