MLOps (Machine Learning Operations)

MLOps (Machine Learning Operations)
A medida que los modelos de aprendizaje automático (ML) se integran cada vez más en los procesos empresariales cotidianos, las organizaciones se enfrentan a varios retos para mantener sus modelos precisos y relevantes en entornos del mundo real. Uno de los principales problemas es la deriva de datos, cuando los datos en los que se basan los modelos cambian con el tiempo, lo que hace que pierdan precisión. Esto obliga a supervisar continuamente, reentrenar y volver a desplegar los modelos para garantizar que sus predicciones sigan siendo válidas.
La gestión de estos modelos puede ser propensa a errores, lenta y costosa si no se cuenta con los sistemas adecuados. MLOps (Machine Learning Operations) resuelve este problema automatizando y agilizando todo el proceso.
Entendamos cómo MLOps simplifica y automatiza el ciclo de vida del aprendizaje automático de principio a fin, desde la preparación de datos hasta el despliegue de modelos y la [supervisión](https://zilliz.com/glossary/application-performance-monitoring-(apm)).
¿Qué es MLOps?
Machine Learning Operations (MLOps) combina el aprendizaje automático, DevOps y la ingeniería de datos para agilizar el ciclo de vida del aprendizaje automático. El objetivo de MLOps es desplegar y mantener de forma fiable modelos de aprendizaje automático a escala en entornos de producción, desde la recopilación de datos y el desarrollo de modelos hasta su despliegue, supervisión y reentrenamiento.
Al igual que DevOps aportó prácticas de automatización e integración al desarrollo de software, MLOps hace lo mismo con el aprendizaje automático. Aplica los principios de integración continua (CI) y despliegue continuo (CD), lo que permite a los equipos iterar sobre los modelos con mayor rapidez a la vez que garantizan una supervisión y un rendimiento sólidos en entornos de producción.
Cómo funciona MLOps
El proceso de MLOps incluye varias etapas que funcionan conjuntamente para agilizar todo el ciclo de vida del aprendizaje automático. Estas son:
Desarrollo de modelos
Servicio de modelos
Supervisión de modelos
Mantenimiento de modelos
- Gestión de datos
Automatización
Figura- Múltiples etapas en el flujo de trabajo MLOps.png](https://assets.zilliz.com/Figure_Multiple_stages_in_ML_Ops_workflow_068ffb36c4.png)
Figura: Múltiples etapas en el flujo de trabajo MLOps
Desarrollo del modelo
El primer paso en MLOps es el desarrollo del modelo que es la base de cualquier proyecto de aprendizaje automático, que incluye varios sub-pasos importantes:
Preparación de los datos: Los datos deben limpiarse y organizarse antes de entrenar un modelo. Esto incluye eliminar la información irrelevante, rellenar los valores que faltan, normalizar los datos y transformarlos en un formato adecuado para un modelo de ML.
Ingeniería de características:** La ingeniería de características crea nuevas características informativas o transforma las existentes para hacerlas más útiles para el modelo. Por ejemplo, los científicos de datos pueden crear nuevas características como "velocidad del viento al cuadrado" o "gradientes de temperatura" en un modelo de predicción meteorológica para mejorar la precisión de la predicción.
Entrenamiento de modelos:** Tras preparar los datos, se entrenan los modelos de ML. Los científicos de datos entrenan varios modelos con algoritmos e hiperparámetros para encontrar el más eficaz.
Una vez que se ha entrenado un modelo, se prueba en un conjunto de datos independiente para garantizar que puede realizar predicciones precisas en datos nuevos y desconocidos. También se utilizan varias métricas de evaluación para valorar el rendimiento del modelo ML entrenado.
Modelo Serving
Una vez desarrollado un modelo, es necesario desplegarlo en un entorno de producción para que pueda realizar predicciones en tiempo real:
Despliegue: Esto incluye poner el modelo a disposición de usuarios o aplicaciones. El modelo se despliega a menudo a través de una API para interactuar con otros sistemas. Las soluciones de despliegue como Kubernetes y Docker ayudan a gestionar este proceso garantizando que los modelos sean escalables y fáciles de mantener.
Containerización: Los modelos se aíslan en contenedores (como Docker) para garantizar la coherencia. Los contenedores incluyen todos los componentes necesarios-código, dependencias y configuraciones-para que el modelo se ejecute de forma consistente en diferentes entornos.
Monitorización de modelos
Tras la implantación, es necesario supervisar continuamente el rendimiento del modelo para garantizar que sigue siendo preciso y pertinente:
Seguimiento del rendimiento: Los sistemas de seguimiento controlan el rendimiento del modelo. Por ejemplo, si un modelo empieza a hacer predicciones inexactas, esto podría indicar que los datos con los que está trabajando han cambiado con el tiempo (deriva de datos).
Registro:** Todas las actividades del modelo se registran para mantener un registro de entradas, salidas y errores. Esto ayuda a solucionar problemas y a identificar patrones en el uso del modelo.
Mantenimiento del modelo
Los modelos de aprendizaje automático necesitan un mantenimiento regular para que sigan funcionando bien:
Actualización y reentrenamiento: MLOps facilita la actualización y el reentrenamiento de los modelos a medida que se dispone de nuevos datos o cuando el rendimiento disminuye. El reentrenamiento regular garantiza que los modelos se mantengan actualizados y precisos, adaptándose a los patrones de datos cambiantes. MLOps automatiza este proceso, haciéndolo eficiente y menos propenso a errores.
Versiones:** Para realizar un seguimiento de las diferentes versiones de los modelos, MLOps utiliza sistemas de versiones como GitHub, MLflow y DVC. Estos sistemas registran cada versión de un modelo, junto con los datos y el código utilizados para crearlo.
Gestión de datos
Los datos son la columna vertebral de cualquier sistema de aprendizaje automático, y gestionarlos eficazmente es una parte clave de MLOps:
Ingesta y almacenamiento de datos: MLOps gestiona el flujo de datos de varias fuentes en la tubería ML y almacena los datos en almacenamiento en la nube escalable como Zilliz Cloud y Milvus.
Gobernanza de datos](https://zilliz.com/learn/safeguarding-data-security-and-privacy-in-vector-database-systems):** MLOps garantiza la calidad de los datos, la seguridad y el cumplimiento de la normativa. También garantiza que sólo las personas autorizadas puedan acceder a los datos y que se cumplan las leyes de privacidad.
Automatización
Uno de los principales objetivos de MLOps es automatizar las tareas repetitivas, lo que facilita la gestión de los modelos de aprendizaje automático a lo largo del tiempo:
Orquestación del flujo de trabajo:** Las herramientas de automatización pueden gestionar muchos pasos del proceso de ML, desde el procesamiento de datos hasta la formación y el despliegue del modelo. Esto reduce la necesidad de interferencias manuales y ayuda a mantener la coherencia al crear y desplegar modelos.
Integración continua/despliegue continuo (CI/CD):** Los canales CI/CD ayudan a los equipos a crear, probar y desplegar modelos de forma continua con un enfoque racionalizado y automatizado. Con CI/CD, los modelos pueden actualizarse, probarse y ponerse en producción rápidamente y con un retraso mínimo.
Comparación: MLOps vs. DevOps vs. LLMOps
MLOps, DevOps y LLMOps parecen términos similares; cada práctica se centra en mejorar los flujos de trabajo de desarrollo, pero abordan retos diferentes y ofrecen soluciones únicas dentro del campo del desarrollo de software y la IA.
| Aspect | DevOps | MLOps | LLMOps | |
| Definición | Conjunto de prácticas para automatizar el desarrollo de software y las operaciones de TI. | Amplía los principios de DevOps para automatizar el ciclo de vida de los modelos de ML. | Se centra en la gestión del ciclo de vida de [grandes modelos lingüísticos](https://zilliz.com/glossary/large-language-models-(llms)) (LLMs). | |
| Enfoque | Automatización de canalizaciones de entrega de software (CI/CD), mejora de la colaboración y acortamiento del ciclo de vida de desarrollo. | Automatizar los flujos de trabajo de ML desde la preparación de datos hasta el despliegue y la supervisión de modelos. | Optimizar el despliegue, el ajuste y la gestión de LLM en producción. | |
| Herramientas principales - GitLab para CI/CD - Grafana (https://zilliz.com/blog/monitoring-in-milvus-with-grafana-and-loki) para monitorización - Docker y Kubernetes para orquestación de contenedores. | - Kubeflow y Apache Airflow se utilizan para la automatización del flujo de trabajo.- Scikit-learn y TensorFlow para el entrenamiento de modelos. | Herramientas de inferencia a gran escala (Ray Serve, ONNX). | ||
| Casos de uso | - Despliegue rápido de actualizaciones de software. | Gestión de sistemas distribuidos. | Monitorización continua del rendimiento del modelo en producción. | Despliegue de grandes modelos lingüísticos para tareas de NLP. Ajuste fino de modelos para dominios especializados. |
Métricas MLOps
En MLOps, las métricas son clave para medir el rendimiento del modelo y todo el proceso de ML. Los KPI de MLOps van más allá de las métricas tradicionales de los modelos ML y abarcan todo el ciclo de vida. La exactitud del modelo, la precisión, la recuperación y la puntuación F1 siguen siendo fundamentales, pero MLOps introduce otras nuevas. La frecuencia de despliegue mide la frecuencia con la que se despliegan nuevos modelos o actualizaciones en producción y la agilidad del proceso de ML. El tiempo medio de recuperación (MTTR) mide la rapidez con la que se identifican y resuelven los problemas en los modelos de producción. Las métricas de utilización de recursos miden la eficiencia computacional, importante para la gestión de costes en la nube. Las métricas de deriva de datos y modelos miden el rendimiento de los modelos a lo largo del tiempo a medida que cambian los datos de entrada. La latencia y el rendimiento de la inferencia son fundamentales para las aplicaciones en tiempo real, ya que miden el tiempo de respuesta y la capacidad de procesamiento. Las métricas de pruebas A/B comparan el rendimiento de los nuevos modelos con el de los existentes en producción. El nivel de automatización de la canalización mide el nivel de intervención humana necesaria; un nivel más alto es mejor para MLOps más maduros. Por último, las métricas de versionado y reproducibilidad de modelos garantizan que los experimentos y los despliegues se puedan rastrear y replicar. Estas métricas le ofrecen una visión completa de los MLOps para que pueda mejorar continuamente sus procesos y resultados de ML.
Ventajas y retos de MLOps
Si bien MLOps ofrece numerosas ventajas que mejoran la eficiencia y la eficacia de las operaciones de aprendizaje automático, también presenta varios desafíos que las organizaciones deben sortear. Comprender las ventajas y los retos es crucial para implantar con éxito las prácticas MLOps y lograr resultados óptimos.
Ventajas de MLOps
Tuberías automatizadas:** Reduce las intervenciones manuales, lo que permite a los científicos e ingenieros de datos centrarse en las tareas principales.
Tiempo de comercialización más rápido:** Los flujos de trabajo optimizados y la automatización permiten iteraciones de modelos y ciclos de lanzamiento más rápidos.
Rendimiento mejorado:** Los ciclos continuos de supervisión y reentrenamiento crean modelos sólidos que funcionan bien en escenarios dinámicos del mundo real.
Escalabilidad:** Los marcos de MLOps permiten el despliegue y la gestión de miles de modelos en diferentes entornos.
Mejora continua:** Los modelos se supervisan y reeducan continuamente. Esta práctica garantiza que se adapten a los nuevos datos y a las condiciones cambiantes y que mantengan un alto rendimiento.
Desafíos de MLOps
Complejidad: La implantación de MLOps requiere la creación de infraestructuras y flujos de trabajo complejos, que consumen muchos recursos.
Integración de herramientas:** Integrar diferentes herramientas para la gestión de datos, la formación de modelos, el despliegue y la supervisión es todo un reto.
Versionado de modelos y reproducibilidad:** Puede ser difícil hacer un seguimiento y gestionar todas las diferentes versiones de los modelos de aprendizaje automático y las dependencias y configuraciones que los acompañan. Otro problema que puede surgir es la reproducción y validación de resultados en varios entornos.
Coste:** Aunque los MLOps pueden mejorar la eficiencia y la escalabilidad a largo plazo, el coste inicial de establecer un marco de MLOps puede ser elevado. Las organizaciones necesitan invertir en las herramientas, la infraestructura y el talento adecuados para garantizar el éxito de sus iniciativas de MLOps.
Colaboración:** MLOps introduce procesos y herramientas comunes, fomentando la colaboración efectiva entre ingenieros de datos, científicos, desarrolladores e ingenieros de TI, que sigue siendo un reto importante.
Herramientas y tecnologías en MLOps
MLOps depende de varias herramientas y tecnologías para gestionar el ciclo de vida del aprendizaje automático. A continuación se muestran algunas de las herramientas de MLOps más utilizadas:
MLflow: Una plataforma de código abierto para gestionar el ciclo de vida completo del aprendizaje automático, incluido el seguimiento de experimentos, el versionado de modelos y el despliegue.
DVC (Data Version Control): Un sistema de control de versiones de código abierto para la gestión de datos, la automatización de canalizaciones de ML y la gestión de experimentos.
Kubeflow:** Una plataforma basada en Kubernetes para desplegar, escalar y gestionar modelos de aprendizaje automático en entornos de producción.
Apache Airflow:** Una herramienta de automatización de flujos de trabajo que ayuda a gestionar canalizaciones de datos y programar tareas para la ingestión de datos y la formación de modelos.
TensorFlow Extended (TFX):** Una plataforma integral para desplegar cadenas de aprendizaje automático de producción utilizando TensorFlow. TFX proporciona herramientas para la validación de datos, el servicio de modelos y la formación continua.
Bases de datos vectoriales](https://zilliz.com/learn/what-is-vector-database) (Milvus,** Zilliz Cloud): En muchos escenarios de MLOps, tratar con datos no estructurados como imágenes, texto o audio es crucial. Aquí es donde las bases de datos vectoriales pueden ser útiles. Están especializadas en almacenar y consultar incrustaciones vectoriales y representaciones numéricas de dichos datos. Milvus es una base de datos vectorial de código abierto que destaca en el manejo de conjuntos de datos a gran escala y consultas complejas.
Tendencias MLOps
El panorama de MLOps está cambiando rápidamente y están surgiendo algunas tendencias interesantes. AutoML (Automated Machine Learning) está despegando, automatizando la ingeniería de características y el ajuste de hiperparámetros. El Edge ML es cada vez más importante; los modelos pueden ejecutarse en dispositivos periféricos, lo que reduce la latencia y aumenta la privacidad. El aprendizaje federado está emergiendo para entrenar modelos a través de dispositivos descentralizados, manteniendo la privacidad de los datos. Las herramientas XAI (Explainable AI) se están incorporando a los procesos de MLOps para responder a la creciente necesidad de interpretabilidad y transparencia de los modelos. Cada vez se presta más atención a las herramientas de supervisión específicas de ML que pueden detectar la degradación sutil de los modelos y la desviación de los datos en tiempo real. Se están añadiendo LLM (Large Language Models) a los flujos de trabajo de MLOps para realizar tareas de PLN más avanzadas. A medida que aumenta la preocupación por la sostenibilidad, surgen MLOps ecológicos para optimizar el uso de recursos y reducir la huella de carbono del ML. Estas tendencias apuntan a un futuro en el que los MLOps serán más automatizados, eficientes, interpretables y ecológicos.
Preguntas frecuentes sobre MLOps
- ¿Para qué se utilizan los MLOps?
Las operaciones de aprendizaje automático (MLOps) son un conjunto de prácticas diseñadas para agilizar y automatizar los flujos de trabajo y los procesos de despliegue de los modelos de aprendizaje automático (ML). Mediante la incorporación del aprendizaje automático y la inteligencia artificial (IA), las empresas pueden abordar retos complejos del mundo real y crear soluciones valiosas para los clientes.
- ¿Qué es MLOps frente a DevOps?
MLOps es una práctica de ciencia de datos centrada en probar y desplegar rápidamente modelos de aprendizaje automático. DevOps, sin embargo, integra el desarrollo y las operaciones de TI para mejorar la eficiencia, la fiabilidad y la seguridad del desarrollo de software.
- ¿Cuál es la diferencia entre MLOps y AIOPs?
AIOps permite a los equipos de operaciones de TI y de ciencia de datos implementar la gestión predictiva de alertas, mejorar la seguridad de los datos y respaldar los flujos de trabajo de DevOps. Las soluciones MLOps ayudan a las empresas a acelerar el despliegue de modelos de aprendizaje automático, mejorar la colaboración entre la ciencia de datos y los equipos de operaciones, y escalar los esfuerzos de IA en toda la organización.
- ¿Hay demanda de MLOps?
A medida que las empresas adoptan soluciones basadas en datos, la demanda de profesionales de MLOps para desplegar y gestionar eficientemente los modelos de aprendizaje automático está creciendo rápidamente.
- **5. ¿Qué lenguaje es mejor para MLOps?
Python es actualmente la mejor opción para el aprendizaje automático y MLOps. Su popularidad se debe a la amplia gama de herramientas y bibliotecas disponibles para el aprendizaje automático, como NumPy, TensorFlow, Keras y PyTorch. Estas bibliotecas facilitan la creación de modelos de aprendizaje automático y la gestión de tareas de ingeniería de datos, simplificando todo el proceso de MLOps de los proyectos de aprendizaje automático.
Recursos relacionados
Introducción a Zilliz Cloud](https://zilliz.com/cloud)
Documentación de Milvus - Documentación oficial de Milvus](https://milvus.io/docs/quickstart.md)
MLOps: Mejores prácticas - Una guía detallada sobre las mejores prácticas de MLOps](https://zilliz.com/blog/get-started-with-llmops-build-better-ai-applications)
Grandes modelos lingüísticos y búsqueda](https://zilliz.com/learn/large-language-models-and-search)
Getting Started with LLMOps: Building Better AI Applications](https://zilliz.com/blog/get-started-with-llmops-build-better-ai-applications)
LLM-Eval: Un enfoque simplificado para evaluar conversaciones LLM](https://zilliz.com/learn/streamlined-approach-to-evaluating-llm-conversations)
- ¿Qué es MLOps?
- Cómo funciona MLOps
- Comparación: MLOps vs. DevOps vs. LLMOps
- Métricas MLOps
- Ventajas y retos de MLOps
- Herramientas y tecnologías en MLOps
- Tendencias MLOps
- Preguntas frecuentes sobre MLOps
- Recursos relacionados
Contenido
Comienza Gratis, Escala Fácilmente
Prueba la base de datos vectorial completamente gestionada construida para tus aplicaciones GenAI.
Prueba Zilliz Cloud Gratis