MLOps ha sido una luz al final del túnel para el ciclo de vida de Machine Learning (ML) que es, para muchos, demasiado complejo. Así como DevOps transformó el mundo del desarrollo de software, MLOps está haciendo lo mismo con el ML o aprendizaje automático.
Google y Microsoft definen MLOps de la siguiente manera:
- Google: MLOps es un conjunto de procesos estandarizados y capacidades tecnológicas para crear, implementar y operar sistemas de ML de manera rápida y confiable.
- Microsoft: MLOps, o DevOps para el aprendizaje automático, permite a los equipos de data science y TI colaborar y aumentar el ritmo de desarrollo e implementación de modelos a través del monitoreo, la validación y la gobernanza de los modelos de ML.
Aunque existen similitudes entre DevOps y MLOps, ya que ambos involucran un conjunto de mejores prácticas, procesos, herramientas y filosofía, este último es significativamente más complicado.
Para los principiantes, hay problemas específicos de ML que deben abordarse desde el inicio, como la desviación de datos (data drift). Esto ocurre cuando hay cambios en los datos que alimentan a los modelos, lo que requiere el reentrenamiento del modelo. Los equipos encargados deben desarrollar procesos repetibles y reproducibles que funcionen a la perfección cuando los datos cambian. La creación de estos procesos se puede hacer utilizando varios productos de software de código abierto, alineada con la idea de “hágalo usted mismo”. Sin embargo, también hay plataformas específicas para MLOps que pueden realizar todo el procedimiento de principio a fin.
Desarrollo y entrenamiento
El desarrollo y entrenamiento en ML (experimentación) son la parte más lenta del ciclo de vida. Los datos deben prepararse y limpiarse, además de seleccionar características (feature engineering). A partir de este trabajo, los algoritmos deben ser seleccionados, los hiperparámetros ajustados, y cientos o miles de experimentos deben realizarse. Una vez que se finaliza esta parte es que los modelos pueden ser implementados y monitoreados.
Existen muchas etapas para completar el proceso de punta a punta. Decenas de startups han entrado en el juego al crear herramientas de código abierto que se adaptan a cada paso de este ciclo de vida. Además, hay plataformas de MLOps de AWS, Google y Azure que se encargan de todo el ciclo de vida, que integran y automatizan los diferentes productos de código abierto necesarios para realizar cada tarea.
El popular white paper de Google “Hidden Technical Debt in Machine Learning Systems” (La deuda técnica oculta en sistemas de aprendizaje automático) que es citado regularmente por los miembros de la industria de ML, explica el ciclo de vida de ML basado en sus experiencias. Google ha estado ejecutando sofisticados modelos de ML durante varios años y el documento describe las mejores prácticas y las trampas que deben evitarse. De hecho, el white paper ha tenido un impacto tan profundo para la industria que nuevas empresas aparecen para llenar el vacío en áreas específicas descritas en el documento de investigación.
En otro white paper, titulado “Practitioners Guide to MLOps”, o Guía para practicantes de MLOps, Google explica que desarrollar la competencia de ML dentro de una organización implica tres áreas diferentes: ingeniería de datos, ingeniería de ML e ingeniería de aplicaciones.
- Ingeniería de datos: preparación y curación de los datos.
- Ingeniería de ML: construcción de sistemas habilitados para ML.
- Ingeniería de aplicaciones: monitoreo de KPI.
Fuente: “Practitioners Guide to MLOps” de Google.
Puedes leer más sobre MLOps en este post.