Evolución y estado actual de la analítica aplicada en las organizaciones: MLOps

Jose A Osorio L
Datalytics
Published in
5 min readJan 18, 2022

--

La analítica aplicada ha recorrido un largo camino en lo que respecta a su adopción efectiva dentro de las organizaciones: de prototipos y modelos exploratorios a productos, de su uso informal — como herramientas auxiliares en la toma de decisiones — a ser el corazón de nuevos servicios. Este camino se expresa principalmente en la implementación paulatina de nuevas tecnologías.

Sin embargo, la transformación cultural es la primera situación a la que se enfrentan las organizaciones cuando buscan implementar correctamente una estrategia de generación de valor a partir de la analítica aplicada. Este cambio de paradigma implica entender los problemas de negocio que se deben resolver y los hábitos que se deben reforzar para aumentar el delivery de valor: el mundo ideal de los productos de datos.

Es preciso comenzar por este aspecto dado que las prácticas de MLOps, como las de DataOps, son la materialización en instrumentos de la transformación cultural mencionada.

Actualmente los modelos de analítica (en todas sus vertientes, tanto en los modelos de la estadística clásica como en el deep learning) juegan un papel indispensable en cientos de miles de productos con los que el público interactúa y que muchos de nosotros construimos. Después de todo, en un mundo que produce cada vez más datos, los modelos son conocimiento resumido que se consume para tomar decisiones sin dudar o paralizarse. Pues bien, el principal cambio cultural (y del que se derivan los demás) que es necesario entender es que, dado el flujo interminable de datos y las transformaciones a las que está sometida la sociedad, todos los modelos son parciales, ninguno es definitivo. Sin ir más lejos, recuerden cómo pasamos el 2020 quienes nos dedicamos a esto 😅, nosotros lo bautizamos “El año que se rompieron los modelos”.

Si los modelos que construimos no son definitivos los productos que de ellos dependen están determinados a degradarse con el tiempo. La única forma de que se mantengan relevantes es con la actualización o relevo constante de estos modelos. Igual de importante es que la habilidad de experimentar puede dar luz sobre nuevos productos de datos.

De esta realidad parten los tres principales retos a los que nos enfrentamos:

  1. La velocidad de experimentación y despliegue.
  2. La visibilidad de la experimentación y sus resultados.
  3. La reproducibilidad que nos permite usar la herramienta adecuada en cada momento y garantizar la calidad de lo que se ha hecho.
State of ML

Una estrategia correcta diseñada para resolver estos retos, a su vez, da luz sobre preguntas más concretas a las que todos los que diseñan o lideran equipos de datos se han enfrentado:

  • ¿Cómo podemos implementar modelos con mayor rapidez?
  • ¿Cómo garantizamos que los modelos se puedan desplazar entre ambientes?
  • ¿Cómo liberamos tiempo de nuestros científicos o analistas para tareas más valiosas — entendimiento de negocio, experimentación — reduciendo el esfuerzo en tareas repetitivas como el despliegue de modelos?
  • ¿Cómo reducimos el riesgo asociado a invertir mucho en modelos que nunca se incorporan a producción?
  • ¿Cómo distinguimos rápidamente qué modelos no están alineados con la estrategia de la organización?
  • ¿Cómo monitoreamos y actualizamos los modelos a medida que evolucionan los datos y el contexto con el tiempo?

MLOps sale al escenario 🎇

Las prácticas de MLOps tratan de dar respuesta a estas preguntas mediante la unificación del preprocesamiento de datos, el entrenamiento de modelos, la evaluación, el monitoreo y el despliegue en un proceso coherente que pueda ser fácilmente mantenible.

Es claro que MLOps demanda automatización en tanto es la garantía de calidad de los productos de datos cuando se dan por hecho los pasos previos de la aplicación correcta de la analítica (entendimiento, exploración, testeo de hipótesis). En este sentido, el fin último de MLOps es la existencia de modelos en producción que resuelven verdaderas necesidades de negocio.

Sin embargo, debemos tener cuidado ❗, como siempre con la automatización, se puede caer en el riesgo de sobrediseñar procesos irrelevantes.

¿Qué problemas viene a resolver MLflow?

En los últimos años han surgido una cantidad creciente de herramientas enfocadas en las prácticas de MLOps con diferentes énfasis: sobre el modelamiento, sobre el monitoreo, sobre la experimentación, etc. Sin embargo, al día de hoy una de las que presenta mayor madurez es MLflow. Esto por dos razones principales:

  • Su naturaleza open source que permite una incorporación continua de las mejores prácticas y desarrollos.
  • Su agnosticismo tecnológico que permite usar MLflow de manera coherente a través de diferentes tecnologías: tanto en vendors — podemos usar MLflow con facilidad sobre Azure ML o Sagemaker (AWS) — , en lenguajes (R, Python) o en frameworks (Spark, Pytorch, Rapids).

MLflow trata de ser la estandarización de una práctica de trabajo y no solo una tecnología.

Tecnológicamente MLFlow es una plataforma diseñada para administrar el ciclo de vida completo de los modelos a través de cuatro componentes principales que pueden usarse de forma independiente.

  1. MLFlow Tracking: enfocado principalmente en la visibilidad de los experimentos analíticos: control de parámetros, de ambientes, de métricas y de archivos de salida (gráficas, entre otros).
  2. MLFlow Projects: formato mediante el cual se empaqueta el código usado en la construcción de los experimentos para garantizar su reproducibilidad. Projects brinda integraciones directas con GIT lo que da lugar al versionamiento y validaciones (ciclos de integración continua).
  3. MLFlow Models: formato estandarizado agnóstico que permite desplegar los modelos para que sean usados en tareas posteriores. Esto puede ser, por ejemplo, desde REST APIs sobre contenedores para modelos en tiempo real o sobre Frameworks como Spark para trabajos en Batch.
  4. MLFlow Registry: componente centralizado para la administración de modelos. Se integra directamente con Tracking para el versionamiento y transición de experimentos a modelos productivos.

¿Por qué MLflow con Databricks?

MLflow es una de las principales apuestas de Databricks en lo que respecta a su promesa de convertirse en una plataforma unificada para la ciencia de datos. MLflow está incorporada en Databricks como una plataforma administrada. De esta manera, podemos usar MLflow con muy poca configuración sobre los notebooks, tenemos visibilidad completa de MLflow desde el Workspace de Databricks e integración con GIT y ciclos de CI/CD. Adicionalmente, contamos con un fuerte respaldo en términos de escalabilidad (pensemos en búsquedas distribuidas de hiperparámetros), seguridad (heredamos las políticas basadas en roles de Databricks) y confianza (Databricks se encarga por nosotros de todas las actualizaciones necesarias).

En el próximo artículo, mostraremos cómo usar MLflow al detalle con un caso práctico.

--

--