Migre do Kubeflow Pipelines para o Vertex AI Pipelines

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 argumento enable_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.