top of page

Revive el Workshop Hands-On MLOps: Azure Machine Learning



En Imagemaker nos encanta compartir el conocimiento y ser un actor relevante en la comunidad tecnológica, es por eso q ue para poner en práctica nuestro valor de nobleza, el pasado miércoles 18 de noviembre realizamos el primer workshop de la compañía de la mano de Mauricio Letelier, quién junto a 23 asistentes puso en práctica los conceptos fundamentales de MLOps, utilizando el servicio de Machine Learning de Azure (Azure ML).


Al respecto, Mauricio Letelier comentó: “Uno de nuestros objetivos principales es masificar el conocimiento técnico en los temas tecnológicos más estratégicos para las empresas. Es por esto que desde el área de consultoría definimos como prioridad desarrollar un ciclo de webinars y workshops. El gran valor que vemos puede entregar este ciclo, consiste en que los asistentes podrán aumentar su conocimiento en temas que son el “estado del arte” en cuanto a tecnología, permitiéndoles seguirle el paso al dinámico mundo digital.”


El tema abordado cobra relevancia porque actualmente existe una comunidad muy entusiasta entre los data scientists en LATAM, inspirados por el espíritu open-source, que han creado una cultura de colaboración muy saludable, y nosotros al ser parte de ella, consideramos fundamental participar activamente. Además, para nosotros la mejor forma de entregar conocimiento es poniendo los conceptos en práctica, por eso elegimos el formato “hands-on”.


El objetivo de la actividad fue transmitir los aprendizajes con todos los interesados en el tema, es por eso que si no pudiste asistir, te compartimos los highlights del evento:



¡Imperdibles!


Resumen del workshop: El objetivo del workshop fue mostrar cómo traspasar los distintos conceptos de MLOps a una tecnología real, en este caso Azure Machine Learning. En el transcurso de la sesión iniciamos un recurso con el cual exploramos las distintas funcionalidades que brinda Azure para el correcto funcionamiento de los proyectos de inteligencia artificial.


Temas claves


MLOps: Hablamos qué es MLOps y qué pilares nos otorga como base para desarrollar proyectos de machine learning. Hablamos de las mejores prácticas asociadas a esta filosofía incluyendo, replicabilidad, auditabilidad, empaquetamiento, monitoreo y despliegue entre muchas otras. Si estás interesado en entender MLOps en más detalle te recomendamos visitar el siguiente artículo.


MLOps en Azure: Mostramos cómo el servicio Azure Machine Learning nos ayuda a poner en práctica varios de los pilares de MLOps. Hablamos sobre la filosofía de versionamiento que tiene para todos los procesos y cómo esto facilita la operacionalización y automatización de modelos de machine learning.


En el workshop iniciamos creando un recurso específico de Azure Machine Learning. Luego inicializamos una instancia en la cual abrimos un Jupyter notebook, para luego clonar el repositorio que tenía todo lo necesario para el correcto desarrollo de la sesión. Específicamente utilizamos el “Python SDK” de Azure, que es la librería que nos permite interactuar con los servicios de Azure.


Versionamiento de datos: En un mundo donde la trazabilidad es un desde, comentamos cómo el versionamiento de datos se vuelve una práctica fundamental para tener respaldo ante auditorías, observar registros ante posibles errores en la ingestión de datos y analizar si los datos están cambiando su comportamiento.


Específicamente revisamos los datastores y datasets de Azure Machine Learning. Entendimos cómo asociar distintas fuentes de datos Azure a nuestro workspace como datastores, y cómo subir datos a los datastores asociados. También entendimos que los datasets eran “pointers” a nuestros datos almacenados, y que al guardarlos por nombre, podíamos generar versiones de los registros de manera ordenada y segura.


Experimentos: Son la abstracción de Azure para evaluar hipótesis y encapsular tareas asociadas a proyectos de machine learning. Viven en el mismo workspace, y tiene la capacidad de ser inicializados por nombre para su correcto versionamiento.

En la sesión observamos la capacidad de asignar nombres a cada experimento y cómo este se vuelve su identificador al momento de querer entender las métricas por cada uno de los experimentos. Vimos también cómo encontrar esta información en la interfaz gráfica del recurso.


Generación de ambientes: Históricamente ha sido un tema sensible el poder generar ambientes replicables, ya sea para desarrollo de software o para proyectos de machine learning como en este caso. Por eso es que se vuelve crítico poder tener una herramienta que nos permita especificar nuestros frameworks favoritos con sus respectivas versiones. Azure, tras bambalinas, construye imágenes de Docker que cumplen esta función.

En este caso revisamos cómo configurar un ambiente y cómo registrarlo para poder llamarlo cuando sea necesario. Al igual que la mayoría de nuestras herramientas en Azure Machine Learning, se puede versionar, lo que implica que podríamos tener acceso a ambientes en los que el proyecto efectivamente se haya ejecutado.


Versionamiento de modelos: Poder llevar registro de las distintas métricas y versiones asociadas a los modelos de machine learning resulta fundamental. Esto porque nos permite entender el proceso de construcción y tener una comparación efectiva en caso de que el modelo sea reemplazado por uno que tenga mejor performance que el anterior.

En el workshop pusimos en práctica un caso donde encapsulamos un ambiente dentro de un experimento. La ejecución del experimento consistió en el entrenamiento del modelo para posteriormente registrarlo con las métricas relevantes asociadas. Además revisamos el registro del modelo en la interfaz gráfica del workspace.


Pasar modelos a producción: Poner modelos en producción es uno de los procesos más desafiantes si se piensa en proyectos de inteligencia artificial. Esto porque se requiere que todos los conceptos anteriores se organicen de manera orgánica y con una filosofía a prueba de fallas. Para este caso revisamos los distintos tipos de despliegue (Batch, Real-Time y Testing) y discutimos sobre el mejor servicio de Azure para cada uno de ellos.


Vimos lo simple que era poner en producción modelos y utilizamos una ACI como el medio para el despliegue. Además testeamos el modelo y revisamos los distintos resultados que nos entregó dependiendo de los distintos parámetros.


Si te lo perdiste y te interesa entender en profundidad cada uno de los temas abordados por este artículo, ¡no te preocupes!. Tenemos la grabación para que puedas recrear



bottom of page