Resumen
Las operaciones de aprendizaje automático (MLOps) son un conjunto de prácticas para los flujos de trabajo cuyo objetivo es optimizar el proceso de implementación y mantenimiento de los modelos de aprendizaje automático (ML).
Este paradigma, que se inspira en los principios de DevOps y GitOps, pretende establecer un proceso de evolución continua para integrar los modelos de aprendizaje automático al desarrollo de software. Al adoptar MLOps y optimizar el ciclo de entrenamiento iterativo, los analistas de datos, los ingenieros y los equipos de TI pueden garantizar de forma sincronizada la actualización y precisión de los modelos de aprendizaje automático. Gracias a esto, es posible supervisar, volver a entrenar e implementar permanentemente los modelos, lo cual permite adaptarlos a los datos cambiantes y mantener su máximo rendimiento a lo largo del tiempo.
Las ventajas de adoptar las prácticas de MLOps
Los modelos de aprendizaje automático detectan patrones en los datos y realizan predicciones a partir de ellos. A medida que el modelo evoluciona y se expone a datos nuevos para los cuales no fue entrenado, surge un problema denominado desajuste de datos. Es normal que se produzca con el paso del tiempo, a medida que las propiedades estadísticas utilizadas para entrenar los modelos de ML se vuelven obsoletas. Si esto no se tiene en cuenta y no se corrige, podría afectar a la empresa.
Para evitarlo, es importante que las empresas supervisen los modelos y mantengan la precisión de las predicciones. Si se aplican estas prácticas, los equipos pueden obtener muchos beneficios: mejora de la calidad y la precisión de los modelos predictivos, simplificación del proceso de gestión, prevención del desajuste de datos y optimización de la eficiencia para los analistas de datos.
Estos son algunos de los beneficios específicos de MLOps para las empresas:
Capacidad de replicación: las empresas pueden replicar con tranquilidad y de manera uniforme los experimentos de ML gracias a que el marco de MLOps permite supervisar y gestionar los cambios en el código, los datos y los archivos de configuración asociados a los diferentes modelos.
Integración e implementación continuas (CI/CD): los marcos de MLOps se integran a los procesos de CI/CD, lo cual permite automatizar las pruebas, la validación y la implementación. A su vez, esto agiliza los ciclos de desarrollo y distribución, y fomenta una cultura de mejora permanente.
Mayor colaboración y plazos más cortos: las prácticas de MLOps permiten que los miembros del equipo trabajen juntos de manera eficiente, al mismo tiempo que eliminan los obstáculos y aumentan la productividad. Además, si se automatizan las tareas manuales, las empresas pueden implementar más modelos en menos tiempo y realizar iteraciones con mayor frecuencia para mejorar la precisión.
Ahorro de costos: realizar los ajustes y las mejoras constantes que se necesitan para mantener la precisión de los modelos de aprendizaje automático puede resultar muy tedioso, en especial si se hace de forma manual. Al utilizar las prácticas de MLOps para automatizar las tareas manuales que llevan más tiempo, las empresas pueden ahorrar muchos recursos. Además, si se optimiza el proceso de implementación, disminuye el riesgo de que se produzcan errores propios de las tareas manuales y se agiliza la obtención de resultados.
Mayor control y cumplimiento: las prácticas de MLOps permiten que las empresas garanticen el cumplimiento de las medidas de seguridad y las normas relativas a la privacidad de los datos. Además, gracias a las funciones de supervisión del rendimiento y de la precisión, es posible no solo controlar la aparición de desajustes en el modelo durante la recepción de datos nuevos, sino también tomar medidas preventivas para mantener un alto nivel de precisión a lo largo del tiempo.
Adopte la automatización y ahorre tiempo con las prácticas de MLOps
Al adoptar las prácticas de MLOps, se elimina el tedioso trabajo manual que implica supervisar un modelo de aprendizaje automático y garantizar su rendimiento y confiabilidad permanentes. Las prácticas de MLOps optimizan la colaboración entre diferentes equipos, lo cual fomenta el desarrollo ágil y la toma de decisiones basada en los datos dentro de las empresas.
Además, permiten que los diversos sectores automaticen y simplifiquen el proceso de desarrollo del aprendizaje automático. Algunos casos prácticos en los que se utilizan las prácticas de MLOps:
Mantenimiento predictivo: predicción de los fallos de los equipos y programación preventiva del mantenimiento.
Detección de operaciones fraudulentas: diseño e implementación de modelos que supervisen las transacciones de forma permanente en busca de actividades sospechosas.
Procesamiento del lenguaje natural (NLP): las prácticas de MLOps garantizan que algunas aplicaciones, como los chatbots, los traductores y otros modelos de lenguaje de gran tamaño (LLM), funcionen de forma eficaz y confiable.
Visión artificial: tareas como el análisis de imágenes médicas, la detección de objetos y la conducción autónoma.
Detección de anomalías: detección de variaciones anómalas en diversos contextos, como la seguridad de las redes, los procesos industriales y los dispositivos del IoT.
Salud: implementación de modelos para el diagnóstico de enfermedades, la predicción de resultados de los pacientes y el análisis de imágenes médicas.
Comercio minorista: gestión de inventarios, predicción de la demanda, optimización de los precios y mejora de la experiencia de compra de los clientes.
Las diferencias entre MLOps y DevOps
MLOps podría considerarse la evolución de DevOps. Se basa en los mismos conceptos fundamentales de colaboración, automatización y perfeccionamiento permanente aplicados al desarrollo de los modelos de aprendizaje automático. Ambas prácticas persiguen el mismo objetivo: mejorar la colaboración con el equipo de operaciones de TI, con quienes deben trabajar de forma conjunta para gestionar y mantener un modelo de software o de aprendizaje automático a lo largo de todo su ciclo de vida.
Mientras que DevOps se centra en la automatización de las tareas operativas rutinarias y en la estandarización de los entornos para el desarrollo y la implementación, MLOps tiene un carácter más experimental y busca explorar formas de gestionar y mantener los canales de datos. Dado que los datos utilizados en los modelos de aprendizaje automático evolucionan constantemente, el propio modelo debe evolucionar con ellos, lo cual obliga a adaptarlos y ajustarlos con regularidad.
Los procesos de prueba, implementación y producción son diferentes para MLOps y DevOps. Por eso, los equipos encargados de los proyectos de aprendizaje automático suelen incluir a analistas de datos que podrían no estar especializados en ingeniería de software, pero que centran sus esfuerzos en el análisis exploratorio de los datos, el desarrollo de modelos y la experimentación. Estas son algunas de las tareas que involucran las prácticas de MLOps y no suelen tenerse en cuenta en las de DevOps:
- Pruebas para la validación de datos, la evaluación de la calidad del modelo entrenado y la validación del modelo
- Creación de un proceso de varios pasos para volver a entrenar e implementar automáticamente un modelo de aprendizaje automático a medida que recibe nuevos datos
- Seguimiento de estadísticas de los datos y supervisión del rendimiento en línea del modelo para informar cuando los valores no se ajustan a las expectativas
Por último, cuando se trata de la integración y la implementación continuas (CI/CD) en MLOps, la CI ya no consiste solo en realizar pruebas ni en validar el código y los componentes, como sucede en DevOps, sino que también implica probar y validar los datos, los esquemas de datos y los modelos. En el caso de la CD, ya no se trata de implementar un único paquete de software o servicios, sino un sistema (una cadena de procesos para el entrenamiento de ML) que debe implementar automáticamente otro servicio (el de predicción de modelos).
Red Hat y las etapas de MLOps
Si bien no existe una única manera de crear y poner en funcionamiento los modelos de aprendizaje automático, sí hay una necesidad constante de recopilar y preparar los datos, desarrollar los modelos, convertirlos en aplicaciones con IA y obtener ingresos a partir de ellas.
Red Hat® OpenShift® incluye las funciones esenciales para aplicar las prácticas de MLOps de manera uniforme y en cinco pasos en los centros de datos, la nube pública y el extremo de la red:
Paso 1: recopilación y preparación de los datos
En este paso, se recopilan, limpian y etiquetan los datos estructurados y los no estructurados, y se los coloca en el formato adecuado para entrenar y probar los modelos.
Paso 2: entrenamiento del modelo
Los modelos de ML se entrenan en Jupyter Notebooks en Red Hat OpenShift.
Paso 3: automatización
Red Hat OpenShift Pipelines ofrece una función de integración continua basada en eventos que permite empaquetar los modelos de ML como imágenes de contenedores.
Paso 4: implementación
Red Hat OpenShift GitOps automatiza la implementación de los modelos de ML según sus necesidades y en todos los entornos: la nube pública, privada o híbrida y el extremo de la red.
Paso 5: supervisión
Su equipo puede utilizar las herramientas que ofrecen nuestros partners del ecosistema para supervisar los modelos y volver a entrenarlos e implementarlos, según sea necesario, con el objetivo de mantenerlos actualizados. A medida que se incorporan nuevos datos, el proceso vuelve a la primera etapa y atraviesa las cinco de forma constante y automática por tiempo indefinido.
Sus primeros pasos con MLOps
Ya sea que esté analizando la posibilidad de incorporar el aprendizaje automático a su empresa o de que lleve tiempo trabajando con él, puede resultarle útil comprender el lugar que ocupan sus flujos de trabajo y procesos en el ámbito general de MLOps. La consolidación de un proceso de aprendizaje automático se suele clasificar en tres niveles, en función del grado de automatización del flujo de trabajo.
Nivel 0: todas las tareas son manuales
Los equipos que comienzan a trabajar con el aprendizaje automático suelen operar con un flujo de trabajo completamente manual. En esta etapa, los analistas de datos que crean el modelo no están en contacto con los ingenieros que lo utilizan, por lo que cada paso del proceso (preparación de los datos, entrenamiento del modelo, automatización, implementación y supervisión) se lleva a cabo sin automatización. No hay integración ni implementación continuas (CI/CD). La implementación de nuevas versiones de los modelos es poco frecuente, y cuando se implementa uno nuevo, hay más posibilidades de que no se adapte a los cambios.
Nivel 1: automatización de los procesos de ML
Cuando el modelo necesita ajustarse de forma preventiva a los nuevos factores, es conveniente comenzar a introducir la automatización al flujo de trabajo. Gracias a esta automatización, se introducen datos nuevos para el entrenamiento permanente (CT), lo cual permite que el modelo acceda a la información más relevante para los servicios de predicción.
Nivel 2: automatización del sistema de CI/CD
En esta etapa, las actualizaciones del modelo de ML son rápidas y confiables. El modelo se vuelve a entrenar con datos nuevos a diario (o incluso a cada hora), y las actualizaciones se implementan en miles de servidores a la vez. Gracias a este sistema, los analistas de datos y los ingenieros pueden trabajar juntos en un entorno de colaboración único.
Diseño o adquisición
A la hora de elegir entre diseñar una plataforma de MLOps o comprarla, hay que tener en cuenta tanto los recursos como el tiempo de los que se dispone. Puede llevar más de un año diseñar una infraestructura de ML que funcione, y aún más determinar el modo de desarrollar un proceso que realmente ofrezca beneficios para su empresa. Además, es necesario gestionar el ciclo de vida y contar con un equipo especializado para mantener la infraestructura. Sin embargo, si su equipo no dispone de los conocimientos necesarios o del ancho de banda para adquirirlos, la mejor solución puede ser invertir en una plataforma de MLOps integral.
Red Hat puede ayudarlo
La cartera de productos de Red Hat OpenShift AI combina las funciones probadas de Red Hat OpenShift y Red Hat OpenShift Data Science. Ofrece una plataforma de aplicaciones única, uniforme y lista para las empresas que reúne a analistas de datos y desarrolladores para simplificar la incorporación de la IA a las aplicaciones de manera segura, uniforme y según sea necesario.
Red Hat OpenShift AI incluye las funciones esenciales para aplicar las prácticas de MLOps de manera uniforme en los centros de datos, la nube pública y el extremo de la red.
Kubeflow es un marco open source de Kubernetes para desarrollar, gestionar y ejecutar las cargas de trabajo de aprendizaje automático (ML). La ejecución de Kubeflow en OpenShift permite organizar los proyectos y aprovechar el poder del cloud computing para estandarizar las operaciones de aprendizaje automático. Algunos de los casos prácticos clave de Kubeflow incluyen la preparación de datos, el entrenamiento de modelos, la evaluación, la optimización y la implementación.