Sobre MíQué hagoProyectosLabContacto

MLOps · Despliegue de modelos · Madrid

MLOps, aprendido construyendo

Estudio machine learning en Madrid y la parte que más me ha costado aprender es la que va después del notebook: servir el modelo en una API, contenerizarlo, versionarlo y vigilar el drift. Esta página resume cómo lo hago en mis proyectos, con el código público para quien quiera comprobarlo.

MLOps, aprendido construyendo

El mismo pipeline que entrena es el que sirve

El preprocesado vive dentro del pipeline de scikit-learn, así que lo que ocurre en entrenamiento ocurre exactamente igual en inferencia. No hay dos versiones del mismo código que puedan desincronizarse. Me lo enseñó un bug: un one-hot distinto en serving que tardé días en encontrar.

Registro de versiones y reproducibilidad

Cada modelo entrenado se registra con sus métricas de validación, los hiperparámetros y el hash de los datos. Puedo volver a cualquier versión anterior y saber exactamente con qué se entrenó. El puntero a la versión activa vive en el registro, no en el código.

Monitorización de drift antes de que se note fuera

Un perfil de referencia de los datos de entrenamiento y métricas de Population Stability Index sobre el tráfico real. Cuando los datos cambian, el sistema lo detecta y lo expone en Grafana antes de que el modelo empiece a fallar de forma silenciosa.

Infraestructura reproducible con Docker

Imagen multi-etapa: builder instala dependencias, runtime solo copia el entorno virtual y corre con usuario no root. El mismo contenedor que pasa los tests es el que se despliega. Sin sorpresas de entorno.

¿Quieres ver cómo lo hago, o contarme algo?

El código está en GitHub y las decisiones en los READMEs. Si tienes feedback, una duda o una oportunidad para alguien que aprende rápido, escríbeme.

Escríbeme

FAQ

  • ¿Qué es MLOps y por qué lo estudio?

    MLOps son las prácticas de ingeniería que permiten llevar modelos de ML a producción y mantenerlos: versionado, CI/CD, monitorización, reentrenamiento. Sin eso, los modelos mueren en notebooks o se degradan sin que nadie lo sepa. Lo estudio porque es la diferencia entre saber entrenar un modelo y saber construir un sistema.

  • ¿Qué stack uso para MLOps?

    FastAPI para la API de inferencia (validación de entrada con Pydantic, endpoints síncronos y por lotes), Docker multi-etapa, Prometheus para métricas, Grafana para visualización y PSI para drift. CI con GitHub Actions. Para el registro de versiones, una solución ligera basada en archivos que no necesita infraestructura adicional.

  • ¿Dónde puedo ver todo esto funcionando?

    En credit-risk-platform, en mi GitHub (github.com/delcenjo): una plataforma MLOps de punta a punta con entrenamiento reproducible, API de inferencia, drift por PSI y dashboards de Grafana. También publico herramientas open-source relacionadas, como servectl para el serving, en github.com/jmweb-org.

  • ¿Qué pasa cuando los datos nuevos cambian?

    El sistema detecta el drift por PSI y lo expone en Grafana, antes de que el modelo empiece a dar resultados malos en silencio. El reentrenamiento se puede automatizar o mantener manual; en mis proyectos lo dejo manual para poder revisar qué cambió y por qué.

  • ¿Puedo preguntarte sobre esto o proponerte algo?

    Claro. Si estás aprendiendo lo mismo, si tienes feedback sobre cómo lo hago, o si buscas a alguien junior con estas ganas para tu equipo, escríbeme por el formulario de contacto. Respondo siempre.

hola@jmwebsoluciones.com