Dataflow ML en flujos de trabajo de AA

Para organizar flujos de trabajo complejos de aprendizaje automático, puedes crear frameworks que incluyan pasos de procesamiento previo y posterior de los datos. Es posible que debas procesar previamente los datos antes de usarlos para entrenar tu modelo o procesarlos posteriormente para transformar el resultado del modelo.

Los flujos de trabajo de AA suelen contener muchos pasos que, en conjunto, forman una canalización. Para crear tu canalización de aprendizaje automático, puedes usar uno de los siguientes métodos.

  • Usa un framework de organización que tenga una integración incorporada con Apache Beam y el ejecutor de Dataflow, como TensorFlow Extended (TFX) o Kubeflow Pipelines (KFP). Esta opción es la menos compleja.
  • Compila un componente personalizado en una plantilla de Dataflow y, luego, llama a la plantilla desde tu canalización de AA. La llamada contiene tu código de Apache Beam.
  • Compila un componente personalizado para usarlo en tu canalización de AA y coloca el código de Python directamente en el componente. Debes definir una canalización personalizada de Apache Beam y usar el ejecutor de Dataflow dentro del componente personalizado. Esta opción es la más compleja y requiere que administres las dependencias de la canalización.

Después de crear tu canalización de aprendizaje automático, puedes usar un orquestador para encadenar los componentes y crear un flujo de trabajo de aprendizaje automático de extremo a extremo. Para organizar los componentes, puedes usar un servicio administrado, como Vertex AI Pipelines.

Usa aceleradores de AA

Para los flujos de trabajo de aprendizaje automático que implican un procesamiento de datos intensivo en términos de procesamiento, como la inferencia con modelos grandes, puedes usar aceleradores con trabajadores de Dataflow. Dataflow admite el uso de GPU y TPU.

GPU

Puedes usar GPU de NVIDIA con trabajos de Dataflow para acelerar el procesamiento. Dataflow admite varios tipos de GPU de NVIDIA, incluidos T4, L4, A100, H100 y V100. Para usar GPU, debes configurar tu canalización con una imagen de contenedor personalizada que tenga instalados los controladores y las bibliotecas de GPU necesarios.

Para obtener información detallada sobre el uso de GPU con Dataflow, consulta Compatibilidad de Dataflow con las GPU.

TPU

Dataflow también admite las Cloud TPUs, que son aceleradores de IA con diseño personalizado de Google optimizados para grandes modelos de IA. Las TPU pueden ser una buena opción para acelerar las cargas de trabajo de inferencia en frameworks como PyTorch, JAX y TensorFlow. Dataflow admite configuraciones de TPU de host único, en las que cada trabajador administra uno o más dispositivos de TPU.

Para obtener más información, consulta Compatibilidad de Dataflow con las TPU.

Organización de flujos de trabajo

En las siguientes secciones, se describen los casos de uso de la orquestación de flujos de trabajo.

TFX y Kubeflow Pipelines (KFP) usan componentes de Apache Beam.

Quiero usar Dataflow con Vertex AI Pipelines

Vertex AI Pipelines te permite automatizar, supervisar y administrar tus sistemas de AA mediante la organización de tu flujo de trabajo sin servidores. Puedes usar Vertex AI Pipelines para organizar los gráficos acíclicos dirigidos (DAG) de flujo de trabajo definidos por TFX o KFP, y realizar un seguimiento automático de tus artefactos de AA con Vertex ML Metadata. Para aprender a incorporar Dataflow con TFX y KFP, usa la información de las siguientes secciones.

Quiero usar Dataflow con Kubeflow Pipelines

Kubeflow es un kit de herramientas de AA dedicado a facilitar el uso, la portabilidad y la escalabilidad de las implementaciones de flujos de trabajo de AA en Kubernetes. Kubeflow Pipelines son flujos de trabajo de AA integrales y reutilizables compilados con el SDK de Kubeflow Pipelines.

El objetivo del servicio de Kubeflow Pipelines es proporcionar una organización integral y facilitar la experimentación y la reutilización. Con KFP, puedes experimentar con técnicas de organización y administrar tus pruebas, y puedes reutilizar componentes y canalizaciones para crear varias soluciones de extremo a extremo sin tener que comenzar de nuevo cada vez.

Cuando usas Dataflow con KFP, puedes usar el operador DataflowPythonJobOP o el operador DataflowFlexTemplateJobOp. También puedes compilar un componente completamente personalizado. Te recomendamos que uses el operador DataflowPythonJobOP.

Si deseas compilar un componente completamente personalizado, consulta la página Componentes de Dataflow en la documentación de Vertex AI.

Quiero usar Dataflow con TFX

Los componentes de canalización de TFX se compilan en bibliotecas de TFX, y las bibliotecas de procesamiento de datos usan Apache Beam directamente. Por ejemplo, TensorFlow Transform traduce las llamadas del usuario a Apache Beam. Por lo tanto, puedes usar Apache Beam y Dataflow con canalizaciones de TFX sin necesidad de realizar tareas de configuración adicionales. Para usar TFX con Dataflow, cuando compiles tu canalización de TFX, usa el ejecutor de Dataflow. Para obtener más información, consulta los siguientes recursos: