Las organizaciones que están utilizando Amazon SageMaker Canvas para implementar flujos de trabajo de aprendizaje automático (ML) pueden enfrentarse a la necesidad de incorporar dependencias externas para abordar situaciones más específicas. SageMaker Canvas, aunque facilita la experimentación rápida gracias a sus capacidades sin código y de bajo código, en ocasiones requiere de bibliotecas especiales que no vienen preinstaladas en la plataforma. Un caso práctico reciente demuestra cómo se puede integrar código que depende de estas bibliotecas externas en los flujos de trabajo desarrollados en SageMaker Canvas.
Amazon SageMaker Canvas es una plataforma de aprendizaje automático de bajo código que guía a los usuarios a través de cada fase del proceso, desde la preparación de datos hasta el despliegue del modelo final. Esta herramienta permite explorar conjuntos de datos, transformarlos, construir modelos y generar predicciones sin tener que escribir una sola línea de código. Para preparar los datos, SageMaker Canvas ofrece avanzadas capacidades de manipulación, incluyendo más de 300 pasos de transformación incorporados, ingeniería de características, funciones de normalización y limpieza de datos, y un completo editor de código compatible con Python, PySpark y SparkSQL.
En un ejemplo práctico, se ha mostrado cómo integrar scripts personalizados y sus dependencias desde Amazon Simple Storage Service (Amazon S3) en un flujo de SageMaker Data Wrangler. Esta capacidad de integración permite ejecutar scripts personalizados que dependen de módulos que originariamente no son soportados por SageMaker Canvas.
El proceso para lograrlo se compone de tres pasos principales. Primero, se suben los scripts personalizados y sus dependencias a Amazon S3. Luego, se utiliza SageMaker Data Wrangler dentro de SageMaker Canvas para transformar los datos con el código cargado. Finalmente, se entrena y exporta el modelo.
En un caso específico, se trabajó con dos conjuntos de datos complementarios sobre envíos de pantallas de computadora. Al combinarlos, se logró un conjunto de datos completo que refleja diversas métricas y resultados de entrega. El objetivo era construir un modelo predictivo que determinase si futuros envíos llegarán a tiempo, basándose en datos históricos. Inicialmente, es necesario tener acceso a Amazon S3 y Amazon SageMaker AI. Desde la consola de Amazon SageMaker AI, los usuarios abren Canvas y crean un flujo de datos seleccionando conjuntos de datos específicos. Una vez aplicadas las transformaciones necesarias, se pueden incorporar cálculos personalizados con funciones que dependen de bibliotecas como mpmath
.
Para ejecutar una función que dependa de un módulo no incluido, el script y sus dependencias deben empaquetarse en un archivo .zip para luego subirlo a un bucket de Amazon S3. Este archivo se accede desde SageMaker Canvas para ejecutar el script, así integrando la funcionalidad deseada en el flujo de trabajo.
Completadas las transformaciones, los usuarios pueden entrenar un modelo predictivo seleccionando las características y el objetivo adecuados. Los ejemplos presentados muestran que el modelo alcanzó una precisión del 94.5% en una construcción estándar, lo que evidencia la eficacia del proceso.
Al finalizar, el modelo se puede implementar directamente, agregar al registro de modelos de SageMaker o exportar a un notebook de Jupyter. Para optimizar los recursos de SageMaker y controlar costos, es recomendable cerrar sesión al concluir o configurar el entorno para que se apague automáticamente cuando no esté en uso.
Este enfoque ofrece a los científicos de datos y analistas la posibilidad de expandir las capacidades de SageMaker Canvas más allá de las funciones estándares, permitiéndoles integrar herramientas personalizadas que sean fundamentales para el éxito de sus proyectos de aprendizaje automático.