Dataflow ML em fluxos de trabalho de ML

Para orquestrar fluxos de trabalho de aprendizagem automática complexos, pode criar frameworks que incluam passos de pré-processamento e pós-processamento de dados. Pode ter de pré-processar os dados antes de os poder usar para preparar o modelo ou pós-processar os dados para transformar o resultado do modelo.

Os fluxos de trabalho de ML contêm frequentemente muitos passos que, em conjunto, formam um pipeline. Para criar o seu pipeline de aprendizagem automática, pode usar um dos seguintes métodos.

  • Usar uma framework de orquestração com uma integração incorporada com o Apache Beam e o executor do Dataflow, como o TensorFlow Extended (TFX) ou o Kubeflow Pipelines (KFP). Esta opção é a menos complexa.
  • Crie um componente personalizado num modelo do Dataflow e, em seguida, chame o modelo a partir do pipeline de ML. A chamada contém o seu código do Apache Beam.
  • Crie um componente personalizado para usar no seu pipeline de ML e coloque o código Python diretamente no componente. Define um pipeline do Apache Beam personalizado e usa o executor do Dataflow no componente personalizado. Esta opção é a mais complexa e requer que faça a gestão das dependências da pipeline.

Depois de criar o pipeline de aprendizagem automática, pode usar um orquestrador para encadear os componentes de modo a criar um fluxo de trabalho de aprendizagem automática completo. Para orquestrar os componentes, pode usar um serviço gerido, como o Vertex AI Pipelines.

Use aceleradores de AA

Para fluxos de trabalho de aprendizagem automática que envolvem o processamento de dados com grande intensidade computacional, como a inferência com modelos grandes, pode usar aceleradores com trabalhadores do Dataflow. O Dataflow suporta a utilização de GPUs e TPUs.

GPUs

Pode usar GPUs NVIDIA com tarefas do Dataflow para acelerar o processamento. O Dataflow suporta vários tipos de GPUs NVIDIA, incluindo T4, L4, A100, H100 e V100. Para usar GPUs, tem de configurar o seu pipeline com uma imagem de contentor personalizada que tenha os controladores e as bibliotecas de GPU necessários instalados.

Para informações detalhadas sobre a utilização de GPUs com o Dataflow, consulte o artigo Apoio técnico do Dataflow para GPUs.

TPUs

O Dataflow também suporta TPUs na nuvem, que são aceleradores de IA personalizados da Google otimizados para modelos de IA grandes. As TPUs podem ser uma boa escolha para acelerar cargas de trabalho de inferência em frameworks como o PyTorch, o JAX e o TensorFlow. O Dataflow suporta configurações de TPU de anfitrião único, em que cada trabalhador gere um ou mais dispositivos de TPU.

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

Orquestração de fluxos de trabalho

Os exemplos de utilização da orquestração de fluxos de trabalho são descritos nas secções seguintes.

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

Quero usar o Dataflow com o Vertex AI Pipelines

Os Vertex AI Pipelines ajudam a automatizar, monitorizar e governar os seus sistemas de ML, orquestrando os seus fluxos de trabalho de ML de forma sem servidor. Pode usar os pipelines do Vertex AI para orquestrar grafos acíclicos direcionados (DAGs) de fluxo de trabalho definidos pelo TFX ou pelo KFP e para acompanhar automaticamente os seus artefactos de ML através do Vertex ML Metadata. Para saber como incorporar o Dataflow com o TFX e o KFP, use as informações nas secções seguintes.

Quero usar o Dataflow com os Kubeflow Pipelines

O Kubeflow é um conjunto de ferramentas de ML dedicado a tornar as implementações de fluxos de trabalho de ML no Kubernetes mais fáceis de usar, portáteis e escaláveis. Os Kubeflow Pipelines são fluxos de trabalho de ML ponto a ponto reutilizáveis criados com o SDK do Kubeflow Pipelines.

O serviço Kubeflow Pipelines destina-se a fornecer orquestração ponto a ponto e a facilitar a experimentação e a reutilização. Com o KFP, pode experimentar técnicas de orquestração e gerir os seus testes, bem como reutilizar componentes e pipelines para criar várias soluções completas sem ter de começar de novo sempre.

Quando usa o Dataflow com o KFP, pode usar o operador DataflowPythonJobOP ou o operador DataflowFlexTemplateJobOp. Também pode criar um componente totalmente personalizado. Recomendamos que use o operador DataflowPythonJobOP.

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

Quero usar o Dataflow com o TFX

Os componentes do pipeline do TFX são criados com base nas bibliotecas do TFX, e as bibliotecas de processamento de dados usam o Apache Beam diretamente. Por exemplo, o TensorFlow Transform traduz as chamadas do utilizador para o Apache Beam. Por conseguinte, pode usar o Apache Beam e o Dataflow com pipelines do TFX sem ter de fazer trabalho de configuração adicional. Para usar o TFX com o Dataflow, quando cria o pipeline do TFX, use o executor do Dataflow. Para obter mais informações, consulte os seguintes recursos: