Si tienes experiencia creando flujos de procesamiento de Kubeflow, es importante que sepas en qué se diferencia Vertex AI Pipelines de Kubeflow Pipelines.
Transferencia de datos (entradas y salidas)
- La transferencia de datos mediante entradas y salidas es diferente en el SDK de Kubeflow Pipelines v1 y en el SDK de Kubeflow Pipelines v2. El SDK de Kubeflow Pipelines v2 separa los parámetros y los artefactos, y no se pueden transferir entre sí. Para obtener información más detallada, consulta los artículos Conceptos básicos de los flujos de procesamiento de Kubeflow y Tipos de datos de los flujos de procesamiento de Kubeflow.
Uso de la versión del lenguaje específico del dominio (DSL)
Vertex AI Pipelines puede ejecutar las pipelines que se hayan creado con TFX 0.30.0 o versiones posteriores, o con el lenguaje específico del dominio (DSL) de la versión 2 del SDK de Kubeflow Pipelines.
El DSL de la versión 2 del SDK de Kubeflow Pipelines está disponible en la versión 1.6 o posterior del SDK de Kubeflow Pipelines.
Kubeflow Pipelines puede ejecutar flujos de trabajo creados con el SDK de Kubeflow Pipelines. Kubeflow Pipelines 1.6 o versiones posteriores también pueden ejecutar las canalizaciones creadas con el DSL de la versión 2 del SDK de Kubeflow Pipelines.
Almacenamiento
Kubeflow Pipelines y Vertex AI Pipelines gestionan el almacenamiento de forma diferente. En Kubeflow Pipelines, puedes usar recursos de Kubernetes, como reclamaciones de volumen persistente. En Vertex AI Pipelines, tus datos se almacenan en Cloud Storage y se montan en tus componentes mediante Cloud Storage FUSE.
En Vertex AI Pipelines, puedes usar Google Cloud servicios para que los recursos estén disponibles. Por ejemplo, puedes usar Cloud Storage FUSE para acceder a un segmento de Cloud Storage como un volumen montado en un paso de una canalización. Si tu URI de Cloud Storage es
gs://example-bucket/example-pipeline
, el contenedor del componente de tu canalización puede usar Cloud Storage FUSE para acceder a ese URI como la siguiente ruta:/gcs/example-bucket/example-pipeline
.Cuando ejecutas un flujo de trabajo con Vertex AI Pipelines, la raíz del flujo de trabajo debe haberse especificado en la anotación
@pipeline
o al crear la ejecución del flujo de trabajo.En Kubeflow Pipelines, especificar la raíz de la canalización es opcional. Los artefactos de una ejecución de una canalización se almacenan en MinIO de forma predeterminada.
Funciones no compatibles con Vertex AI Pipelines
Las siguientes funciones de Kubeflow Pipelines no se admiten en Vertex AI Pipelines.
Vencimiento de la caché: en Kubeflow Pipelines, puedes especificar que las ejecuciones de componentes almacenadas en caché caduquen después de un periodo determinado mediante el DSL de la versión 1 del SDK de Kubeflow Pipelines.
No puedes especificar que las ejecuciones de componentes caduquen después de un periodo de tiempo determinado con el DSL del SDK de Kubeflow Pipelines v2.
En Vertex AI Pipelines, cuando ejecutas un flujo de procesamiento con
create_run_from_job_spec
, puedes usar el argumentoenable_caching
para especificar que esta ejecución del flujo de procesamiento no use la caché.Recursión: en Kubeflow Pipelines, puedes especificar componentes de flujo de procesamiento que se llamen de forma recursiva.
Vertex AI Pipelines no admite componentes de flujo de procesamiento que se llamen de forma recursiva.