Qué son los entornos de servicio en AWS Batch - AWS Batch

Qué son los entornos de servicio en AWS Batch

Un entorno de servicio es un recurso de AWS Batch que contiene los parámetros de configuración necesarios para la integración de AWS Batch con SageMaker AI. Los entornos de servicio permiten que AWS Batch envíe trabajos de entrenamiento y los administre en SageMaker, sin dejar de brindar las capacidades de creación de colas, programación y gestión de prioridades de AWS Batch.

Los entornos de servicio abordan los desafíos comunes a los que se enfrentan los equipos de ciencia de datos a la hora de administrar las cargas de trabajo de machine learning. Las organizaciones suelen limitar la cantidad de instancias disponibles para los modelos de formación a fin de evitar gastos excesivos accidentales, cumplir con las restricciones presupuestarias, ahorrar costos con las instancias reservadas o utilizar tipos de instancias específicos para las cargas de trabajo. Sin embargo, con las instancias asignadas, los científicos de datos desean ejecutar más cargas de trabajo simultáneas de las que es posible, lo que requiere una coordinación manual para decidir qué cargas de trabajo se ejecutan y cuándo.

Este desafío de coordinación afecta a organizaciones de todos los tamaños: desde equipos con solo unos pocos científicos de datos hasta operaciones a gran escala. Así como las organizaciones crecen, también lo hace la complejidad, lo cual significa que se necesitará más tiempo para administrar la coordinación de la carga de trabajo y la participación frecuente del administrador de la infraestructura. Se pierde el tiempo con estos esfuerzos manuales y se reduce la eficiencia de las instancias, lo que genera costos reales para los clientes.

A través de los entornos de servicio, los científicos de datos y los ingenieros de machine learning pueden enviar los trabajos de entrenamiento de Sagemaker con prioridades para las colas configurables, lo que garantiza que las cargas de trabajo se ejecuten automáticamente sin intervención tan pronto los recursos estén disponibles. Esta integración aprovecha las amplias capacidades de preparación de colas y programación de AWS Batch, lo que permite a los clientes personalizar sus políticas de colas y programación para adaptarlas a los objetivos de su organización.

Cómo funcionan los entornos de servicio con otros componentes de AWS Batch

Los entornos de servicio se incorporan con otros componentes de AWS Batch para permitir la puesta en cola de trabajo de entrenamiento SageMaker:

  • Colas de trabajos: los entornos de servicio se asocian a las colas de trabajos para permitir que la cola procese los trabajos de servicios para el trabajo de entrenamiento de SageMaker

  • Trabajos de servicios: cuando un trabajo de servicio se envía a una cola asociada a un entorno de servicio, AWS Batch utiliza la configuración del entorno para enviar el trabajo de entrenamiento de SageMaker correspondiente

  • Políticas de programación: los entornos de servicio funcionan con las políticas de programación AWS Batch para priorizar el orden de ejecución de los trabajo de entrenamiento de SageMaker y administrarlo

Esta incorporación permite aprovechar las capacidades consolidadas de colas y de programación de AWS Batch, manteniendo a la vez completa funcionalidad y flexibilidad de los trabajos de entrenamiento de SageMaker.

Prácticas recomendadas para los entornos de servicios

Los entornos de servicios ofrecen capacidades para administrar los trabajos de entrenamiento de SageMaker a gran escala. Con estas prácticas recomendadas podrá optimizar los costos, el rendimiento y la eficiencia operativa, mientras que se evitan los problemas de configuración habituales que pueden afectar a los flujos de trabajo de machine learning.

Cuando llegue el momento de planificar la capacidad del entorno de servicios, contemple las cuotas y los límites específicos que se aplican a las colas de trabajos de entrenamiento de SageMaker. Cada entorno de servicio tiene un límite de capacidad máximo expresado en número de instancias, el cual controla directamente la cantidad de trabajos de entrenamiento de Sagemaker que se pueden ejecutar simultáneamente. Comprender estos límites ayuda a evitar la contención de recursos y garantiza tiempos de ejecución de los trabajos predecibles.

El rendimiento óptimo del entorno de servicio depende de la comprensión de las características únicas de la programación de trabajos de entrenamiento de SageMaker. A diferencia de los trabajos contenerizados tradicionales, los trabajos de servicio pasan a través de un estado SCHEDULED, en cambio, SageMaker AI adquiere y aprovisiona las instancias de entrenamiento necesarias. Esto significa que las horas de inicio de los trabajos pueden variar considerablemente según la disponibilidad de las instancias y de la capacidad regional.

importante

Los entornos de servicio tienen cuotas específicas que pueden afectar a la capacidad de escalar las cargas de trabajo de entrenamiento de SageMaker. Se pueden crear hasta 50 entornos de servicio por cuenta, y cada cola de trabajos solo admite un entorno de servicio asociado. Además, la carga útil de la solicitud de servicio para trabajos individuales tiene un limite de 10 KiB y la API SubmitServiceJob tiene un límite de 5 transacciones por segundo por cuenta. La comprensión de estos límites durante la planificación de la capacidad evitará las restricciones de escalamiento inesperadas.

La supervisión eficaz de los entornos de servicio significa prestar atención a AWS Batch y a las métricas de servicio SageMaker AI. Las transiciones del estado de trabajo ofrecen información valiosa sobre el rendimiento del sistema, sobre todo el tiempo empleado en el estado SCHEDULED, el cual indica los patrones de disponibilidad de la capacidad. Los entornos de servicio mantienen sus propios estados de ciclo de vida, similares a los de los entornos de computación, que pasan por los estados CREATING, VALID, INVALID y DELETING, que deben supervisarse para verificar su estado operativo. A fin de optimizar las configuraciones de los entornos de servicios a lo largo del tiempo, las organizaciones con prácticas de monitoreo consolidadas suelen realizar un seguimiento de la profundidad de las colas, las tasas de finalización de los trabajos y los patrones de utilización de las instancias.