# MLOps

MLOps o ML Ops es un paradigma que tiene como objetivo implementar y mantener modelos de aprendizaje automático en producción de manera confiable y eficiente. La palabra es una combinación de "aprendizaje automático" (en inglés machine learning) y la práctica de entrega continua de DevOps en el campo del software. Los modelos de aprendizaje automático se prueban y desarrollan en sistemas experimentales aislados. Cuando un algoritmo está listo para ser lanzado, se practican MLOps entre científicos de datos, DevOps e ingenieros de aprendizaje automático para realizar la transición del algoritmo a los sistemas de producción. De manera similar a los enfoques DevOps o DataOps, MLOps busca aumentar la automatización y mejorar la calidad de los modelos de producción, al mismo tiempo que se centra en los requisitos regulatorios y comerciales.
Si bien MLOps comenzó como un conjunto de mejores prácticas, está evolucionando lentamente hacia un enfoque independiente para la gestión del ciclo de vida del ML. MLOps se aplica a todo el ciclo de vida, desde la integración con la generación de modelos (ciclo de vida de desarrollo de software, integración continua / entrega continua), la orquestación y la implementación, hasta el estado, el diagnóstico, la gobernanza y las métricas comerciales. Según Gartner, MLOps es un subconjunto de ModelOps. MLOps se centra en la operacionalización de modelos ML, mientras que ModelOps cubre la operacionalización de todo tipo de modelos de IA.

## Definición

MLOps es un paradigma, que incluye aspectos como mejores prácticas, conjuntos de conceptos, así como una cultura de desarrollo cuando se trata de la conceptualización, implementación, monitoreo, despliegue y escalabilidad de un extremo a otro de productos de aprendizaje automático. Sobre todo, es una práctica de ingeniería que aprovecha tres disciplinas contribuyentes: aprendizaje automático, ingeniería de software (especialmente DevOps) e ingeniería de datos. MLOps tiene como objetivo producir sistemas de aprendizaje automático cerrando la brecha entre el desarrollo (Dev) y las operaciones (Ops). Esencialmente, MLOps tiene como objetivo facilitar la creación de productos de aprendizaje automático aprovechando estos principios: automatización CI/CD, orquestación del flujo de trabajo, reproducibilidad; control de versiones de datos, modelo y código; colaboración; capacitación y evaluación continua de ML; Seguimiento y registro de metadatos de ML; monitoreo continuo; y circuitos de retroalimentación.

## Historia

Los desafíos del uso continuo del aprendizaje automático en aplicaciones se destacaron en un artículo de 2015. El crecimiento previsto en el aprendizaje automático incluyó una duplicación estimada de las implementaciones y pilotos de ML de 2017 a 2018, y nuevamente de 2018 a 2020. MLOps rápidamente comenzó a ganar terreno entre los expertos en IA/ML, las empresas y los periodistas de tecnología como una solución que puede abordar la complejidad y el crecimiento del aprendizaje automático en las empresas.
Los informes muestran que la mayoría (hasta el 88%) de las iniciativas corporativas de aprendizaje automático tienen dificultades para superar las etapas de prueba. Sin embargo, aquellas organizaciones que realmente pusieron el aprendizaje automático en producción obtuvieron aumentos en el margen de ganancias del 3-15%. El mercado de MLOps se estimó en 23.200 millones de dólares en 2019 y se prevé que alcance los 126.000 millones de dólares en 2025 debido a su rápida adopción.

## Arquitectura

Los sistemas de aprendizaje automático se pueden clasificar en ocho categorías diferentes: recopilación de datos, procesamiento de datos, ingeniería de características, etiquetado de datos, diseño de modelos, entrenamiento y optimización de modelos, implementación de puntos finales y monitoreo de puntos finales. Cada paso del ciclo de vida del aprendizaje automático se construye en su propio sistema, pero requiere interconexión. Estos son los sistemas mínimos que las empresas necesitan para escalar el aprendizaje automático dentro de su organización.

## Objetivos

Hay una serie de objetivos que las empresas desean lograr a través de sistemas MLOps que implementan con éxito ML en toda la empresa, que incluyen:
* Implementación y automatización
* Reproducibilidad de modelos y predicciones
* Diagnóstico
* Gobernanza y cumplimiento normativo
* Escalabilidad
* Colaboración
* Usos comerciales
* Seguimiento y gestión
* Confiabilidad
Una práctica estándar, como MLOps, tiene en cuenta cada una de las áreas antes mencionadas, lo que puede ayudar a las empresas a optimizar los flujos de trabajo y evitar problemas durante la implementación.
Una arquitectura común de un sistema MLOps incluiría plataformas de ciencia de datos donde se construyen modelos y motores analíticos donde se realizan los cálculos, con la herramienta MLOps orquestando el movimiento de modelos, datos y resultados de aprendizaje automático entre los sistemas.