En el marco del ciclo de charlas sobre ciencia de datos, Dino Ronconi, líder de la práctica de Arquitectura e Ingeniería de Datos en Practia, una empresa Publicis Sapient, ofreció una presentación titulada «Industrialización de Modelos de ML en la Nube de Azure», en la cual desglosó los pasos y desafíos más relevantes para llevar modelos de machine learning (ML) desde el desarrollo local hasta su despliegue en producción a gran escala, utilizando los recursos que ofrece Azure.
El Despliegue en la Nube: Un Proceso Completo
Durante la charla, Ronconi destacó la importancia de migrar de un entorno local a la nube para optimizar la escalabilidad y el rendimiento de los modelos. Utilizando Azure como plataforma, explicó cómo, a partir de un entorno de desarrollo local con herramientas como Docker o Podman, los modelos de ML pueden ser fácilmente empaquetados y desplegados en un entorno de producción de forma segura y eficiente.
El flujo típico presentado comienza con el desarrollo local, donde el modelo es probado y ajustado. Luego, mediante la contenedorización, se encapsula en un contenedor Docker para garantizar que funcione de la misma manera en cualquier entorno, desde una máquina local hasta la infraestructura de Azure.
Optimización del Rendimiento: Escalabilidad y Multiprocesamiento
Un punto clave de la charla fue la importancia de la escalabilidad en entornos productivos. Ronconi explicó que, en entornos locales, un modelo puede funcionar de manera aceptable, pero al migrar a la nube se pueden aprovechar mejor los recursos, especialmente cuando se utiliza un enfoque de multiprocesamiento y se distribuyen las cargas en varios contenedores.
Ronconi ilustró cómo, en un caso práctico, un proceso que inicialmente tardaba más de una hora en completarse se redujo a solo 5 minutos, gracias a la utilización de máquinas virtuales Premium en Azure. Este cambio no solo mejoró la velocidad, sino que también optimizó la asignación de recursos, lo que permite un mejor control de costos y tiempos.
Pruebas Locales con Docker y Podman
Un tema recurrente fue la posibilidad de probar toda la infraestructura y el modelo en local antes de su despliegue final. Gracias a la integración de herramientas como Docker o Podman, los desarrolladores pueden simular el entorno de producción en sus propias máquinas, lo que facilita la identificación de posibles errores antes de migrar a la nube. Esto se convierte en un ahorro significativo de tiempo y dinero al evitar fallos en entornos críticos.
Además, Dino subrayó que, incluso trabajando localmente, es posible interactuar con bases de datos o servicios en la nube, como Data Lakes y otras soluciones de almacenamiento, siempre que se tengan habilitados los permisos correspondientes.
Mejora de la Experiencia con Endpoints Personalizados
Otro punto interesante de la charla fue la creación de endpoints específicos dentro de las aplicaciones para simular condiciones extremas de procesamiento. Estos endpoints ayudan a medir la performance de la aplicación en la nube y ajustar los recursos necesarios.
Ronconi compartió un ejemplo en el que implementó un endpoint que consumía grandes cantidades de tiempo de procesamiento, lo que permitió ajustar el entorno para reducir el tiempo de respuesta.
Despliegue en Azure: Planes y Recursos
Otro aspecto importante fue la selección de los planes de recursos dentro de Azure. Ronconi mostró cómo probar inicialmente en los planes más básicos (B1), que cuentan con un solo CPU y 1.75 GB de memoria, y luego cómo escalar a planes Premium según la necesidad del proyecto. Este enfoque de crecimiento progresivo permite optimizar costos y al mismo tiempo asegurar el rendimiento.
La charla de Dino Ronconi dejó claro que, para las empresas que desean escalar sus proyectos de ML, migrar hacia una infraestructura en la nube como Azure no es solo una opción, sino una necesidad. Gracias a la capacidad de contenedorización, la optimización del procesamiento y la escalabilidad de los recursos es posible reducir tiempos de procesamiento drásticamente, y asegurar que los modelos funcionen de manera eficiente y a gran escala.
Conoce como aplicar modelos de ML en la Nube de Azure en tu organización, haciendo click aquí.