Integración de Dependencias Personalizadas en los Flujos de Trabajo de Amazon SageMaker Canvas

Elena Digital López

Las organizaciones que utilizan Amazon SageMaker Canvas para implementar flujos de trabajo de aprendizaje automático (ML) están cada vez más interesadas en integrar dependencias externas para abordar necesidades específicas de sus proyectos. Aunque SageMaker Canvas es conocido por facilitar la experimentación rápida mediante una interfaz de bajo código, existen ocasiones en las que se requieren bibliotecas especializadas que no están disponibles de forma predeterminada en la plataforma. Un reciente caso práctico ilustra cómo los usuarios pueden integrar código que depende de estas bibliotecas externas en sus flujos de trabajo de SageMaker Canvas.

Amazon SageMaker Canvas es una herramienta diseñada para guiar a los usuarios en cada etapa del proceso de aprendizaje automático, desde la preparación inicial de datos hasta el despliegue del modelo final. Con esta plataforma, los usuarios pueden explorar y transformar conjuntos de datos, construir modelos y generar predicciones sin necesidad de escribir código, lo cual democratiza el acceso al aprendizaje automático.

Para la manipulación de datos, SageMaker Canvas proporciona avanzadas capacidades, incluyendo más de 300 pasos de transformación, funciones para la ingeniería de características, y herramientas de normalización y limpieza de datos. También ofrece un editor de código personalizado que admite lenguajes como Python, PySpark y SparkSQL, lo que lo convierte en una opción robusta para el procesamiento de datos.

El método propuesto para integrar scripts personalizados y sus dependencias implica el uso de Amazon Simple Storage Service (Amazon S3) dentro de un flujo de trabajo de SageMaker Data Wrangler. Este enfoque permite a los usuarios ejecutar scripts que requieran módulos no soportados por SageMaker Canvas. El proceso se desglosa en tres pasos principales: subir los scripts y sus dependencias a Amazon S3, utilizar SageMaker Data Wrangler para transformar los datos con el código subido, y finalmente, entrenar y exportar el modelo.

En un ejemplo práctico, se manipularon dos conjuntos de datos sobre envíos de pantallas de computadora. Al combinar estos datos, se creó un conjunto integral que engloba métricas y resultados de entrega, con el objetivo de desarrollar un modelo predictivo que determine la puntualidad de futuros envíos basándose en patrones históricos.

Para empezar, los usuarios necesitan acceso a Amazon S3 y Amazon SageMaker AI. Dentro de la consola de SageMaker AI, deben crear un flujo de datos seleccionando conjuntos de datos específicos. Luego de cargar los datos y aplicar las transformaciones necesarias, es posible agregar cálculos personalizados que dependan de bibliotecas externas, como el módulo «mpmath».

Los scripts y sus dependencias deben empaquetarse en un archivo .zip para ser subidos a un bucket de Amazon S3. Una vez que el archivo está disponible, puede ser accedido en SageMaker Canvas, lo que permite ejecutar el script e integrar la funcionalidad deseada en el flujo de trabajo.

Después de completar el flujo de datos y las transformaciones requeridas, los usuarios pueden entrenar un modelo predictivo, eligiendo las características y el objetivo adecuados. En los ejemplos presentados, el modelo logró alcanzar una notable precisión del 94.5% en una construcción estándar, lo que subraya la efectividad del proceso.

Finalmente, el modelo entrenado puede ser utilizado de múltiples maneras, incluyendo su implementación directa, la adición al registro de modelos de SageMaker o la exportación a un notebook de Jupyter. Para optimizar el uso de recursos y controlar costos, se recomienda a los usuarios cerrar sesión una vez que hayan concluido su trabajo o configurar el entorno para que se apague automáticamente en ausencia de actividad. Esta metodología permite a los científicos de datos y analistas ampliar las capacidades de SageMaker Canvas, integrando herramientas personalizadas que son cruciales para el éxito en sus proyectos de aprendizaje automático.