Wisdom en la Nube: Usando Contenedores de Aprendizaje Profundo de AWS con Amazon SageMaker y MLflow

0
2
End-to-end ML process: TensorFlow script to ECR, EC2 training, MLflow logging, S3 storage

Las organizaciones que desarrollan modelos de aprendizaje automático (ML) personalizados a menudo enfrentan requisitos específicos que las plataformas estándar no pueden satisfacer. En particular, las empresas de atención médica necesitan ambientes que protejan los datos de los pacientes y cumplan con la normativa HIPAA, mientras que las instituciones financieras requieren configuraciones de hardware específicas para optimizar algoritmos de trading. Por otro lado, los equipos de investigación buscan flexibilidad para experimentar con técnicas de vanguardia utilizando marcos personalizados. Estas necesidades especializadas motivan a las organizaciones a construir entornos de entrenamiento a medida, lo que les permite tener control sobre la selección de hardware, versiones de software y configuraciones de seguridad.

Sin embargo, la creación de estos entornos a la medida presenta desafíos significativos para la gestión del ciclo de vida del ML. Generalmente, las organizaciones intentan resolver estos problemas desarrollando herramientas personalizadas adicionales o utilizando diversas soluciones de código abierto, lo que a su vez incrementa los costos operativos y demanda recursos de ingeniería que podrían ser mejor empleados en otras áreas.

Para abordar estas necesidades, AWS ofrece soluciones como los «Deep Learning Containers» (DLC) y «MLflow gestionado» a través de Amazon SageMaker AI. Los DLC proporcionan contenedores de Docker preconfigurados que incluyen marcos como TensorFlow y PyTorch, así como controladores NVIDIA CUDA para soporte de GPU. Estos contenedores están optimizados para un rendimiento superior en AWS, se mantienen actualizados con las versiones y parches más recientes, e integran fácilmente con los servicios de AWS para el entrenamiento y la inferencia. Los «Deep Learning AMIs» (DLAMIs) son imágenes de máquina de Amazon preconfiguradas para instancias de Amazon EC2, que también incorporan frameworks populares de aprendizaje profundo y son compatibles con instancias tanto de CPU como de GPU.

El MLflow gestionado por SageMaker ofrece una gestión integral del ciclo de vida, facilitando el registro automático de experimentos y la comparación mejorada de modelos, así como un seguimiento completo de la procedencia. Como un servicio completamente gestionado en SageMaker AI, alivia la carga operativa de mantener la infraestructura de seguimiento.

La solución que une DLC y MLflow gestionado permite no solo cumplir con los controles de infraestructura, sino también con una sólida gobernanza sobre el ML. La integración facilita que los equipos se adapten a sus requisitos especializados, mientras disminuye considerablemente el tiempo y los recursos necesarios para gestionar el ciclo de vida del ML.

Para implementar esta solución, se debe desarrollar un modelo de red neuronal en TensorFlow para predecir la edad de abalones, integrando el seguimiento de MLflow. Después, se quiere extraer un contenedor de entrenamiento de TensorFlow optimizado del repositorio público de ECR de AWS y configurar una instancia EC2 que tenga acceso al servidor de seguimiento de MLflow. A continuación, la formación se ejecutará en el DLC, almacenando los artefactos del modelo en Amazon S3 y registrando los resultados del experimento en MLflow. El acceso y análisis de estos resultados se realizarán a través de la interfaz de usuario de MLflow, facilitando la comparación del rendimiento de los modelos.

El modelo resultante se registra automáticamente en el «Modelo Registry de Amazon SageMaker», lo que permite un seguimiento completo desde el experimento hasta el modelo desplegado, creando una auditoría que vincula directamente los entrenamientos a los modelos en producción. Esta integración no solo aporta visibilidad y cumplimiento a lo largo del ciclo de vida del aprendizaje automático, sino que también optimiza la gestión de modelos permitiendo una mejor gobernanza mientras se mantiene la flexibilidad necesaria para la innovación.
vía: AWS machine learning blog