Acelera tu ciclo de vida de ML con el nuevo y mejorado Amazon SageMaker Python SDK – Parte 1: ModelTrainer

Elena Digital López

Amazon SageMaker ha dado un paso adelante significativo con la inclusión de un nuevo SDK de Python, diseñado para transformar la interacción con sus servicios a través de una interfaz unificada y orientada a objetos. Este cambio enfoca sus esfuerzos en brindar una experiencia escalonada para los usuarios, permitiendo a los ingenieros de aprendizaje automático acceso completo a las capacidades de SageMaker mediante el nuevo SageMaker Core, un SDK de bajo nivel. Simultáneamente, ofrece una capa de abstracción superior para los científicos de datos que tienen menos experiencia en AWS, lo cual simplifica su uso al ocultar las complejidades subyacentes de la infraestructura.

El rediseño del SDK está estructurado en dos partes principales. La primera, protagonizada por la nueva clase ModelTrainer, busca optimizar el proceso de entrenamiento de modelos. En comparación con la clase Estimator utilizada anteriormente, ModelTrainer consolida configuraciones en parámetros esenciales, disminuyendo la sobrecarga cognitiva y permitiendo que los usuarios se centren en el mejoramiento del modelo.

Entre las principales ventajas de este nuevo enfoque se destacan su facilidad de uso y la capacidad de hacer una transición sin problemas del desarrollo local al entrenamiento en la nube. Con la funcionalidad para soportar estrategias de entrenamiento distribuido más flexibles, ModelTrainer permite comandos personalizados en contenedores mediante el parámetro command en SourceCode. Esta mejora desacopla las estrategias de entrenamiento distribuido de los estimadores específicos de cada marco, mejorando la gestión de hiperparámetros al tratarlos como una única variable de entorno.

Además, ModelTrainer simplifica el inicio de trabajos de entrenamiento al ofrecer preconfiguraciones como la URI de la imagen de entrenamiento y la detección automática de sesiones de SageMaker y roles IAM. También facilita la posibilidad de ejecutar trabajos de entrenamiento local para una experimentación más ligera, ajustando simplemente un parámetro en el modo de entrenamiento.

Los usuarios pueden beneficiarse en la práctica iniciando trabajos de entrenamiento personalizados, utilizando objetos de configuración para crear múltiples trabajos y ajustando parámetros de hiperparámetros sin necesidad de redefinir todos los ajustes. También es posible iniciar trabajos de entrenamiento distribuido fácilmente, soportando estrategias como torchrun y MPI, fundamentales para tareas complejas en el ámbito del aprendizaje profundo.

El objetivo de ModelTrainer es mejorar significativamente la experiencia del desarrollador simplificando las configuraciones y sosteniendo configuraciones complejas como el uso de contenedores propios y entrenamientos distribuidos. Se invita a los usuarios a explorar estas oportunidades aprovechando la documentación del SDK y ejemplos prácticos disponibles en GitHub.

La serie de artículos explorará en su segunda parte la construcción y el despliegue de modelos con la nueva clase mejorada ModelBuilder. Según Shweta Singh, Gerente de Producto Sénior en el equipo de SageMaker en AWS, la reciente versión del SDK de Python para SageMaker está diseñada para no solo optimizar la eficiencia de los procesos de AI/ML, sino también para enriquecer la experiencia de los usuarios con características avanzadas, todo ello sin incurrir en costos adicionales.

Scroll al inicio