MLOps u 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 un compuesto de "aprendizaje automático" y la práctica de entrega continua (CI/CD) 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, MLOps se practica 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. [1] De manera similar a los enfoques de DevOps o DataOps , MLOps busca aumentar la automatización y mejorar la calidad de los modelos de producción, al mismo tiempo que se enfoca en los requisitos comerciales y regulatorios. 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 de ML. MLOps se aplica a todo el ciclo de vida, desde la integración con la generación de modelos ( ciclo de vida del desarrollo de software , integración continua / entrega continua ), la orquestación y la implementación, hasta la salud, el diagnóstico, la gobernanza y las métricas comerciales.
MLOps es un paradigma que incluye aspectos como las mejores prácticas, conjuntos de conceptos y una cultura de desarrollo en lo que respecta a la conceptualización, implementación, monitoreo, despliegue y escalabilidad de extremo a extremo 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 al cerrar la brecha entre el desarrollo (Dev) y las operaciones (Ops). Básicamente, MLOps tiene como objetivo facilitar la creación de productos de aprendizaje automático al aprovechar estos principios: automatización de CI/CD, orquestación de flujo de trabajo, reproducibilidad; control de versiones de datos, modelos y códigos; colaboración; capacitación y evaluación continua de ML; seguimiento y registro de metadatos de ML; monitoreo continuo; y bucles de retroalimentación. [2]
Los desafíos del uso continuo del aprendizaje automático en aplicaciones se destacaron en un artículo de 2015. [3] El crecimiento previsto en el aprendizaje automático incluyó una duplicación estimada de los pilotos e implementaciones de ML de 2017 a 2018, y nuevamente de 2018 a 2020. [4] 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. [5]
Los informes muestran que la mayoría (hasta el 88 %) de las iniciativas de aprendizaje automático corporativas tienen dificultades para avanzar más allá de las etapas de prueba. [2] Sin embargo, las organizaciones que realmente pusieron el aprendizaje automático en producción vieron un aumento del margen de ganancias del 3 al 15 %. [6] El mercado de MLOps se estimó en $ 23,2 mil millones en 2019 y se proyecta que alcance los $ 126 mil millones para 2025 debido a la rápida adopción.
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 en el 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.
Hay una serie de objetivos que las empresas quieren alcanzar a través de sistemas MLOps que implementan con éxito el aprendizaje automático en toda la empresa, entre ellos: [7]
Una práctica estándar, como MLOps, tiene en cuenta cada una de las áreas mencionadas anteriormente, 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 cálculos, con la herramienta MLOps orquestando el movimiento de modelos de aprendizaje automático, datos y resultados entre los sistemas. [7]