POR CARLOS EDUARDO LÓPEZ NÚÑEZ / CIENTÍFICO DE DATOS EN HTECH
Hoy en día es muy común escuchar noticias respecto al uso del aprendizaje automático (Machine Learning en inglés o ML) en todo tipo de aplicaciones, como son los sistemas de recomendaciones, de conducción autónoma, de reconocimiento de imágenes, de reconocimiento de voz y de un gran número de aplicaciones que están presentes en nuestra vida cotidiana.

Pero ¿En qué momento y por qué las compañías empezaron a utilizar estos algoritmos para analizar datos y generar valor? Para responder estas cuestiones necesitamos repasar un poco la historia de la última década.

Sistemas de ML en producción

Gracias al cómputo en paralelo empleado por las tarjetas gráficas y a que cada vez tienen un mayor poder de procesamiento, fue viable aplicar modelos de ML para analizar datos utilizando este tipo de hardware. Estos algoritmos se benefician del cómputo en paralelo, como son las redes neuronales artificiales, para identificar patrones en los datos.

Contando con estos avances, la comunidad científica comenzó a investigar el desempeño de estos algoritmos para diferentes fines y fue en el 2012 cuando se utilizó Alexnet, una red neuronal artificial desarrollada por Google, para ganar el ImageNet Large Scale Visual Recognition Challenge. Aunado a este acontecimiento hubo otros avances que sirvieron para mostrarle al mundo el potencial del ML.

Si bien se vislumbró el potencial, aún faltaba un gran trecho para pasar de la investigación a la puesta en producción de sistemas de ML eficientes. Fue a partir de que las grandes empresas informáticas empezaron a emplear modelos de ML en producción para ayudar a responder preguntas de negocio y generar valor, que se dieron cuenta que hacía falta emplear prácticas comunes usadas en el desarrollo de sistemas.

En el año 2018 empezaron a salir al mercado diferentes herramientas que ayudan a emplear buenas prácticas al momento de desarrollar soluciones de ML reproducibles, escalables, de buen desempeño y automatizadas para un entorno de producción. Desde entonces se comenzó a hacer referencia a este conjunto de buenas prácticas como Machine Learning Operations o MLOps y hoy en día es un área que sigue creciendo con rapidez.

MLOps en las empresas

El termino MLOps hace referencia a DevOps, donde además de utilizar un enfoque de integración y despliegue continuo de código se añade el entrenamiento continuo como parte del proceso. En este paso se necesita monitorear el desempeño del modelo desplegado, para detectar cuando el comportamiento no sea el esperado y requiera un reentrenamiento con datos recolectados recientemente.

Dependiendo del grado de automatización de las partes que conforman el flujo de datos en una solución de ML se suelen abstraer diferentes niveles de uso, siendo el nivel 0 el de menor grado de automatización y reusabilidad, mientras que el nivel 3 representa un alto grado de automatización. Google fue el primero en establecer estos niveles, pero hay quienes utilizan el nivel 2 como máximo.

Las soluciones del nivel más alto de MLOps tienen la ventaja de que al tener la mayoría de sus procesos automatizados se puede invertir más tiempo en optimizar y seleccionar el mejor modelo para los datos que se están analizando, por lo que existe una mayor probabilidad de que se encuentre un modelo que cumpla con los requerimientos establecidos por el negocio.

Así, la mayoría de las empresas busca implementar el más alto grado de automatización posible en sus soluciones de ML para agilizar el ciclo de desarrollo y poder comenzar a generar valor lo antes posible. El mayor obstáculo para empezar a utilizar este enfoque es la cultura, ya que se puede presentar una resistencia al cambio, al ser necesario modificar y agregar procesos dentro del flujo de datos de la solución de ML.

En Htech actualmente nos encontramos probando diferentes herramientas y planeando la estrategia para implementar las buenas prácticas en las soluciones de ML, las cuales nos ayudarán a agregar valor a nuestros clientes.