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

0
28
Integrating custom dependencies in Amazon SageMaker Canvas workflows

Las organizaciones que utilizan Amazon SageMaker Canvas para implementar flujos de trabajo de aprendizaje automático (ML) pueden encontrar la necesidad de incorporar dependencias externas para abordar casos de uso específicos. Aunque SageMaker Canvas facilita la experimentación rápida a través de sus capacidades sin código y de bajo código, algunos proyectos requieren bibliotecas especiales que no están incluidas por defecto en la plataforma. Un ejemplo práctico ilustra cómo integrar código que depende de estas bibliotecas externas en los flujos de trabajo de SageMaker Canvas.

Amazon SageMaker Canvas es una plataforma de ML de bajo código que guía a los usuarios a través de cada etapa del viaje de ML, desde la preparación inicial de datos hasta el despliegue del modelo final. Con esta herramienta, los usuarios pueden explorar conjuntos de datos, transformar datos, construir modelos y generar predicciones sin necesidad de escribir una sola línea de código.

Para preparar los datos, SageMaker Canvas ofrece capacidades avanzadas de manipulación de datos, que incluyen más de 300 pasos de transformación incorporados, ingeniería de características, funciones de normalización y limpieza de datos, y un editor de código personalizado que soporta Python, PySpark y SparkSQL.

Un caso práctico expone cómo integrar scripts personalizados y sus dependencias desde Amazon Simple Storage Service (Amazon S3) dentro de un flujo de SageMaker Data Wrangler. Esta integración permite ejecutar scripts personalizados que dependen de módulos que no están inherentemente soportados por SageMaker Canvas.

El proceso básico sigue tres pasos principales: primero, subir scripts personalizados y sus dependencias a Amazon S3; segundo, usar SageMaker Data Wrangler en SageMaker Canvas para transformar los datos utilizando el código subido; y tercero, entrenar y exportar el modelo.

A modo de ejemplo, se manipulan dos conjuntos de datos complementarios que contienen información sobre envíos de pantallas de computadora. Al combinarlos, se crea un conjunto de datos integral que captura diversas métricas y resultados de entrega. El objetivo es construir un modelo predictivo que determine si futuros envíos llegarán a tiempo, basándose en patrones históricos de envío.

Para comenzar, es necesario tener acceso a Amazon S3 y a Amazon SageMaker AI. Posteriormente, en la consola de Amazon SageMaker AI, los usuarios deben abrir Canvas y crear un flujo de datos al seleccionar conjuntos de datos específicos. Una vez cargados los datos y aplicadas las transformaciones necesarias, se pueden agregar cálculos personalizados utilizando funciones que dependen de bibliotecas como mpmath.

Para usar una función que dependa de un módulo no soportado, es necesario empaquetar el script y sus dependencias en un archivo .zip, que luego se debe subir a un bucket de Amazon S3. Después de subir el archivo, se puede acceder a él en SageMaker Canvas y ejecutar el script, integrando así la funcionalidad deseada en el flujo de trabajo.

Al culminar el flujo de datos y realizar las transformaciones necesarias, los usuarios pueden entrenar un modelo predictivo seleccionando las características y el objetivo adecuados. En los ejemplos presentados, el modelo alcanzó una precisión del 94.5% en una construcción estándar, lo que demuestra la efectividad del proceso.

Una vez completado, el modelo se puede utilizar de varias maneras, incluida la implementación directa, su adición al registro de modelos de SageMaker o su exportación a un notebook de Jupyter. Para optimizar el uso de los recursos de SageMaker y controlar costos, se recomienda cerrar sesión al concluir o configurar el entorno para que se apague automáticamente cuando no esté en uso.

Este enfoque permite a los científicos de datos y analistas ampliar las capacidades de SageMaker Canvas más allá de las funciones incluidas por defecto, integrando herramientas personalizadas que pueden ser fundamentales para el éxito de sus proyectos de aprendizaje automático.

vía: AWS machine learning blog