MLOps: DevOps para Machine Learning
Como se construye un pipeline CI/CD para proyectos ML/AI
MLOps: DevOps para Machine Learning
La colaboración y el trabajo en equipo son dos de las claves para el éxito de las grandes compañías.
Los proyectos de desarrollo de software se ejecutan siguiendo un enfoque centrado en la aplicación. Específicamente se preocupa de la plataforma, la instrumentación y el proceso para admitir aplicaciones. Responde a preguntas como ¿cuál es la infraestructura necesaria para admitir la aplicación? ¿Qué herramientas se pueden usar para automatizarlo? ¿Cuál es el proceso de lanzamiento para control de calidad / producción?
Los proyectos de AI/ML se desarrollan en procesos donde hay muchas y pequeñas iteraciones para refinar la calidad de los datos, la configuración de los modelos y el análisis de los resultados de acuerdo a las preguntas de negocio formuladas. Normalmente no tienen en cuenta un proceso de entregas ni la interacción con otros equipos (como TI). Los equipos de desarrollo de software (hoy en día) todavía no están familiarizados con las herramientas, lenguajes y artefactos de los proyectos de ciencia de datos.
Los equipos de desarrollo de software y científicos de datos trabajan con dos metodologías independientes con un objetivo común: poner en producción una aplicación de AI. Se requiere el esfuerzo de salvar las diferencias entre las dos formas de trabajar. Los proyectos de AI/ML necesitan incorporar algunas de las prácticas operacionales y de despliegue que hacen que el Desarrollo de Software sea efectivo y los proyectos de Desarrollo de Software necesitan acomodar el proceso de desarrollo de AI/ML para automatizar el proceso de despliegue y liberación de los modelos de AI/ML.
MLOps ayuda en entender como se construye un pipeline CI/CD para proyectos ML/AI.
El proceso que tradicionalmente se sigue para llevar un modelo ML a producción, y que se requiere automatizar es: (a) El modelo se entrena, (b) El modelo se paquetiza, (c) Se valida si funciona bien, (d) Se decide poner en producción, (e) Se monitoriza; y (f) Se decide actualizar (volver a entrenar).