A medida que empresas de diversos tamaños adoptan cargas de trabajo de capacitación, ajuste y inferencia de aprendizaje automático (ML) basadas en unidades de procesamiento gráfico (GPU), la demanda de capacidad de GPU ha superado la oferta en toda la industria. Este desequilibrio ha convertido a las GPU en un recurso escaso, lo que crea un desafío para los clientes que necesitan acceso confiable a los recursos informáticos de GPU para sus cargas de trabajo de aprendizaje automático.
Cuando encuentre limitaciones de capacidad de GPU, podría considerar crear reservas de capacidad bajo demanda (ODCR). Los ODCR se aplican a cargas de trabajo planificadas y estables con patrones de uso bien comprendidos. La disponibilidad de ODCR a corto plazo para instancias de GPU, en particular instancias de tipo P, suele ser limitada. Además, sin un contrato a largo plazo, los ODCR se facturan a tarifas según demanda, lo que no ofrece ninguna ventaja de costos. Esto hace que los ODCR no sean adecuados para cargas de trabajo cortas o exploratorias, como pruebas, evaluaciones o eventos. Se hace necesario un enfoque guiado para asegurar la capacidad de la GPU a corto plazo.
En esta publicación, aprenderá cómo asegurar la capacidad de GPU reservada para cargas de trabajo a corto plazo mediante los bloques de capacidad de Amazon Elastic Compute Cloud (Amazon EC2) para aprendizaje automático y los planes de capacitación de Amazon SageMaker. Estas soluciones pueden abordar los desafíos de disponibilidad de GPU cuando se necesita capacidad a corto plazo para pruebas de carga, validación de modelos, talleres con plazos determinados o preparación de capacidad de inferencia antes de un lanzamiento.
Descripción general de la solución y opciones de GPU a corto plazo
Hay varias formas de acceder a la capacidad de GPU en AWS para cargas de trabajo a corto plazo:
Instancias de GPU bajo demanda
Las instancias bajo demanda suelen ser la primera opción para el uso de GPU a corto plazo. Si hay capacidad disponible en el momento del lanzamiento, puede comenzar a usar instancias de GPU inmediatamente sin compromiso previo. Esto funciona bien para experimentos ad hoc, pruebas breves y tareas de desarrollo.
La capacidad de GPU bajo demanda depende de la oferta regional y la demanda actual, y la disponibilidad puede cambiar rápidamente. Si detiene o reduce una instancia, es posible que no pueda volver a adquirir la misma capacidad cuando la necesite nuevamente. Esta incertidumbre a menudo lleva a que las instancias de GPU sigan funcionando más tiempo del necesario, lo que puede aumentar el costo. Elija instancias bajo demanda cuando su carga de trabajo pueda tolerar posibles retrasos en el lanzamiento o cuando el tiempo sea flexible.
Detectar instancias de GPU
Las instancias puntuales pueden reducir los costos de procesamiento de GPU hasta en un 90 %, pero intercambian el ahorro de costos por la certeza de la disponibilidad. La capacidad puntual depende de la capacidad no utilizada en la región de AWS. Las instancias se pueden interrumpir cuando Amazon EC2 necesita recuperar la capacidad, por lo que las instancias puntuales solo son adecuadas para cargas de trabajo que pueden soportar interrupciones.
Para cargas de trabajo de aprendizaje automático, las instancias puntuales funcionan bien cuando se puede controlar el progreso y reiniciar. Los casos de uso recomendados incluyen trabajos de capacitación distribuidos con puntos de control periódicos, cargas de trabajo de inferencia por lotes que se pueden reintentar y entornos de taller diseñados para tolerar capacidad parcial.
Bloques de capacidad de Amazon EC2 para aprendizaje automático
Amazon EC2 Capacity Blocks for ML reserva capacidad de GPU durante un período de tiempo específico para que las instancias solicitadas estén disponibles cuando las lance durante el período reservado. A diferencia de los ODCR, los bloques de capacidad son completamente de autoservicio y ofrecen una mejor disponibilidad a corto plazo para instancias de GPU con una tarifa de descuento del 40 al 50 %. Cada bloque de capacidad representa una reserva de un número específico de un tipo de instancia seleccionado durante un período definido. Puede:
Los bloques de capacidad se aplican a cargas de trabajo que se ejecutan directamente en Amazon EC2, donde usted mismo administra el sistema operativo, las redes y las capas de orquestación.
Acuerdo de nivel de servicio (SLA) y fallas de hardware: si el hardware falla durante su reserva, puede cancelar la instancia afectada e iniciar manualmente un reemplazo en la misma reserva de Bloques de capacidad. El sistema devuelve el espacio de capacidad reservado a su reserva después de aproximadamente 10 minutos de limpieza. Amazon EC2 mantiene un búfer dentro de cada bloque de capacidad para admitir el reinicio de instancias en caso de degradación del hardware, sin costo adicional.
Nota: Los bloques de capacidad tienen las siguientes limitaciones:
Planes de formación de Amazon SageMaker
Los planes de capacitación de Amazon SageMaker brindan acceso a la capacidad de reserva de GPU para cargas de trabajo de aprendizaje automático en el entorno administrado por IA de Amazon SageMaker, como trabajos de capacitación, clústeres de HyperPod de Amazon SageMaker e inferencia. Los planes de capacitación de SageMaker no son intercambiables con los bloques de capacidad EC2. Con los planes de formación de SageMaker, puedes:
Programe reservas para instancias y duraciones específicas basadas en GPU. Acceda a su capacidad sin administrar la infraestructura subyacente. Utilice una variedad de opciones de computación acelerada, incluidas las últimas GPU NVIDIA y los aceleradores AWS Trainium.
Tenga en cuenta que las instancias de tipo G (excepto las instancias G6) actualmente no son compatibles con los planes de capacitación de SageMaker. Si necesita instancias G6, comuníquese con su equipo de cuentas de AWS. Para obtener información detallada sobre los tipos de instancias admitidos en una determinada región de AWS, duración y opciones de cantidad, consulte Tipos de instancias admitidos, regiones de AWS y precios.
Los planes de capacitación de Amazon SageMaker se aplican a:
Elija esta opción cuando desee que Amazon SageMaker AI administre el aprovisionamiento, el escalado y el ciclo de vida de las instancias y, al mismo tiempo, proteja la capacidad reservada durante un período definido.
Marco de decisión: elegir la opción correcta
Al planificar su estrategia de GPU a corto plazo, debe evaluar las opciones en función de tres factores clave:
Disponibilidad: Desde capacidad bajo demanda hasta capacidad reservada. Modelo de costos: precios bajo demanda o compromisos iniciales con precios más bajos que los bajo demanda. Entorno de carga de trabajo: acceso directo a Amazon EC2 en comparación con cargas de trabajo administradas por Amazon SageMaker. Desde la planificación de capacidad a corto plazo hasta la planificación de capacidad a largo plazo: si bien esta publicación se centra en asegurar la capacidad de GPU a corto plazo, es posible que deba planificar cargas de trabajo recurrentes o a más largo plazo. Puede ejecutar evaluaciones basadas en datos históricos; o utilice recursos de GPU a corto plazo para realizar pruebas de carga de su carga de trabajo y obtener una mejor comprensión del número y tipo de instancia necesarios para la producción. Para implementaciones de producción o eventos a gran escala que requieran una capacidad de GPU significativa, comience a planificar con al menos tres semanas de anticipación. Trabaje con su equipo de cuentas de AWS para evaluar sus requisitos y desarrollar una estrategia de capacidad que se ajuste a su cronograma.
Consideración de costos
Los bloques de capacidad para ML requieren un pago por adelantado y ofrecen tarifas por hora entre un 40 % y un 50 % más bajas en comparación con los precios bajo demanda. Por ejemplo, en el este de EE. UU. (Norte de Virginia), p5.48xlarge cuesta $34,608/hora con bloques de capacidad frente a $55,04/hora bajo demanda. Los planes de capacitación de SageMaker tienen un precio entre un 70% y un 75% inferior a las tarifas bajo demanda. Pagas el precio por adelantado en el momento de programar la reserva. AWS actualiza periódicamente los precios en función de las tendencias de la oferta y la demanda. Pagas la tarifa vigente en el momento de hacer la reserva, incluso si el plan de entrenamiento comienza más tarde después de que cambie el precio. Si sus instancias no se ejecutan continuamente durante el período de reserva, el costo total de realizar reservas podría exceder el costo bajo demanda. Evalúe en función de las necesidades reales de tiempo de ejecución de su carga de trabajo. Descargo de responsabilidad: todas las cifras de precios a las que se hace referencia en esta sección se basan en los precios de AWS disponibles públicamente a la fecha de publicación y están sujetos a cambios. Para conocer los precios más actualizados, consulte los precios de Amazon EC2 y los precios de SageMaker AI.
Proceso de decisión
Comience con la opción menos restrictiva y avance hacia la capacidad reservada cuando la disponibilidad o el momento se vuelvan críticos.
Árbol de decisiones para elegir la opción correcta para asegurar la capacidad de la GPU.
Paso 1: Determine su modelo de gestión de infraestructura
Si necesita control total sobre el sistema operativo, las redes y la orquestación, utilice Amazon EC2 y utilice instancias bajo demanda, instancias puntuales o bloques de capacidad. Si desea un servicio administrado que maneje el aprovisionamiento y las operaciones de infraestructura por usted, use Amazon SageMaker AI y use SageMaker on-demand o planes de capacitación de SageMaker para tipos de instancias ml.*.
Paso 2: Pruebe primero la capacidad bajo demanda
Para cargas de trabajo de Amazon EC2 y Amazon SageMaker AI, comience con capacidad bajo demanda. Este enfoque:
No requiere compromiso previo. Permite el inicio inmediato si hay capacidad disponible.
Si falla el lanzamiento inicial, pruebe estas opciones de flexibilidad:
Pruebe con otra región de AWS donde pueda haber capacidad disponible. Ajuste la hora de inicio fuera del horario laboral, cuando la demanda suele ser menor. Utilice instancias puntuales como complemento de las cargas de trabajo que pueden tolerar interrupciones.
Paso 3: Utilice la capacidad reservada cuando se requiera certeza
Si su carga de trabajo debe comenzar en un momento específico o su cronograma de entrega depende del acceso reservado a la GPU, reservar capacidad se convierte en la opción adecuada:
Para cargas de trabajo de Amazon EC2, utilice bloques de capacidad para ML. Para cargas de trabajo de IA de Amazon SageMaker, utilice los planes de capacitación de Amazon SageMaker para trabajos de capacitación, clústeres de HyperPod o cargas de trabajo de inferencia.
Implementación técnica: reserva de capacidad de GPU para inferencia con planes de capacitación de SageMaker
Esta sección le muestra cómo reservar y utilizar la capacidad de GPU para cargas de trabajo de inferencia administradas por los planes de capacitación de Amazon SageMaker. Tenga en cuenta que las reservas de los planes de formación de SageMaker son específicas del recurso de destino seleccionado. Un plan adquirido para inferencia no se puede utilizar para trabajos de capacitación o clústeres de HyperPod, ni a la inversa.
Para otros escenarios:
Requisitos previos
Antes de comenzar, confirme que tiene:
{ "Versión": "2012-10-17", "Declaración": [ { "Efecto": "Permitir", "Acción": [ "sagemaker:CreateEndpointConfig", "sagemaker:CreateEndpoint", "sagemaker:DescribeEndpoint", "sagemaker:DeleteEndpoint", "sagemaker:DeleteEndpointConfig" ], "Recurso": [ "arn:aws:sagemaker:*:*:endpoint/*", "arn:aws:sagemaker:*:*:endpoint-config/*" ] } ] }
Crear un plan de entrenamiento
Para comenzar, vaya a la consola de Amazon SageMaker AI, elija Planes de capacitación en el panel de navegación izquierdo y elija Crear plan de capacitación.
La página Planes de capacitación en la consola de Amazon SageMaker AI.
Por ejemplo, elija la fecha y duración de la capacitación preferida (1 día), el tipo de instancia y el recuento (1 ml.trn1.32xlarge) para Inference Endpoint y elija Buscar plan de capacitación.
Configure su plan de capacitación seleccionando el tipo de instancia, el número de instancias, la fecha y la duración de su carga de trabajo de inferencia.
La consola muestra los planes disponibles con el precio total.
Revise los planes sugeridos con precios por adelantado antes de aceptar la reserva.
Si acepta este plan de capacitación, agregue los detalles de su capacitación en el siguiente paso y elija Crear su plan.
Nota: Los planes de formación de SageMaker no se pueden cancelar después de la compra. La reserva caducará automáticamente al finalizar el periodo reservado.
Para monitorear el estado del plan de entrenamiento
Revisa el estado de tu plan de entrenamiento en la consola.
Después de crear su plan de entrenamiento, podrá ver la lista de planes de entrenamiento. Inicialmente, el plan entra en estado Pendiente, a la espera de pago. Pagas el precio total de un plan de formación por adelantado. Una vez que AWS complete el procesamiento de pagos, el plan pasará al estado Programado. En la fecha de inicio del plan, éste se vuelve Activo y el sistema asigna recursos para su uso.
Para verificar el estado del plan de capacitación con AWS CLI
Utilice el siguiente comando para verificar el estado del plan de entrenamiento:
aws sagemaker describe-plan-de-formación –nombre-del-plan-de-formación nombre-de-su-plan-de-formación –region su-región
Cuando la respuesta muestre "Estado": "Activo", podrá comenzar a ejecutar sus tareas de inferencia. Verifique que el campo TargetResources muestre el punto final para confirmar que el plan esté configurado para cargas de trabajo de inferencia.
Para crear una configuración de punto final
Utilice el siguiente comando para generar una configuración de punto final que utilice los recursos del plan de formación:
aws sagemaker create-endpoint-config –endpoint-config-name su-nombre-de-config-endpoint –production-variants '[ { "VariantName": "su-nombre-variante", "ModelName": "su-nombre-modelo", "InitialInstanceCount": 1, "InstanceType": "ml.trn1.32xlarge", "CapacityReservationConfig": { "MlReservationArn": "tu-plan-de-formación-arn", "CapacityReservationPreference": "sólo-reservas-de-capacidad" } } ]'
Para implementar el punto final
Cree su recurso de punto final especificando la configuración del punto final del paso anterior:
aws sagemaker create-endpoint –endpoint-name su-nombre-endpoint –endpoint-config-name su-endpoint-config-name
Para verificar el estado del terminal
Verifique el estado de su terminal y el estado de reserva de capacidad del plan de capacitación:
aws sagemaker describe-endpoint –endpoint-name su-nombre-endpoint –region su-región
Limpiar recursos
Para evitar incurrir en cargos continuos, elimine los recursos que creó:
Eliminar el punto final:
aws sagemaker eliminar-punto final –nombre-punto-final su-nombre-punto-final
Elimine la configuración del punto final:
aws sagemaker eliminar-endpoint-config –endpoint-config-name su-endpoint-config-name
Conclusión
Asegurar la capacidad de la GPU para cargas de trabajo transitorias requiere un enfoque diferente al de planificar un uso estable a largo plazo. En esta publicación, aprendió cómo abordar la planificación de la capacidad de GPU a corto plazo mediante:
Comenzando con capacidad bajo demanda y aumentando la flexibilidad cuando sea posible. Distinguir entre cargas de trabajo basadas en Amazon EC2 y cargas de trabajo administradas por Amazon SageMaker AI. Reservar capacidad mediante bloques de capacidad o planes de capacitación de SageMaker cuando se requiere disponibilidad y certeza.
También aprendió a utilizar los planes de capacitación de SageMaker para reservar capacidad de GPU con anticipación. Esta capacidad ayuda a reducir la fricción operativa al preparar la capacidad de inferencia para evaluaciones, lanzamientos o aumentos de tráfico esperados planificados.
Para obtener más información, consulte los siguientes recursos: