Ingeniería de datos vs. Pipelines de aprendizaje automático

Ingeniería de datos vs. Pipelines de aprendizaje automático ¿Cuál es la mejor opción?

La ingeniería de datos y las tuberías de aprendizaje automático son muy diferentes pero extrañamente pueden parecer muy similares. Muchos ingenieros de ML con los que he hablado en el pasado confían en herramientas como Airflow para implementar sus modelos por lotes.

Así que quería hablar sobre la diferencia entre la ingeniería de datos y las tuberías de aprendizaje automático.

Para responder a esta pregunta, conté con la colaboración de Sarah Floris, , quien es tanto una experimentada ingeniera de datos como la autora detrás del boletín informativo The Dutch Engineer.

Así que vamos a sumergirnos en ello.

En los últimos 5 años, la acumulación de datos impulsada por la popularidad de plataformas de redes sociales como TikTok y Snapchat ha resaltado la diferencia entre los datos y las tuberías de aprendizaje automático (ML). Estos dos son componentes esenciales de cada empresa, pero a menudo se confunden. Aunque comparten similitudes, sus objetivos son muy diferentes.

Construir una plataforma de datos y ML no es tan simple como parece. Requiere mucho trabajo, y eso es lo que hago todos los días. En esta publicación, exploraremos las diferencias entre cómo funcionan las tuberías de aprendizaje automático y las tuberías de datos, así como lo que se requiere para cada una.

Tuberías de Ingeniería de Datos

Primero, sumerjámonos en las tuberías de datos. Las tuberías de datos son una serie de procesos que extraen datos de diferentes fuentes, los limpian y luego los almacenan en un almacén de datos o base de datos. Esto es importante para las empresas porque les ayuda a tomar decisiones informadas. Una tubería de datos se compone de cuatro partes:

Las tuberías de ingeniería de datos generalmente se conectan a las tuberías de ML. Sin embargo, existen muchos casos en los que las fallas de comunicación llevan a los ingenieros de ML a construir tuberías personalizadas de principio a fin.

Colección de datos: Aquí es donde se recopilan datos de diferentes fuentes como bases de datos, APIs y sistemas de archivos. Los datos pueden estar en diferentes formatos como estructurados, semiestructurados o no estructurados. La recopilación de datos requiere una planificación y ejecución cuidadosas para garantizar datos de alta calidad.

Limpieza de datos: Aquí es donde los datos se limpian verificando los valores faltantes, corrigiendo errores y transformándolos en un formato consistente. Esto asegura que los datos sean precisos y confiables.

Integración de datos: Aquí es donde se fusionan datos de diferentes fuentes en un solo conjunto de datos. Esto es importante para las empresas porque garantiza información consistente y precisa para una mejor toma de decisiones.

Almacenamiento de datos: Aquí es donde se almacenan los datos procesados. Es importante para un acceso rápido y fácil a los datos, así como para la protección y seguridad de los datos.

Estas 4 partes de la tubería de datos también se conocen comúnmente como Extracción (recopilación de datos), Transformación (limpieza e integración de datos) y Carga (almacenamiento de datos). El proceso de extracción, transformación y carga de datos se conoce comúnmente como ETL o ELT.

Algunos señalarán que ETL y ELT son un subconjunto de los amplios flujos de trabajo de datos o tuberías de datos, ya que existen varias otras subclases que a menudo incluyen patrones de transmisión como pub / sub o CDC. — Ben Rogojan

Estos procesos se pueden realizar en diferentes secuencias, según los requisitos del proyecto.

Independientemente de cómo se realicen las tuberías de datos, generalmente siempre seguirán un proceso lineal que comienza desde la fuente y termina en el almacenamiento.

Así es por eso que generalmente escucha a los ingenieros de datos decir que mueven datos desde el punto A hasta el punto B.

El boletín de SeattleDataGuy es una publicación compatible con los lectores. Para recibir nuevas publicaciones y apoyar mi trabajo, considera convertirte en un suscriptor gratuito o de pago.

Tuberías de Aprendizaje Automático

Las tuberías de Aprendizaje Automático (ML) no funcionan en línea recta como las tuberías de datos. En cambio, implican la construcción, entrenamiento e implementación de modelos de Aprendizaje Automático. Esto se utiliza para automatizar todo el proceso de construcción de un modelo de AA, desde la recopilación de datos hasta su implementación en producción. Una tubería de AA está compuesta por cinco partes:

