
Hace una semana se celebró Codemotion Madrid 2025, los días 20 y 21 de mayo en el espacio MEEU Madrid (Estación de Chamartín). Fue un evento fantástico, repleto de las últimas innovaciones tecnológicas.
Una de las charlas más destacadas fue Building End-to-End ML Workflows in Python: From Data to Production, en la que se mostró cómo implementar un flujo de trabajo completo de Machine Learning con Python, desde la ingesta y preparación de datos hasta el despliegue en producción.
La sesión, impartida en inglés por Grace Adamson, AI Senior Product Marketing Manager en Snowflake, tuvo lugar el miércoles 21 a las 11:45 en el Plató 2.
Contexto de la charla
El machine learning no se trata solo de construir un modelo, sino de crear un pipeline fiable y escalable desde los datos sin procesar hasta la inferencia en tiempo real. Cuando hablamos de un flujo de trabajo de Machine Learning hacemos referencia al workflow y procesos que permiten diseñar, construir y desplegar un modelo de ML.
El objetivo de cualquier pipeline de ML es automatizar estos procesos para crear modelos sólidos, escalables y listos para pasar a producción. Sin embargo, alcanzar esta meta no es tan sencillo.
De hecho, y según un estudio de Datarobot, el 55 % de las empresas interesadas en implementar un modelo de ML acaban por desechar la idea debido a la gran complejidad que supone administrar los flujos de trabajo de datos y los procesos de implementación asociados.
El diseño y puesta en marcha de un pipeline de ML consta de varias etapas que implican diferentes roles y tecnologías: desde la ingesta y limpieza de datos, pasando por el entrenamiento y optimización de modelos, hasta el despliegue y monitorización en producción.
Cada una de estas fases requiere un buen conjunto de habilidades y herramientas, lo que hace que la gestión del pipeline completo sea un gran desafío para muchas organizaciones. Sin embargo, esto es necesario si queremos que nuestro pipeline sea:
- Reproducible: poder replicar todos los pasos del proceso de forma consistente, garantizando que los resultados sean los mismos cada vez que se ejecute el pipeline.
- Escalable: debe ser capaz de manejar grandes volúmenes de datos y adaptarse a las necesidades cambiantes del negocio sin comprometer el rendimiento.
- Mantenible: fácil de actualizar, monitorizar y depurar cuando sea necesario, con un código limpio y bien documentado.
- Simple: mantener el flujo de trabajo lo más sencillo posible, evitando complejidades innecesarias y facilitando su comprensión por parte de todo el equipo.
- Rápido de implementar: poder desplegar modelos y pipelines rápidamente en producción, minimizando el tiempo entre el desarrollo y la implementación real.
- Innovador: poder incorporar las últimas tecnologías y mejores prácticas en ML, manteniéndose al día con las nuevas herramientas y metodologías.
- Reutilizable: poder aprovechar componentes y patrones probados en diferentes proyectos de ML, reduciendo el tiempo de desarrollo y mejorando la consistencia entre diferentes implementaciones.
Etapas de implementación de un Pipeline y por qué hacerlo con Python
Python ha demostrado ser uno de los mejores lenguajes para el desarrollo de pipelines de ML. Y lo es por varias razones: su extensa biblioteca de paquetes especializados, su simplicidad sintáctica, su capacidad para manejar todo el ciclo de vida del desarrollo de ML, integración sencilla con otras plataformas, etc.
Su ecosistema rico en frameworks como TensorFlow, PyTorch y scikit-learn lo convierten en la elección natural para implementar flujos de trabajo de ML completos y escalables.
Python ofrece grandes ventajas a la hora de construir pipelines de ML, como su capacidad para manejar procesamiento paralelo, su integración perfecta con herramientas de orquestación como Apache Airflow o Kubeflow o su amplia gama de bibliotecas para automatización y monitorización. Estas características, junto con su naturaleza interpretada y dinámica, permiten una iteración rápida durante las diferentes etapas:
- Ingesta y preparación de datos: recopilación, limpieza y transformación de datos brutos en un formato adecuado para el entrenamiento.
- Selección del modelo: es necesario elegir el algoritmo más adecuado para nuestros objetivos, teniendo en cuenta factores como el tipo de datos, la complejidad del problema y los requisitos de rendimiento.
- Entrenamiento y validación: proceso iterativo de construcción y refinamiento del modelo, incluyendo la selección de características y optimización de hiperparámetros.
- Evaluación y pruebas: validación del rendimiento del modelo contra métricas predefinidas y donde se realizan pruebas exhaustivas.
- Despliegue y monitorización: etapa final donde el modelo se implementa en producción y se establece un sistema de seguimiento y mejora continua.
La charla: Building End-to-End ML Workflows in Python: From Data to Production
En la charla “Building End-to-End ML Workflows in Python: From Data to Production”, Grace Adamson nos enseñó como crear un flujo de trabajo de ML completo en Python, diseñado especialmente para desarrolladores, científicos de datos e ingenieros de ML que quieren avanzar rápidamente y construir sistemas listos para pasar a producción. Y todo ello sin necesidad de reinventar la rueda. Nuestros asistentes aprendieron cómo:
- Preparar datos y diseñar características utilizando patrones consistentes y reutilizables para evitar la duplicación y la deriva entre el entrenamiento y la inferencia.
- Entrenar y ajustar modelos con bibliotecas populares de código abierto como scikit-learn, XGBoost y LightGBM, en CPU o GPU.
- Empaquetar y desplegar modelos para inferencia en tiempo real o por lotes con una sobrecarga operativa mínima.
- Realizar seguimiento de experimentos, monitorizar el rendimiento y depurar problemas con observabilidad integrada, seguimiento de linaje y explicabilidad del modelo.
Se mostró cómo todo esto puede realizarse dentro de un flujo de trabajo unificado usando Python, con la ayuda de entornos de ejecución containerizados y herramientas integradas de versionado, orquestación y despliegue. El objetivo: centrarnos en resolver problemas y no en gestionar la infraestructura.
Esta fue una sesión práctica y hands-on para desarrolladores que quieren pasar del notebook a producción sin soluciones improvisadas. Al finalizar, los asistentes se llevaron a casa un marco práctico para construir sistemas de ML resilientes y escalables.
La ponente: impartida en inglés por Grace Adamson, AI Senior Product Marketing Manager en Snowflake
Líder de marketing de productos técnicos centrado en la IA, con pasión por traducir capacidades complejas en un valor convincente para el cliente.
En Snowflake, dirige la estrategia de salida al mercado de la cartera de productos de IA, colaborando con los equipos de ingeniería, ventas y marketing para posicionar soluciones técnicas que resuelvan retos empresariales a todo el mundo, desde ejecutivos de alto nivel a analistas de datos.
Anteriormente, ha pasado más de una década como propietario de producto en SaaS, start ups y scale ups en la construcción, la salud y los servicios financieros y tengo un MBA de la London Business School. Su experiencia abarca todo el ciclo de vida del producto, desde las hojas de ruta estratégicas de alto nivel hasta la gestión diaria de equipos de entrega multidisciplinares.
También apoya el programa Data for Good de Snowflake y le apasiona utilizar la tecnología para resolver los retos del mundo. Cuando no esta evangelizando sobre la IA, le gusta disfrutar del arte experimental, hacer senderismo por la montaña y asistir a conferencias sobre física cuántica.