Reduce el consumo de energía de tus cargas de trabajo de aprendizaje automático hasta en un 90% con los aceleradores construidos específicamente por AWS.

Reduce hasta un 90% el consumo de energía en tus cargas de trabajo de aprendizaje automático con los aceleradores AWS diseñados especialmente para ello.

Los ingenieros de Machine Learning (ML) tradicionalmente se han centrado en encontrar un equilibrio entre el coste de entrenamiento y despliegue del modelo frente al rendimiento. Cada vez más, la sostenibilidad (eficiencia energética) se está convirtiendo en un objetivo adicional para los clientes. Esto es importante porque el entrenamiento de modelos de ML y luego el uso de los modelos entrenados para hacer predicciones (inferencia) pueden ser tareas altamente intensivas en energía. Además, cada vez más aplicaciones a nuestro alrededor se han impregnado de ML, y cada día se conciben nuevas aplicaciones impulsadas por ML. Un ejemplo popular es ChatGPT de OpenAI, que está impulsado por un modelo de lenguaje grande de última generación (LMM). Para referencia, GPT-3, una LLM de una generación anterior, tiene 175 mil millones de parámetros y requiere meses de entrenamiento continuo en un clúster de miles de procesadores acelerados. El estudio Carbontracker estima que el entrenamiento de GPT-3 desde cero puede emitir hasta 85 toneladas métricas de CO2 equivalente, utilizando clústeres de aceleradores de hardware especializados.

Existen varias formas en las que AWS está permitiendo a los practicantes de ML reducir el impacto ambiental de sus cargas de trabajo. Una forma es proporcionando orientación prescriptiva sobre la arquitectura de sus cargas de trabajo de AI/ML para la sostenibilidad. Otra forma es ofreciendo servicios de entrenamiento y orquestación de ML gestionados como Amazon SageMaker Studio, que automáticamente destruye y escala los recursos de ML cuando no están en uso, y proporciona una serie de herramientas listas para usar que ahorran costes y recursos. Otro habilitador importante es el desarrollo de aceleradores de propósito específico, energéticamente eficientes y de alto rendimiento para entrenar y desplegar modelos de ML.

El foco de este post está en el hardware como palanca para ML sostenible. Presentamos los resultados de experimentos recientes de rendimiento y consumo de energía realizados por AWS que cuantifican los beneficios de eficiencia energética que se pueden esperar al migrar sus cargas de trabajo de aprendizaje profundo desde otras instancias de Amazon Elastic Compute Cloud (Amazon EC2) aceleradas y optimizadas para inferencia y entrenamiento a AWS Inferentia y AWS Trainium. Inferentia y Trainium son la adición más reciente de AWS a su cartera de aceleradores de propósito específico diseñados específicamente por Annapurna Labs de Amazon para cargas de trabajo de inferencia y entrenamiento de ML.

AWS Inferentia y AWS Trainium para ML sostenible

Para proporcionar números realistas del potencial de ahorro de energía de AWS Inferentia y AWS Trainium en una aplicación del mundo real, hemos realizado varios experimentos de referencia de consumo de energía. Hemos diseñado estos benchmarks con los siguientes criterios clave en mente:

  • Primero, queríamos asegurarnos de capturar el consumo directo de energía atribuible a la carga de trabajo de prueba, incluyendo no solo el acelerador de ML sino también la computación, la memoria y la red. Por lo tanto, en nuestra configuración de prueba, medimos el consumo de energía a ese nivel.
  • En segundo lugar, al ejecutar las cargas de trabajo de entrenamiento e inferencia, nos aseguramos de que todas las instancias estuvieran operando en sus respectivos límites físicos de hardware y tomamos medidas solo después de alcanzar ese límite para garantizar la comparabilidad.
  • Finalmente, queríamos estar seguros de que los ahorros de energía informados en este post se pudieran lograr en una aplicación práctica del mundo real. Por lo tanto, utilizamos casos de uso de ML inspirados en clientes comunes para la realización de pruebas y referencia.

Los resultados se informan en las siguientes secciones.

Experimento de inferencia: comprensión de documentos en tiempo real con LayoutLM

