En este artículo, analizaremos en profundidad MLOps (Machine Learning Operations) y su relación con DevOps (Development Operations). Exploraremos la motivación detrás de MLOps, los desafíos que comparte con DevOps y los obstáculos únicos que enfrenta. Además, examinaremos los componentes clave que componen un marco MLOps. ¡Sumerjámonos y descubramos juntos el mundo de MLOps!
En este artículo cubriremos:
- Los factores impulsores de MLOps
- Los problemas de superposición entre MLOps y DevOps
- Los desafíos únicos de MLOps en comparación con DevOps
- Las partes integrales de una estructura MLOps
Optimización gratuita de costos en la nube y gestión mejorada de recursos de ML/AI para toda la vida
Los factores impulsores de MLOps
En el proceso de implementación de modelos de aprendizaje automático (ML) en entornos empresariales del mundo real, el trabajo que realizan los científicos de datos es solo una pequeña parte del panorama general. Para que los modelos de ML se implementen de manera eficaz, los científicos de datos deben colaborar estrechamente con varios equipos, incluidos los de negocios, ingeniería y operaciones. Sin embargo, esta colaboración puede plantear desafíos organizacionales, específicamente en lo que respecta a la comunicación, la colaboración y la coordinación.
Para abordar estos desafíos, ha surgido una disciplina denominada MLOps (Machine Learning Operations). MLOps tiene como objetivo optimizar el proceso de implementación mediante la implementación de prácticas comprobadas. De esta manera, las organizaciones pueden superar los obstáculos que se presentan cuando diferentes equipos deben trabajar juntos. Además, MLOps aporta agilidad y velocidad, factores cruciales en el acelerado panorama digital actual.
El código de ML real representa solo una pequeña parte de todo el sistema en los sistemas de ML del mundo real. Es como una pequeña caja en medio de una infraestructura mucho más grande y compleja necesaria para respaldarlo.
Los problemas de superposición entre MLOps y DevOps
Los desafíos que presenta la puesta en funcionamiento de los modelos de ML comparten muchas similitudes con la producción de software, donde DevOps ha demostrado su eficacia. Por lo tanto, es aconsejable que los científicos de datos adopten las mejores prácticas de DevOps para abordar los desafíos comunes que se enfrentan en la producción de software. Uno de esos métodos es adoptar la metodología ágil promovida por DevOps, que ofrece importantes ventajas de eficiencia en comparación con la metodología tradicional en cascada. Este enfoque promueve el desarrollo iterativo y colaborativo, lo que permite un progreso más rápido y adaptable.
Además de la metodología ágil, existen diversas Las prácticas de DevOps benefician a MLOpsEstas prácticas se describen en la Tabla 1, que proporciona una lista completa de técnicas para agilizar la puesta en funcionamiento de los modelos de aprendizaje automático.
Desafíos en la operacionalización de modelos ML | Solución impulsada por DevOps |
---|---|
Integración y entrega continuas (CI/CD): la implementación de una secuencia de CI/CD permite la integración segura y sin inconvenientes de las actualizaciones en la producción. Esto garantiza que los modelos de ML se creen, se prueben y estén listos para la implementación de manera precisa y eficiente. | La implementación de un marco de CI/CD nos permite crear, probar e implementar software sin inconvenientes. Este enfoque aporta muchos beneficios, como garantizar la reproducibilidad, reforzar las medidas de seguridad y controlar estrictamente las versiones de código. |
El proceso de implementar modelos y algoritmos desarrollados por científicos de datos en la producción suele ser largo. Una de las principales razones es la falta de coordinación y transferencia adecuada entre los equipos de ciencia de datos y operaciones. Cuando no hay una comunicación y colaboración efectivas entre estas dos partes, pueden producirse demoras y errores durante la fase de implementación. Estas demoras y errores pueden causar frustración y consumir tiempo y recursos valiosos. | La metodología ágil viene al rescate cuando se coordinan proyectos complejos. Lo hace dividiéndolos en sprints manejables. Durante cada sprint, los desarrolladores entregan características incrementales que están listas para su implementación. ¿La mejor parte? Todo el equipo obtiene visibilidad del resultado de cada sprint gracias a canales bien definidos. Este ciclo de retroalimentación temprana y continua reduce significativamente el riesgo de sorpresas de último momento y fomenta un entorno colaborativo. En términos simples, nos ayuda a enfrentar los desafíos de coordinación de frente y garantiza una navegación fluida durante todo el proyecto. |
Otro desafío es la comunicación ineficaz entre los diferentes equipos involucrados en el proyecto de ML. Por lo general, los equipos de desarrollo trabajan en silos aislados sin mucha interacción con otras partes interesadas. Esto significa que la solución de ML final a menudo sigue siendo una caja negra misteriosa para aquellos que no están directamente involucrados en su desarrollo. Esta falta de transparencia y la retroalimentación limitada durante todo el proceso pueden causar demoras significativas en alcanzar una solución final. Se vuelve difícil abordar los problemas y hacer los ajustes necesarios sin el aporte oportuno de todas las partes relevantes. Como resultado, el proyecto puede sufrir una pérdida de tiempo, esfuerzo y recursos, que podría haberse evitado con una mejor comunicación y colaboración en equipo. |
Los desafíos únicos de MLOps en comparación con DevOps
Operaciones de MLO, a menudo llamado el DevOps del aprendizaje automático, tiene como objetivo abordar los desafíos únicos que enfrenta el aprendizaje automático. Si bien MLOps comparte algunas similitudes con las prácticas de ingeniería de software tradicionales, los aspectos distintivos del aprendizaje automático requieren soluciones especializadas. Uno de estos desafíos gira en torno al papel de los datos. En el software estándar, los desarrolladores escriben código que sigue una lógica y reglas fijas. Sin embargo, los científicos de datos crean código en el aprendizaje automático que utiliza parámetros para resolver problemas comerciales específicos. Estos valores de parámetros se derivan de los datos, a menudo utilizando técnicas como el descenso de gradiente. Lo que lo hace interesante es que estos valores de parámetros pueden cambiar con diferentes versiones de los datos, alterando posteriormente el comportamiento del código. En otras palabras, los datos son tan importantes como el código para dar forma al resultado.
Además, los datos y el código pueden cambiar de forma independiente, lo que añade complejidad. Esto crea una complejidad en capas en torno a los datos, que deben definirse y rastrearse cuidadosamente junto con el código del modelo como parte intrínseca del software de aprendizaje automático. Plataformas MLOps desempeñan un papel crucial en la gestión de estas complejidades y en garantizar que el código y los datos se gestionen correctamente durante todo el ciclo de vida del aprendizaje automático.
Desafíos específicos del aprendizaje automático (ML) | Descripción |
---|---|
1-Gestión de versiones de datos e hiperparámetros | En las aplicaciones de software tradicionales, las herramientas de control de versiones se utilizan ampliamente para realizar un seguimiento de los cambios en el código. Esta práctica garantiza la reproducibilidad y respalda procesos automatizados como la integración continua (CI), donde las modificaciones en el código desencadenan tareas como la creación, prueba y entrega de software listo para producción. Sin embargo, en el aprendizaje automático (ML), el modelo de salida puede verse influenciado por cambios en el código del algoritmo o los hiperparámetros y variaciones en los datos subyacentes. Si bien los desarrolladores tienen control sobre el código y los hiperparámetros, la gestión de los cambios en los datos puede presentar un desafío único. Por lo tanto, se vuelve esencial introducir el concepto de control de versiones de datos e hiperparámetros además del control de versiones del código. Vale la pena señalar que el manejo del control de versiones de datos, especialmente para datos no estructurados como imágenes y audio, requiere enfoques especializados adoptados por las plataformas MLOps. |
2-Apoyo al desarrollo iterativo y la experimentación | En el aprendizaje automático (ML), el desarrollo de algoritmos y modelos es un proceso iterativo y experimental. Implica ajustar parámetros y realizar ingeniería de características para optimizar el rendimiento. Los procesos de aprendizaje automático funcionan con diferentes versiones de datos, código de algoritmo e hiperparámetros. Siempre que alguno de estos componentes cambia (de forma independiente), se desencadena la creación de nuevas versiones del modelo listas para su implementación, lo que conduce a una mayor experimentación y evaluación de métricas. Plataformas MLOps desempeñan un papel crucial en el seguimiento del linaje completo de estos artefactos, garantizando la transparencia y facilitando la naturaleza iterativa del desarrollo y la experimentación del aprendizaje automático. |
3-Prueba | En el aprendizaje automático, es fundamental detectar cualquier problema lo antes posible en el proceso de aprendizaje automático. A continuación, se indican algunos pasos fundamentales para ello: a) Validación de datos: debemos asegurarnos de que los datos con los que trabajamos estén limpios y no presenten anomalías. Además, cuando llegan nuevos datos, queremos asegurarnos de que sigan los mismos patrones que los datos que utilizamos antes. Esto nos ayuda a mantener la coherencia y la fiabilidad de nuestros modelos. b) Preprocesamiento de datos: es fundamental preprocesar los datos de forma eficiente y escalable. Este paso implica transformar y organizar los datos para que nuestros modelos puedan comprenderlos. Si lo hacemos correctamente, podemos evitar discrepancias entre los datos utilizados para el entrenamiento y los datos utilizados para hacer predicciones. Queremos minimizar cualquier diferencia que pueda causar problemas más adelante. c) Validación de algoritmos: aquí, nos centramos en el seguimiento de métricas específicas para tareas de clasificación o regresión que se alineen con el problema empresarial que intentamos resolver. Queremos asegurarnos de que nuestros algoritmos funcionen bien y alcancen los resultados deseados. También prestamos atención a la imparcialidad de los algoritmos, asegurándonos de que nuestros modelos no estén sesgados ni sean discriminatorios en sus predicciones. Estos pasos nos ayudan a identificar y abordar problemas potenciales en las primeras etapas del proceso de aprendizaje automático, lo que nos permite construir modelos sólidos y confiables. |
4-Seguridad | Cuando se implementan modelos de ML en producción, suelen integrarse en sistemas más grandes donde sus resultados son utilizados por varias aplicaciones, algunas de las cuales pueden resultar desconocidas. Esto expone posibles riesgos de seguridad. Para mitigar estos riesgos, MLOps debe centrarse en proporcionar medidas de seguridad y control de acceso. El objetivo es garantizar que solo los usuarios autorizados accedan y utilicen los resultados de los modelos de ML, minimizando las posibilidades de acceso no autorizado o uso indebido. |
5-Seguimiento de la producción | Cuando los modelos de ML están en producción, es esencial monitorear continuamente su desempeño para garantizar que cumplan con las expectativas mientras procesan nuevos datos. El seguimiento implica varios aspectos, incluida la detección de cambios de covariables y cambios previos. Estas dimensiones de seguimiento nos ayudan a realizar un seguimiento de los cambios en la distribución de los datos de entrada y los supuestos subyacentes del modelo. Al realizar un seguimiento activo de estos factores, podemos identificar y abordar cualquier desviación o problema que pueda surgir, lo que nos permite mantener la eficacia y la fiabilidad del modelo a lo largo del tiempo. |
6-Requisitos de infraestructura | Las aplicaciones de aprendizaje automático requieren una escalabilidad y una potencia computacional significativas, lo que lleva al desarrollo de infraestructuras complejas. Durante la fase de experimentación, el uso de GPU puede ser crucial y puede surgir la necesidad de un escalamiento dinámico de la producción. |
Las partes integrales de una estructura MLOps
Etapa de descubrimiento:El primer paso es que los científicos de datos y de negocios trabajen juntos e identifiquen un problema específico que se debe resolver. Colaboran estrechamente para definir el enunciado del problema y los objetivos para que las técnicas de aprendizaje automático puedan abordarlos. También identifican los indicadores clave de rendimiento (KPI) que se utilizarán para medir el éxito de la solución.
Ingeniería de datos:Una vez definido el problema, los ingenieros y científicos de datos trabajan en equipo para recopilar datos de diversas fuentes. Trabajan juntos para procesar y validar los datos, asegurándose de que estén limpios y en un formato adecuado para el modelado. Esto implica limpiar los datos y transformarlos en un formato utilizable.
Proceso de aprendizaje automático:Una vez preparados los datos, el siguiente paso es diseñar e implementar un flujo de trabajo que admita la integración y la implementación continuas (CI/CD). Los científicos de datos utilizan este flujo de trabajo para realizar múltiples experimentos y pruebas. Es como un flujo de trabajo estructurado que realiza un seguimiento de los datos, el linaje del modelo y los KPI asociados en diferentes experimentos.
Despliegue de producción:Una vez desarrollada la solución, el enfoque se centra en implementarla de forma segura y sin inconvenientes en un servidor de producción. Este podría ser un servidor alojado en una nube pública, en un entorno local o híbrido. El objetivo es garantizar que la solución sea accesible y esté operativa para su uso en el mundo real.
Monitoreo de producción:Una vez que se implementa la solución, entra en la fase de monitoreo. Esto implica vigilar de cerca tanto el modelo implementado como la infraestructura subyacente. Los modelos se monitorean continuamente utilizando indicadores clave de rendimiento predefinidos, como cambios en la distribución de datos de entrada o variaciones en el rendimiento del modelo. Si se cumplen desencadenantes específicos, se impulsa una mayor experimentación con nuevos algoritmos, datos e hiperparámetros, lo que conduce a una versión mejorada del flujo de trabajo de aprendizaje automático. Además, se monitorea la infraestructura para garantizar que cumpla con los requisitos de memoria y computación y que se pueda ampliar o reducir según sea necesario.
💡 Obtenga más información sobre los problemas de MLOps y las posibles soluciones que pueden ayudar a enfrentar estos desafíos → https://hystax.com/what-are-the-main-challenges-of-the-mlops-process/