Amazon ha optimizado la utilización de instancias GPU en su plataforma Amazon Search mediante la implementación de AWS Batch para los trabajos de entrenamiento de SageMaker. Esta solución administrada facilita la orquestación de las cargas de trabajo de aprendizaje automático (ML) en familias de instancias aceleradas por GPU, aumentando así la eficiencia en el entrenamiento y evaluación de modelos que permiten a los clientes descubrir productos relevantes.
En Amazon Search, se utilizan cientos de instancias aceleradas por GPU para entrenar y evaluar modelos de ML. Los científicos suelen entrenar múltiples modelos simultáneamente para identificar el conjunto óptimo de características y arquitecturas. Inicialmente, la organización utilizaba un sistema de cola FIFO para coordinar los trabajos de modelado, pero la necesidad de priorizar los trabajos de manera más matizada llevó a la búsqueda de un sistema mejorado. Se necesitaba una mayor flexibilidad para asignar prioridades: modelos de producción debían tener alta prioridad, mientras que investigaciones exploratorias recibían prioridad media, y los barridos de hiperparámetros y la inferencia en lote se consideraban de baja prioridad.
Después de evaluar varias opciones, se optó por AWS Batch para los trabajos de entrenamiento de SageMaker. Esta elección permitió integrar de manera fluida AWS Batch con SageMaker, gestionando trabajos de acuerdo con criterios de priorización y mejorando la utilización de instancias de GPU de un 40% a más del 80%. La implementación incluyó la creación de entornos de servicio que definían la capacidad total de GPU disponible y la asignación de identificadores de uso para gestionar y priorizar cargas de trabajo.
Amazon CloudWatch se utilizó para monitorizar los trabajos de entrenamiento y proporcionar capacidades de alerta en eventos críticos. Esta integración ofreció visibilidad en tiempo real y análisis de tendencias históricas, manteniendo la eficiencia operativa del equipo en los clústeres de GPU.
El impacto operativo ha sido notable, ya que la adopción de AWS Batch ha permitido realizar experimentos sin preocupaciones sobre la disponibilidad de recursos, lo que a su vez ha incrementado el número de experimentos que pueden realizarse simultáneamente. Esto ha acortado los tiempos de espera de la cola y reducido los resultados del entrenamiento, mejorando el rendimiento de la investigación y los plazos de entrega.
De cara al futuro, se recomienda a otras organizaciones que enfrenten retos similares en la infraestructura de entrenamiento de ML considerar la integración de AWS Batch con SageMaker. Esta solución no solo elimina la coordinación manual de recursos, sino que también ofrece una gestión de colas eficiente y programación basada en prioridades a través de políticas configurables.
vía: AWS machine learning blog