La inferencia, a diferencia del entrenamiento, es una carga de trabajo continua e ilimitada que no tiene un punto de finalización definido. Por lo tanto, representa una gran parte del consumo de recursos durante toda la vida útil de una carga de trabajo de ML. Obtener una inferencia correcta es clave para lograr un alto rendimiento, bajo costo y sostenibilidad (mejor eficiencia energética) a lo largo del ciclo de vida completo de ML. Con tareas de inferencia, los clientes suelen estar interesados en lograr una cierta tasa de inferencia para seguir el ritmo de la demanda de ingresos.

El experimento presentado en este post está inspirado en un caso de uso de comprensión de documentos en tiempo real, que es una aplicación común en industrias como la banca o los seguros (por ejemplo, para el procesamiento de reclamaciones o formularios de solicitud). Específicamente, seleccionamos LayoutLM, un modelo transformador pre-entrenado utilizado para el procesamiento de imágenes de documentos y la extracción de información. Establecemos un SLA objetivo de 1.000.000 de inferencias por hora, un valor que a menudo se considera en tiempo real, y luego especificamos dos configuraciones de hardware capaces de cumplir con este requisito: una utilizando instancias EC2 Inf1 de Amazon, con AWS Inferentia, y otra utilizando instancias EC2 aceleradas comparables optimizadas para tareas de inferencia. A lo largo del experimento, seguimos varios indicadores para medir el rendimiento de inferencia, el costo y la eficiencia energética de ambas configuraciones de hardware. Los resultados se presentan en la siguiente figura.

Resultados de rendimiento, costo y eficiencia energética de pruebas de inferencia

AWS Inferentia ofrece un rendimiento de inferencia 6,3 veces mayor. Como resultado, con Inferentia, puede ejecutar la misma carga de trabajo de comprensión de documentos basada en LayoutLM en tiempo real en menos instancias (6 instancias de AWS Inferentia frente a 33 otras instancias EC2 aceleradas optimizadas para inferencia, lo que equivale a una reducción del 82%), usar menos de una décima parte (-92%) de la energía en el proceso, y todo mientras se logra un costo significativamente menor por inferencia (USD 2 frente a USD 25 por millón de inferencias, lo que equivale a una reducción del 91%).

Experimento de entrenamiento: Entrenamiento de BERT Large desde cero

El entrenamiento, a diferencia de la inferencia, es un proceso finito que se repite con mucha menos frecuencia. Los ingenieros de ML están típicamente interesados en un alto rendimiento del clúster para reducir el tiempo de entrenamiento mientras mantienen el costo bajo control. La eficiencia energética es una preocupación secundaria (pero creciente). Con AWS Trainium, no hay decisión de compensación: los ingenieros de ML pueden beneficiarse del alto rendimiento de entrenamiento mientras optimizan el costo y reducen el impacto ambiental.

Para ilustrar esto, seleccionamos BERT Large, un modelo de lenguaje popular utilizado para casos de uso de comprensión del lenguaje natural como la respuesta a preguntas basadas en chatbot y la predicción de respuestas conversacionales. Entrenar un modelo BERT Large bien rendimiento desde cero requiere típicamente que se procesen 450 millones de secuencias. Comparamos dos configuraciones de clúster, cada una con un tamaño fijo de 16 instancias y capaces de entrenar BERT Large desde cero (450 millones de secuencias procesadas) en menos de un día. La primera utiliza instancias EC2 aceleradas tradicionales. La segunda configuración utiliza instancias Amazon EC2 Trn1 con AWS Trainium. De nuevo, evaluamos ambos configuraciones en términos de rendimiento de entrenamiento, costo e impacto ambiental (eficiencia energética). Los resultados se muestran en la siguiente figura.

Resultados de rendimiento, costo y eficiencia energética de pruebas de entrenamiento

