Acelera Tu Ciclo de Vida de ML con el Mejorado Amazon SageMaker Python SDK: Parte 1 – ModelTrainer

Elena Digital López

Amazon SageMaker ha dado un paso significativo en la evolución de su plataforma con la introducción de un nuevo SDK de Python que busca mejorar la interacción con sus servicios. Esta renovación presenta una interfaz unificada y orientada a objetos que transforma la experiencia del usuario, brindando a los ingenieros de aprendizaje automático un acceso más directo y eficiente a las características y configuraciones de SageMaker a través del nuevo SageMaker Core, un SDK de bajo nivel. A su vez, este cambio facilita a los científicos de datos con menos experiencia en AWS al proporcionar una capa de abstracción que oculta las complejidades técnicas de la infraestructura.

El rediseño se divide en dos partes, donde la primera se centra en la nueva clase ModelTrainer, diseñada para optimizar el entrenamiento de modelos. Esta clase introduce una mejora considerable respecto a la anterior clase Estimator, consolidando varias configuraciones en tan solo unos pocos parámetros esenciales. Este enfoque reduce la carga cognitiva y permite a los usuarios enfocarse más en el proceso de entrenamiento del modelo.

Un aspecto destacado de este nuevo enfoque es su facilidad de uso, junto con una transición sin problemas del desarrollo local al entrenamiento en la nube. ModelTrainer permite comandos personalizados en contenedores a través del parámetro command en SourceCode, lo cual permite estrategias de entrenamiento distribuido más flexibles y desacopla estas estrategias de las herramientas específicas de cada marco. Además, mejora la gestión de hiperparámetros al pasarlos como una sola variable de entorno.

La clase ModelTrainer también simplifica el inicio de trabajos de entrenamiento al ofrecer pre-configuraciones como la URI de la imagen de entrenamiento y la detección automática de sesiones de SageMaker y roles IAM. Además, los usuarios pueden realizar trabajos de entrenamiento local para experimentación ligera, ajustando simplemente un parámetro del modo de entrenamiento.

Entre las funcionalidades prácticas destacadas, los usuarios pueden iniciar trabajos de entrenamiento personalizados, utilizar objetos de configuración para lanzar múltiples entrenamientos y cambiar parámetros de hiperparámetros sin necesidad de redefinir todas las configuraciones. También es posible implementar trabajos de entrenamiento distribuido fácilmente, apoyando estrategias como torchrun y MPI, lo cual es crucial para tareas complejas en aprendizaje profundo.

Diseñado para mejorar la experiencia de los desarrolladores, ModelTrainer simplifica las configuraciones y soporta situaciones complejas como el uso de contenedores propios y entrenamientos distribuidos. Los usuarios son invitados a explorar estas nuevas funcionalidades mediante la documentación del SDK y ejemplos disponibles en GitHub.

La transformación de Amazon SageMaker continuará con una segunda entrega enfocada en la construcción y despliegue de modelos a través de la renovada clase ModelBuilder. Shweta Singh, Gerente de Producto Sénior del equipo de SageMaker en AWS, señala que esta nueva versión del SDK de Python está concebida para no solo incrementar la eficiencia en los procesos de AI/ML, sino también para simplificar la experiencia de los usuarios con funciones avanzadas, todo ello sin costos adicionales.

Scroll al inicio