Limpieza de datos: La limpieza y estandarización de datos es un aspecto crucial de las tuberías de Aprendizaje Automático. Mientras que los ingenieros de datos realizan una limpieza inicial, los científicos de datos la llevan más allá para garantizar precisión y utilidad. Esto incluye tareas como asegurar formatos de fecha consistentes, eliminar valores nulos y agrupar edades. También pueden realizar análisis exploratorio de datos para identificar patrones y tendencias. El rol requiere una comprensión profunda tanto de los aspectos técnicos de la limpieza de datos como del contexto más amplio en el que se utiliza.

Ingeniería de características: La ingeniería de características es el proceso de seleccionar y extraer características relevantes de datos sin procesar para mejorar el rendimiento de los modelos de Aprendizaje Automático. Para aumentar la velocidad de iteración, los ingenieros de ML construirán un feature store, que básicamente consiste en algunas tablas versionadas creadas para cada área de enfoque del modelo, como ventas, adquisiciones, u otras.

Entrenamiento del modelo: El entrenamiento del modelo generalmente comienza con la selección de uno o varios algoritmos de Aprendizaje Automático adecuados. Una vez seleccionado el algoritmo, procedemos a entrenarlo con los datos que hemos preparado mediante la ingeniería de características. Este proceso generalmente implica iterar en la arquitectura del modelo y los hiperparámetros hasta alcanzar el nivel deseado de rendimiento. Finalmente, el modelo entrenado se puede utilizar para hacer predicciones sobre nuevos datos.

Evaluación del modelo: Esta fase implica evaluar el rendimiento del modelo de AA entrenado en un conjunto de datos de prueba. Cuando el modelo ha sido evaluado y está listo para su implementación, a menudo lo guardaremos en un registro de modelos.

Registro de modelos: Un registro de modelos es una parte vital de la configuración de aprendizaje automático de una empresa. Actúa como un centro central para almacenar detalles sobre los modelos que han sido entrenados e implementados. Realiza un seguimiento no solo de los propios modelos, sino también de las métricas de rendimiento para cada modelo y otros metadatos. Esta información es fundamental para garantizar que los modelos puedan ser reproducidos y rastreados a lo largo de su ciclo de vida.

Implementación del modelo: Utilizaremos el modelo guardado (ya sea que provenga de un registro de modelos o de cualquier otra ubicación de almacenamiento) e lo integraremos en un sistema de producción donde se puede utilizar para hacer predicciones sobre nuevos datos.

Monitoreo del modelo: Las técnicas de monitoreo principales son el análisis del rendimiento y el monitoreo del cambio de datos.

El monitoreo del análisis de rendimiento implica establecer reglas para identificar si una métrica ha fallado dentro de un determinado período de tiempo, como una hora, un mes u otra cadencia. Por ejemplo, una precisión superior al 80% es una buena referencia a la que apuntar, pero también es importante monitorear otras métricas, como la precisión si se trabaja con modelos de regresión o la precisión y recuperación si se trabaja con modelos de clasificación. Además de estas verificaciones, es útil realizar un seguimiento de cualquier anomalía o patrón en los datos que puedan afectar el rendimiento del modelo con el tiempo.

Otra forma principal de monitorear el rendimiento de un modelo es examinar los datos subyacentes. Para hacer esto, debemos comparar la distribución de los datos utilizando técnicas estadísticas y otros métodos.

Todos estos componentes se completan en un paso circular, lo que significa que comenzamos desde los datos y terminamos reintroduciendo datos y pasando por el ciclo nuevamente.

Tipos de Trabajo

Los trabajos por lotes procesan datos o predicen el comportamiento del usuario en intervalos regulares, y almacenan los resultados. En el caso de las tuberías de datos, esto significa tomar datos cada 30 minutos u hora, mientras que las tuberías de aprendizaje automático a menudo realizan predicciones sin conexión o trabajos por lotes. Estos últimos predicen las preferencias del usuario mientras no están viendo programas actualmente.

Los pipelines de datos y los pipelines de ML tienen otra cosa en común y es la canalización bajo demanda.

En los pipelines de datos, esto a menudo se parece al “mecanismo de empuje” donde se crea un evento y los datos de ese evento se envían a un clúster de Kafka.

En los pipelines de machine learning, este tipo de proceso a menudo se denomina inferencia en línea. Por ejemplo, cuando un usuario hace clic en una página web que requiere hacer una nueva predicción.

