Publicado en: Oct 10, 2022
AWS Neuron suma compatibilidad con las instancias Trn1 de Amazon EC2 con tecnología de AWS Trainium para obtener un alto rendimiento y una gran rentabilidad en el entrenamiento de aprendizaje profundo a escala. El kit de desarrollo de software (SDK) de Neuron incluye un compilador, bibliotecas de tiempo de ejecución y herramientas de generación de perfiles que se integran con los marcos más comunes de machine learning, como PyTorch y Tensorflow. Con esta primera versión de Neuron 2.x, los desarrolladores podrán ejecutar cargas de trabajo de entrenamiento de aprendizaje profundo en instancias Trn1 para ahorrar hasta un 50 % en costos de entrenamiento, en comparación con las instancias de EC2 basadas en GPU. Al mismo tiempo, obtendrán un rendimiento óptimo en el entrenamiento en la nube de AWS para los modelos más comunes de procesamiento de lenguaje natural (NLP).
Comenzando por los modelos de lenguaje, Neuron suma compatibilidad para entrenar modelos de aprendizaje profundo. Luego le seguirán otras familias de modelos, incluidos los de visión artificial (tal como se señala en la hoja de ruta de Neuron). En los modelos de lenguaje, esta versión de Neuron admite arquitecturas de modelo de codificadores/autocodificadores y de decodificadores/autorregresivas de transformadores, como GPT. Para agilizar los flujos de trabajo de los desarrolladores y brindar una visión más detallada de las cargas de trabajo de entrenamiento, Neuron ahora es compatible con una compilación “justo a tiempo” (JIT) óptima, una ejecución paso a paso con el modo de depuración ávida y herramientas que ofrecen información sobre el rendimiento y el uso.
A fin de que los desarrolladores puedan aprovechar las innovaciones de Trainium y maximizar los beneficios de costo y rendimiento, Neuron incluye varias optimizaciones de hardware. Admite los tipos de datos FP32, TF32, FP16 y BF16, y la difusión automática desde FP32 hacia TF32, BF16 y FP16. También incorpora la compatibilidad con el redondeo estocástico acelerado por hardware, que posibilita el entrenamiento a velocidades de BF16 con un rango de precisión de FP32 cuando se lleva a cabo la difusión automática de FP32 a BF16.
Para admitir el entrenamiento distribuido de modelos de gran escala en los aceleradores de un UltraCluster de Trn1, Neuron ahora admite varias operaciones informáticas colectivas y un ancho de banda de red de 800 Gbps para redes EFA, que actualmente es el valor más alto que se ofrece en la nube de AWS. Neuron también ofrece compatibilidad con bibliotecas de entrenamiento distribuido, como Megatron-LM, en un repositorio público de gitHub.
Los desarrolladores pueden ejecutar cargas de trabajo de entrenamiento de aprendizaje profundo en instancias Trn1 mediante las AMI de aprendizaje profundo de AWS, los contenedores de aprendizaje profundo de AWS o servicios administrados, como Amazon Elastic Container Service (Amazon ECS) y AWS ParallelCluster, que pronto serán compatibles con Amazon Elastic Kubernetes Service (Amazon EKS), Amazon SageMaker y AWS Batch. Para que los desarrolladores puedan familiarizarse más rápidamente, esta versión incluye ejemplos de entrenamiento previo y ajustes del modelo BERT-large de HuggingFace y de entrenamiento previo del modelo GPT3 (6.7B) de Megatron-LM.
Las instancias Trn1 están disponibles en las siguientes regiones de AWS como instancias bajo demanda, instancias reservadas e instancias de spot, o como parte de Savings Plan: Este de EE. UU. (Norte de Virginia) y Oeste de EE. UU. (Oregón). Para comenzar a usar las instancias Trn1, consulte la documentación de Neuron. Para ver la lista completa de características, mejoras y cambios de esta versión, consulte las notas de la versión. Para conocer las próximas capacidades, consulte la hoja de ruta de Neuron.