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 poder usarlos para entrenar tu modelo o procesarlos de forma posterior para transformar el resultado de tu modelo.
Los flujos de trabajo de AA suelen contener muchos pasos que, en conjunto, forman una canalización. Para compilar 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.
En las siguientes secciones, se describen los casos de uso de la orquestación de flujos de trabajo.
- Quiero usar Dataflow con Vertex AI Pipelines
- Quiero usar Dataflow con KFP
- Quiero usar Dataflow con TFX
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) del flujo de trabajo definidos por TFX o KFP y realizar un seguimiento automático de tus artefactos de AA mediante 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 que se dedica a hacer que las implementaciones de flujos de trabajo de AA en Kubernetes sean simples, portátiles y escalables. Kubeflow Pipelines son flujos de trabajo de AA de extremo a extremo reutilizables compilados con el SDK de Kubeflow Pipelines.
El objetivo del servicio de Kubeflow Pipelines es proporcionar una orquestación de extremo a extremo y facilitar la experimentación y la reutilización. Con KFP, puedes experimentar con técnicas de orquestación y administrar tus pruebas, y puedes volver a usar componentes y canalizaciones para crear varias soluciones de extremo a extremo sin tener que empezar de nuevo cada vez.
Cuando usas Dataflow con KFP, puedes usar el operador DataflowPythonJobOP
o el operador DataflowFlexTemplateJobOp
. También puedes compilar un componente totalmente 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:
- Apache Beam y TFX
- TensorFlow Extended (TFX): Cómo usar Apache Beam para el procesamiento de datos a gran escala