MLOps: El camino hacia la estandarización y simplificación del ciclo de vida de modelos Machine Learning

Andres David Blandon Restrepo
Bancolombia Tech
Published in
5 min readMar 31, 2023

Comencemos por el principio… ¿Qué es Machine learning?

Machine learning es un enfoque para aprender patrones complejos a partir de datos existentes y usarlos para hacer predicciones en datos no antes vistos. Una solución de Machine Learning puede considerarse exitosa si cumple con las siguientes características:

· Sus predicciones son explicables y es posible repetir la construcción del modelo

· Las predicciones son confiables y éticas (evitando sesgos y discriminaciones)

· El costo de una predicción incorrecta es barato, y las predicciones correctas sobrepasan las predicciones erróneas

· La solución es escalable en el tiempo, es mantenible y es fácil de adaptar a cambios en el comportamiento de los datos

Ahora, ¿qué es la práctica de MLOps?

El crecimiento exponencial del uso de modelos de ML en las organizaciones, y la necesidad de acelerar y escalar el número de modelos de Machine Learning, ha llevado al surgimiento de la práctica MLOps (Machine Learning Operations).

Esta práctica busca estandarizar y simplificar la gestión del ciclo de vida de los modelos de ML a través de la integración de procesos y tecnologías para garantizar el despliegue y el mantenimiento continuo a gran escala.

¿MLOps vs DevOps?

MLOps nació de los principios de DevOps, y, a pesar de las similitudes entre el ciclo de vida de software tradicional y el ciclo de vida de modelos de ML, MLOps tiene algunas diferencias significativas que hacen que la práctica de DevOps no sea suficiente para cubrir las particularidades en la construcción de modelos de ML.

El software tradicional requiere patrones (reglas de negocio) específicas y entradas para calcular una salida deseada; por otro lado, los modelos de ML reciben entradas y salidas para poder inferir patrones de los datos. Esta diferencia conlleva a un manejo especial, ya que con los datos usados en la construcción de un modelo de ML es posible identificar patrones que pueden traducirse en reglas de negocio y que las organizaciones puedan usar para alcanzar sus objetivos.

Fases del ciclo de vida de los modelos de Machine Learning y herramientas para su automatización

El ciclo de vida de modelos de machine learning cuenta con cuatro grandes fases de las cuales la práctica de MLOps busca automatizar y estandarizar para agilizar la construcción de modelos.

Desarrollo y experimentación de modelos de ML

Esta fase del ciclo de vida tiene como objetivo probar diferentes algoritmos con diferentes conjuntos de datos, y evaluar cuál de ellos satisface en mayor medida los objetivos de negocio.

MLOps tiene el reto de operacionalizar la fase de experimentación y desarrollo de modelos a través de pipelines de Machine Learning. Esta fase también tiene un reto en términos de reproducibilidad y versionamiento de dichos experimentos, los cuales permitan tener explicabilidad de las predicciones de los modelos que llegan a ser desplegados en producción.

La práctica de MLOps a través de “Experiment Traking System”, “Feature Stores” y “Machine Learning pipelines” busca estandarizar y automatizar la creación de experimentos.

Preparación para puesta en producción

Esta fase del ciclo de vida tiene como objetivo la administración y versionamiento de los artefactos que serán desplegados en producción, para que otros equipos puedan contribuir, refinar y reusar artefactos de manera fácil y eficiente.

MLOps tiene el reto de automatizar el correcto control de versiones de los artefactos de los modelos de ML. Esta fase además busca potenciar la agilidad en la construcción de modelos, y busca garantizar la portabilidad y el despliegue de modelos en diferentes plataformas a través del uso de tecnologías de contenerización y orquestación.

La práctica de MLOps a través de “Model Store”, “Model Registry” y “Container Registry” busca estandarizar y automatizar la administración de artefactos para la puesta en producción.

Despliegue de modelos de ML en producción

Esta fase busca automatizar a través de las prácticas de DevOps los despliegues de modelos de ML en producción.

MLOps se apoya de las técnicas de CI/CD para construcción de pipelines que permitan automatizar la construcción de los paquetes, ejecución de pruebas automatizadas y despliegues automáticos.

Esta es quizás la fase que tiene menor variabilidad con el ciclo de vida tradicional de software.

Monitoreo y retroalimentación del ciclo

Con esta fase el objetivo es monitorear los modelos de ML para garantizar su correcto funcionamiento en producción, y para detectar y solucionar problemas de manera oportuna.

En ella es necesario realizar dos tipos de monitoreo:

· Monitoreo de recursos: Corresponde al monitoreo de software tradicional cubierto en la práctica de DevOps.

· Monitoreo de las métricas de modelos: Seguimiento constante a las métricas usadas para la evaluación del rendimiento del modelo en la fase de experimentación y que permitieron pasar el modelo a producción.

Las soluciones de modelos de ML pueden fallar silenciosamente (los usuarios pueden no darse que el sistema ha fallado). Esto ocurre debido a la degradación del modelo y al cambio del comportamiento de los datos, lo que en la mayoría de los casos implica un reentrenamiento del modelo con un nuevo conjunto de datos que reflejen el comportamiento y patrones más recientes.

La práctica de MLOps a través de “Resources monitoring rules” y “Model performace monitoring rules”, busca estandarizar y automatizar el monitoreo de modelos y retroalimentar el ciclo con reentrenamientos automáticos.

Gracias por leer 🤓

--

--