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 os pipelines da plataforma de agentes do Gemini Enterprise.

Usar aceleradores de ML

Para fluxos de trabalho de machine learning que envolvem processamento de dados com uso intenso de computação, como inferência com modelos grandes, é possível usar aceleradores com workers do Dataflow. O Dataflow oferece suporte ao uso de GPUs e TPUs.

GPUs

É possível usar GPUs NVIDIA com jobs do Dataflow para acelerar o processamento. O Dataflow oferece suporte a vários tipos de GPU NVIDIA, incluindo T4, L4, A100, H100 e V100. Para usar GPUs, é necessário configurar o pipeline com uma imagem de contêiner personalizada que tenha os drivers e bibliotecas de GPU necessários instalados.

Para informações detalhadas sobre o uso de GPUs com o Dataflow, consulte Suporte do Dataflow para GPUs.

TPUs

O Dataflow também oferece suporte às Cloud TPUs, que são aceleradores de IA personalizados do Google otimizados para modelos de IA grandes. As TPUs podem ser uma boa opção para acelerar cargas de trabalho de inferência em frameworks como PyTorch, JAX e TensorFlow. O Dataflow oferece suporte a configurações de TPU de host único, em que cada worker gerencia um ou mais dispositivos de TPU.

Para mais informações, consulte Suporte do Dataflow para TPUs.

Orquestração de fluxo de trabalho

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 os pipelines da plataforma de agentes

Os pipelines da plataforma de agentes ajudam a automatizar, monitorar e controlar seus sistemas de ML, orquestrando os fluxos de trabalho de ML sem servidor. É possível usar os pipelines da plataforma de agentes 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 mais fáceis de usar, portáteis e escalonáveis. O Pipelines do Kubeflow é um fluxo de trabalho de ML completo reutilizável criado com o Kubeflow Pipelines SDK.

O SDK do 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 DataflowPythonJobOP operador ou o DataflowFlexTemplateJobOp operador. 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 plataforma de agentes do Gemini Enterprise.

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):