Para os desenvolvedores com experiência na criação de pipelines do Kubeflow, é importante entender as seguintes maneiras de os pipelines do Vertex AI são diferentes dos pipelines do Kubeflow.
Transmissão de dados (entradas/saídas)
- A transmissão de dados por entradas e saídas é diferente do SDK do Kubeflow Pipelines v1 para o SDK do Kubeflow Pipelines v2. O SDK do Kubeflow Pipelines v2 tem a separação de parâmetros e artefatos, e eles não podem ser transmitidos uns para os outros. Para informações mais detalhadas, consulte Princípios básicos do Kubeflow Pipelines e Tipos de dados do Kubeflow Pipelines.
Uso da versão em um idioma específico de domínio (DSL)
O Vertex AI Pipelines pode executar pipelines criados usando o TFX v0.30.0 ou superior ou a linguagem específica de domínio (DSL, na sigla em inglês) do SDK do Kubeflow Pipelines v2.
O DSL do SDK do Kubeflow Pipelines v2 está disponível no SDK do Kubeflow Pipelines v1.6 ou posterior.
O Kubeflow Pipelines pode executar pipelines que foram criados usando o SDK do Kubeflow Pipelines. O Kubeflow Pipelines v1.6 ou posterior também executa pipelines criados com a DSL do SDK do Kubeflow Pipelines v2.
Armazenamento
O Kubeflow Pipelines e o Vertex AI Pipelines processam o armazenamento de maneira diferente. No Kubeflow Pipelines, você pode usar os recursos do Kubernetes, como declarações de volume permanente. No Vertex AI Pipelines, seus dados são armazenados no Cloud Storage e ativados em componentes usando o Cloud Storage FUSE.
Em Pipelines do Vertex AI, é possível usar os serviços do Google Cloud para disponibilizar recursos. Por exemplo, é possível usar o Cloud Storage FUSE para acessar um bucket do Cloud Storage como um volume ativado em uma etapa do pipeline. Se o URI do Cloud Storage for
gs://example-bucket/example-pipeline
, o contêiner do componente do pipeline poderá usar o Cloud Storage FUSE para acessar esse URI como o seguinte caminho:/gcs/example-bucket/example-pipeline
.Quando você executa um pipeline usando o Vertex AI Pipelines, a raiz do pipeline precisa ter sido especificada na anotação
@pipeline
ou quando você criou a execução do pipeline.No Kubeflow Pipelines, a especificação da raiz do pipeline é opcional. Os artefatos de uma execução de pipeline são armazenados usando o MinIO por padrão.
Recursos incompatíveis com o Vertex AI Pipelines
No momento, os recursos do Kubeflow Pipelines não são compatíveis com o Vertex AI Pipelines.
Cache Expiration: no Kubeflow Pipelines, é possível especificar que as execuções de componentes em cache expirem após um período especificado usando a DSL do SDK do Kubeflow Pipelines v1.
Atualmente, não é possível especificar que as execuções de componentes expiram após um período especificado usando o DSL do SDK do Kubeflow Pipelines.
No Vertex AI Pipelines, ao executar um pipeline usando
create_run_from_job_spec
, é possível usar o argumentoenable_caching
para especificar que essa execução de pipeline não usa o armazenamento em cache.Recorrência: no Kubeflow Pipelines, é possível especificar os componentes do pipeline que são chamados recursivamente.
Atualmente, o Vertex AI Pipelines não é compatível com componentes de pipeline chamados recursivamente.