Migrer depuis Kubeflow Pipelines vers Vertex AI Pipelines

Pour les développeurs ayant l'expérience de la création de pipelines Kubeflow, il est important de comprendre les différences suivantes entre Vertex AI Pipelines et Kubeflow Pipelines.

Transfert de données (entrées/sorties)

  • Le transfert de données via des entrées et des sorties ne s'effectue pas de la même manière avec le SDK Kubeflow Pipelines v1 et le SDK Kubeflow Pipelines v2. Le SDK Kubeflow Pipelines v2 sépare les paramètres des artefacts, et ils ne peuvent pas être transmis les uns aux autres. Pour obtenir des informations détaillées, consultez les sections Principes de base des pipelines Kubeflow Pipelines et Types de données de Kubeflow Pipelines.

Utilisation des versions dans un langage spécifique à un domaine (DSL, domain-specific language)

  • Vertex AI Pipelines peut exécuter des pipelines créés avec TFX v0.30.0 ou une version ultérieure, ou le langage spécifique au domaine (domain-specific language, DSL) du SDK Kubeflow Pipelines v2.

    Le DSL du SDK Kubeflow Pipelines v2 est disponible dans la version 1.6 ou ultérieure du SDK Kubeflow Pipelines.

    Kubeflow Pipelines peut exécuter des pipelines créés à l'aide du SDK Kubeflow Pipelines. Kubeflow Pipelines v1.6 ou version ultérieure peut également exécuter des pipelines créés à l'aide du DSL du SDK Kubeflow Pipelines v2.

Stockage

  • Kubeflow Pipelines et Vertex AI Pipelines gèrent le stockage différemment. Dans Kubeflow Pipelines, vous pouvez utiliser des ressources Kubernetes telles que les demandes de volume persistant. Dans Vertex AI Pipelines, vos données sont stockées sur Cloud Storage et installées dans vos composants à l'aide de Cloud Storage FUSE.

    Dans Vertex AI Pipelines, vous pouvez utiliser les services Google Cloud pour rendre des ressources disponibles. Par exemple, vous pouvez utiliser Cloud Storage FUSE pour accéder à un bucket Cloud Storage en tant que volume installé dans une étape de pipeline. Si l'URI Cloud Storage est gs://example-bucket/example-pipeline, le conteneur du composant de pipeline peut utiliser Cloud Storage FUSE pour accéder à cet URI en tant que chemin d'accès suivant: /gcs/example-bucket/example-pipeline.

  • Lorsque vous exécutez un pipeline à l'aide de Vertex AI Pipelines, la racine du pipeline doit avoir été spécifiée dans l'annotation @pipeline ou lors de la création de l'exécution du pipeline.

    Dans Kubeflow Pipelines, la spécification de la racine du pipeline est facultative. Par défaut, les artefacts d'exécution de pipeline sont stockés à l'aide de MinIO.

Fonctionnalités non compatibles avec Vertex AI Pipelines

  • Les fonctionnalités Kubeflow Pipelines suivantes ne sont actuellement pas compatibles avec Vertex AI Pipelines.

    • Expiration du cache : dans Kubeflow Pipelines, vous pouvez spécifier que les exécutions de composants mis en cache expirent au bout d'un certain temps à l'aide du DSL du SDK Kubeflow Pipelines v1.

      Actuellement, vous ne pouvez pas spécifier l'expiration des exécutions de composants après une durée spécifiée à l'aide du DSL du SDK Kubeflow Pipelines v2.

      Dans Vertex AI Pipelines, lorsque vous exécutez un pipeline à l'aide de create_run_from_job_spec, vous pouvez utiliser l'argument enable_caching pour spécifier que cette exécution de pipeline n'utilise pas la mise en cache.

    • Récursion : dans Kubeflow Pipelines, vous pouvez spécifier les composants de pipeline qui sont appelés de manière récursive.

      Actuellement, Vertex AI Pipelines n'est pas compatible avec les composants de pipeline appelés "récursivement".