ML do Dataflow em fluxos de trabalho de ML

Para orquestrar fluxos de trabalho complexos de machine learning, crie frameworks que incluam etapas de pré e pós-processamento de dados. Talvez seja necessário pré-processar os dados antes de usá-los para treinar o modelo ou pós-processar dados para transformar a saída do modelo.

Os fluxos de trabalho de ML geralmente contêm muitas etapas que, juntas, formam um pipeline. Para criar um pipeline de machine learning, use um dos métodos a seguir.

  • Use um framework de orquestração que tenha uma integração nativa com o Apache Beam e o executor do Dataflow, como o TensorFlow Extended (TFX) ou o Kubeflow Pipelines (KFP). Essa opção é a menos complexa.
  • Crie um componente personalizado em um modelo do Dataflow e chame o modelo do pipeline de ML. A chamada contém o código do Apache Beam.
  • Crie um componente personalizado para usar no pipeline de ML e coloque o código Python diretamente no componente. Você define um pipeline personalizado do Apache Beam e usa o executor do Dataflow no componente personalizado. Essa opção é a mais complexa e exige o gerenciamento de dependências de pipeline.

Depois de criar o pipeline de machine learning, é possível usar um orquestrador para encadear os componentes e criar um fluxo de trabalho completo de machine learning. Para orquestrar os componentes, use um serviço gerenciado, como o Vertex AI Pipelines.

Os casos de uso de orquestração de fluxo de trabalho são descritos nas seções a seguir.

O TFX e o Kubeflow Pipelines (KFP) usam componentes do Apache Beam.

Quero usar o Dataflow com pipelines da Vertex AI

O Pipelines da Vertex AI ajuda a automatizar, monitorar e controlar seus sistemas de ML, orquestrando os fluxos de trabalho de ML sem servidor. É possível usar os pipelines da Vertex AI para orquestrar gráficos acíclicos direcionados (DAGs, na sigla em inglês) definidos por TFX ou KFP e rastrear automaticamente seus artefatos de ML usando o Vertex ML Metadata. Para saber como incorporar o Dataflow ao TFX e ao KFP, use as informações nas seções a seguir.

Quero usar o Dataflow com o Kubeflow Pipelines

O Kubeflow é um kit de ferramentas de ML dedicado a tornar as implantações de fluxos de trabalho de ML no Kubernetes simples, portáteis e escalonáveis. O Pipelines do Kubeflow é um fluxo de trabalho de ML completo reutilizável criado com o SDK do Kubeflow Pipelines.

O serviço Kubeflow Pipelines tem como objetivo fornecer orquestração completa e facilitar a experimentação e a reutilização. Com o KFP, é possível testar técnicas de orquestração e gerenciar testes, além de reutilizar componentes e pipelines para criar várias soluções de ponta a ponta sem precisar recomeçar.

Ao usar o Dataflow com KFP, é possível usar o operador DataflowPythonJobOP ou DataflowFlexTemplateJobOp. Também é possível criar um componente totalmente personalizado. Recomendamos o uso do operador DataflowPythonJobOP.

Se você quiser criar um componente totalmente personalizado, consulte a página Componentes do Dataflow na documentação da Vertex AI.

Quero usar o Dataflow com o TFX

Os componentes de pipeline do TFX são criados em bibliotecas do TFX, e as bibliotecas de processamento de dados usam o Apache Beam diretamente. Por exemplo, o TensorFlow Transform traduz as chamadas do usuário para o Apache Beam. Portanto, é possível usar o Apache Beam e o Dataflow com pipelines do TFX sem precisar de configuração adicional. Para usar o TFX com o Dataflow, use o executor do Dataflow ao criar o pipeline do TFX. Para saber mais, acesse os recursos a seguir (links em inglês):