Qué es el MLOps

¿Qué es el MLOps? Una breve introducción

eguro que lo habrás ya escuchado y te habrás preguntado ¿Qué es el MLOps? MLOps es una de las nuevas tendencias en Big Data y inteligencia artificial que está aplicando muchos de los principios del DEVops al campo del machine learning y de los algoritmos. Como llevo algún tiempo analizando este tema, he escrito una pequeña introducción de alto nível que he publicado también en mi blog/Notebook/

Cuando hablamos de MLOps. hablamos de las operaciones de aprendizaje automático o aprendizaje automatizado.

1. ¿Qué es MLOps?

MLOps es una extensión de la metodología DevOps que pretende incorporar activos de aprendizaje automático y ciencia de datos como ciudadanos de primera clase en la ecología DevOps.

  • Datos: Datos, introducción, ingesta, conservación, etc.
  • Modelo: pruebas, evaluación del modelo, embalaje y éxito del modelo.
  • Código: todo el modelo en sí, el código que se ejecuta.

2. ¿Por qué introducir MLOps?

Desde hace unos años, con la masificación de los servicios online, y la cada vez mayor ubicuidad de dispositivos de todos los tipos y todas las dimensiones, como móviles, relojes inteligentes, sensores, etc; en la actualidad, estamos inmersos en un mundo impulsado por los datos que además requiere de una cada vez mayor dinamismo, al mismo que tiempo que una mayor profundidad en el proceso de la información.

Por este motivo, la inteligencia artificial ha ido creciendo en importancia y en capacidad de generar un alto valor añadido para su utilización en procesos de negocios.

Pero, la inteligencia artificial, o mejor dicho su aplicación en la empresa también tiene sus problemas. El proceso de exploración, transformación y proceso de los datos y de los algoritmos asociados a la inteligencia artificial, tiene tiempos de implementación/operación elevados, porque requiere mucha iteración y, además una cierta complejidad a la hora de poder utilizarlos de forma efectiva.

En función de todos estos factores, podemos distinguir entre capacidades (percepción, cognición, aprendizaje) y casos de uso (visual, habla, lenguaje, lenguaje natural) que pueden utilizarse de diferentes maneras.

El MLops, nace de intentar abordar estos problemas a través de la aplicación de los principios de DEVops a la realidad de los algortimos de inteligencia artificial / Machine learning.

3.¿Qué son DEVOps y MLOps?

DEVOps es un conjunto de prácticas que tiene como objetivo acortar el ciclo de vida de desarrollo de un sistema y proporcionar una entrega continua con alta calidad de software. Comparativamente, MLOps es el proceso de automatización y producción de aplicaciones y flujos de trabajo de aprendizaje automático. Tanto DEVOps como MLOps tienen como objetivo colocar una pieza de software en un flujo de trabajo repetible y tolerante a fallos, pero en MLOps ese software también tiene un componente de aprendizaje automático. 

Por esto motivo, se puede pensar en MLOps como un subconjunto especializado de DEVOps para aplicaciones y proyectos de aprendizaje automático.

4.¿Qué es un ciclo ideal de DevOps?

DevOps es un concepto crucial en casi todos los proyectos de TI de éxito, ya que los equipos aspiran a un bucle de código-construcción-despliegue más corto.

Esto permite a los equipos la libertad de desplegar nuevas características más rápido y, por lo tanto, terminar los proyectos más rápido con un mejor producto final. Sin embargo, sin las prácticas adecuadas de DEVOps, los equipos se ven perjudicados por las tareas manuales, la incapacidad de realizar pruebas y, en última instancia, los despliegues de producción arriesgados. 

No alt text provided for this image

Para que un proyecto DEVOps tenga éxito, un ciclo DEVOps ideal estará compuesto por los siguientes cinco pilares clave:

  • Reducir los silos organizativos: Compartir la propiedad y la responsabilidad
  • Aceptar el fracaso como algo normal: Aceptar el riesgo y el desarrollo iterativo
  • Implementar cambios graduales: Avanzar rápidamente con iteraciones más pequeñas para reducir el coste del fracaso
  • Aprovechar las herramientas y la automatización: Utilizar herramientas para automatizar las tareas manuales
  • Medir todo: Definir qué es el “éxito” y cómo se medirá
Qué es el MLOps
Qué es el MLOps – Photo by Tara Winstead on Pexels.com

5. ¿Qué debo tener en cuenta a la hora de utilizar MLOps?

El éxito o el fracaso de la utilización de MLOps en una empresa no es algo sencillo dado que muchos factores pueden impactar el éxito de su implementación:

  • Calidad de los datos: hay que tener en cuenta la fuente, la calidad y la fiabilidad de los datos.
  • Degradación del modelo: La calidad del modelo se degradará con el tiempo.
  • Herramientas de Automatización: El conjunto de herramientas que podemos utilizar de forma adecuada para que se integren correctamente y soporten el ciclo de MLOps de punto a punto.

6. ¿Cómo es el proceso de MLOps?

Los puntos principales del MLOps son:

  • Diseño: Definir los requisitos, identificar las necesidades del usuario y el contenido deseado, explorar los datos, experimentar.
  • Desarrollo del modelo: elaboración de un modelo funcional listo para la producción.
  • Funcionamiento: despliegue, automatización de la formación, extracción de datos, etc.

7. ¿Cuáles son los principios de MLOps?

Cuando hablamos de MLOps hablamos de algunos principios básicos importantes para poder generar correctamente el valor añadido a la empresa como:

  • Automatización: procesos manuales, pipeline ML, pipeline CI/CD y sus fases.
  • Versionado: basado en tres pilares: Datos, modelo y código.
  • Pruebas: la base del funcionamiento de todo el sistema.
  • Seguimiento: los puntos a tener en cuenta son: Conocimiento de las dependencias invariantes, garantía de datos invariantes, sesgos en las predicciones, modelos “anticuados” que no pueden responder con suficiente rapidez, modelos numéricamente estables, degradación de los modelos.
  • Reproducibilidad: para reproducir los resultados de la ingeniería de características, la formación de modelos y la implantación de modelos, hay que tener cuidado con la recogida de datos.

8. ¿Qué herramientas podemos utilizar?

Es imposible desconectar el DEVOps del uso de herramientas que podemos utilizar para realizar las tareas y conseguir la automatización de los procesos de integración y despliegue.

#MLops #Devops #AI #machinelearning #inteligenciaartificial #aprendizajeautomatico