En los experimentos, las instancias basadas en AWS Trainium superaron a las instancias EC2 aceleradas optimizadas para el entrenamiento comparables en un factor de 1,7 en términos de secuencias procesadas por hora, reduciendo el tiempo total de entrenamiento en un 43% (2,3 horas versus 4 horas en instancias aceleradas EC2 comparables). Como resultado, al utilizar un clúster de instancias basado en Trainium, el consumo total de energía para entrenar BERT Large desde cero es aproximadamente un 29% menor en comparación con un clúster del mismo tamaño de instancias EC2 aceleradas comparables. De nuevo, estos beneficios de rendimiento y eficiencia energética también vienen con mejoras significativas en costos: el costo para entrenar la carga de trabajo de BERT ML es aproximadamente un 62% menor en instancias Trainium (USD 787 versus USD 2091 por ejecución completa de entrenamiento).

Introducción a los aceleradores de ML diseñados específicamente para AWS

Aunque los experimentos realizados aquí utilizan modelos estándar del dominio de procesamiento del lenguaje natural (NLP), AWS Inferentia y AWS Trainium destacan en muchas otras arquitecturas de modelos complejos, incluidos LLM y las arquitecturas de IA generativas más desafiantes que están construyendo los usuarios (como GPT-3). Estos aceleradores funcionan particularmente bien con modelos con más de 10 mil millones de parámetros, o modelos de visión por computadora como la difusión estable (consulte las Pautas de ajuste de arquitectura de modelos para obtener más detalles). De hecho, muchos de nuestros clientes ya están utilizando Inferentia y Trainium para una amplia variedad de casos de uso de ML.

Para ejecutar sus cargas de trabajo de aprendizaje profundo de extremo a extremo en instancias basadas en AWS Inferentia y AWS Trainium, puede utilizar AWS Neuron. Neuron es un kit de desarrollo de software (SDK) de extremo a extremo que incluye un compilador de aprendizaje profundo, tiempo de ejecución y herramientas que están integrados de manera nativa en los marcos de ML más populares como TensorFlow y PyTorch. Puede utilizar el SDK de Neuron para llevar fácilmente sus cargas de trabajo de ML de aprendizaje profundo existentes en TensorFlow o PyTorch a Inferentia y Trainium y comenzar a construir nuevos modelos utilizando los mismos marcos de ML conocidos. Para una configuración más sencilla, utilice una de nuestras imágenes de máquina de Amazon (AMIs) para aprendizaje profundo, que vienen con muchos de los paquetes y dependencias necesarios. Incluso más simple: puede utilizar Amazon SageMaker Studio, que admite nativamente TensorFlow y PyTorch en Inferentia y Trainium (consulte el repositorio aws-samples en GitHub para obtener un ejemplo).

Una última nota: aunque Inferentia y Trainium están diseñados específicamente para cargas de trabajo de aprendizaje profundo, muchos algoritmos de ML menos complejos pueden funcionar bien en instancias basadas en CPU (por ejemplo, XGBoost y LightGBM e incluso algunos CNN). En estos casos, una migración a AWS Graviton3 puede reducir significativamente el impacto ambiental de sus cargas de trabajo de ML. Las instancias basadas en AWS Graviton utilizan hasta un 60% menos de energía para el mismo rendimiento que las instancias EC2 aceleradas comparables.

Conclusión

Existe la idea equivocada de que ejecutar cargas de trabajo de ML de manera sostenible y eficiente en términos energéticos significa sacrificar el rendimiento o el costo. Con los aceleradores de AWS diseñados específicamente para el aprendizaje automático, los ingenieros de ML no tienen que hacer ese compromiso. En su lugar, pueden ejecutar sus cargas de trabajo de aprendizaje profundo en hardware de aprendizaje profundo diseñado específicamente, como AWS Inferentia y AWS Trainium, que supera significativamente a los tipos de instancias aceleradas de EC2 comparables, ofreciendo un costo más bajo, un rendimiento más alto y una mejor eficiencia energética, de hasta el 90%, todo al mismo tiempo. Para comenzar a ejecutar sus cargas de trabajo de ML en Inferentia y Trainium, consulte la documentación de AWS Neuron o cree uno de los notebooks de muestra. También puede ver la charla de AWS re:Invent 2022 sobre Sostenibilidad y la silicona de AWS (SUS206), que cubre muchos de los temas discutidos en esta publicación.