Otro ejemplo es cuando terminas de ver el programa Last of Us de HBO Max y necesitas una recomendación para un nuevo programa, ya sea similar o diferente.

Solo he visto un tipo de trabajo que involucra pipelines de datos: streaming. Un pipeline de datos en streaming es un sistema que procesa y mueve datos en tiempo real de un lugar a otro. Aunque algunos pueden argumentar que esto es similar a la canalización bajo demanda, no estoy de acuerdo, ya que los datos en streaming ocurren de manera continua, mientras que la canalización bajo demanda ocurre de forma esporádica.

Los pipelines de datos tienen tres tipos de trabajos: streaming, batch y bajo demanda. En contraste, los pipelines de ML solo tienen trabajos de batch y bajo demanda (o “inferencia”).

Necesidades Computacionales

Los pipelines de datos y ML son componentes críticos de cada organización y pueden tener requerimientos computacionales similares.

Los pipelines de datos dependen del volumen de los datos entrantes, los cuales idealmente cambian infrecuentemente. Sin embargo, pueden ocurrir cambios repentinos en el volumen de datos y es importante asegurarse de que los pipelines de datos puedan ajustarse en consecuencia. De lo contrario, habrá un retraso en el procesamiento de los datos, lo cual puede afectar negativamente las operaciones de una organización.

Por otro lado, los pipelines de ML dependen tanto de la cantidad de datos como de la etapa del proceso del pipeline de ML. Las necesidades computacionales de un pipeline de ML cambian según la etapa del pipeline, ya que el entrenamiento de modelos requiere más potencia de cómputo que el procesamiento o la predicción. Por lo tanto, debemos ajustar las necesidades computacionales en consecuencia.

Ya sea que estemos utilizando pipelines de datos o de ML, es fundamental asegurarnos de que nuestros pipelines puedan manejar cambios repentinos y significativos en los requisitos de cómputo. Esto es especialmente importante para los pipelines de datos, donde cambios inesperados en el volumen de datos pueden causar acumulación de datos que afecta la capacidad de la organización para tomar decisiones informadas. Por lo tanto, es crucial asegurarse de que los pipelines de datos y ML sean escalables y puedan manejar cambios en los requisitos de cómputo. De lo contrario, estos pipelines fallarán, causando retrasos en el procesamiento de datos y resultando en una experiencia de usuario deficiente.

Pipelines Infinitos

En conclusión, tanto los pipelines de datos como los pipelines de ML son importantes para las empresas que trabajan con datos. Tienen diferentes objetivos, tipos de trabajos y necesidades computacionales. Comprender estas diferencias es importante para construir, escalar y mantener pipelines efectivos que puedan manejar cambios repentinos en los requisitos de cómputo y garantizar datos precisos, oportunos y accionables para una mejor toma de decisiones y un rendimiento mejorado.

Artículo originalmente publicado aquí por Ben Rogojan.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Una guía completa de Distributed Data Parallel (DDP)

¡Hola a todos! Soy François, científico investigador en Meta. Bienvenidos a este nuevo tutorial parte de la serie Tut...

Inteligencia Artificial

Empleado de Shopify revela despidos impulsados por IA y crisis en el servicio al cliente

En una revelación impactante en Twitter, un valiente empleado de Shopify ha roto su acuerdo de confidencialidad (NDA)...

Inteligencia Artificial

Todo lo que necesitas saber sobre la serie de modelos de lenguaje (LLMs) Qwen Large

Los modelos de lenguaje grandes (LLMs) han remodelado significativamente el panorama de la Inteligencia Artificial (I...

Inteligencia Artificial

Esta Investigación de IA presenta GAIA un referente que define el próximo hito en la competencia general de IA

“`html Investigadores de FAIR Meta, HuggingFace, AutoGPT y GenAI Meta abordan el problema de probar las capacid...

Inteligencia Artificial

Investigadores de Google DeepMind y YouTube anuncian Lyria un modelo avanzado de generación de música AI

En un anuncio reciente, DeepMind de Google, en colaboración con YouTube, presentó Lyria, un modelo de generación de m...

Inteligencia Artificial

Investigadores de Alibaba presentan la serie Qwen-Audio Un conjunto de modelos de audio-idioma a gran escala con habilidades universales de comprensión de audio.

Investigadores de Alibaba Group presentaron Qwen-Audio, que aborda el desafío de los modelos de audio pre-entrenados ...