AWS Neuron
AWS Neuron es un SDK con un compilador, tiempo de ejecución y herramientas de creación de perfiles que desbloquea la aceleración del aprendizaje profundo (DL) de alto rendimiento y económico. Admite entrenamiento de alto rendimiento en instancias Trn1 de Amazon Elastic Compute Cloud (Amazon EC2) basadas en AWS Trainium. En el caso de la implementación de modelos, admite la inferencia de alto rendimiento y baja latencia en instancias Inf1 de Amazon EC2 basadas en AWS Inferentia e instancias Inf2 de Amazon EC2 basadas en AWS Inferentia2. Con Neuron, puede usar marcos populares, como TensorFlow y PyTorch, y entrenar e implementar modelos de machine learning (ML) de manera óptima en las instancias Trn1, Inf1 e Inf2 de Amazon EC2, y Neuron está diseñado para minimizar los cambios de código y las ataduras a soluciones de proveedores específicos.
Beneficios
Compilación con soporte nativo para marcos y bibliotecas de ML
El SDK AWS Neuron, que es compatible con los aceleradores Inferentia y Trainium, se integra de forma nativa con PyTorch y TensorFlow. Esta integración garantiza que se puedan seguir utilizando los flujos de trabajo existentes en estos marcos populares y que se pueda empezar a utilizar con solo unas pocas líneas de cambios en el código. Para el entrenamiento de modelos distribuidos, el SDK de Neuron admite bibliotecas, como Megatron-LM y PyTorch Fully Sharded Data Parallel (FSDP).
Optimizar el rendimiento del entrenamiento e inferencia
El SDK AWS Neuron permite una programación eficiente y el acceso en tiempo de ejecución a los aceleradores Trainium e Inferentia. Admite una amplia gama de tipos de datos, nuevos modos de redondeo, flujo de control y operadores personalizados para que pueda elegir la configuración óptima para sus cargas de trabajo de aprendizaje profundo. Para el entrenamiento distribuido, Neuron habilita el uso eficiente de UltraClusters de Trn1 con soporte acoplado estrechamente para operaciones de computación colectivas en redes de Elastic Fabric Adapter (EFA).
Obtenga una depuración y un monitoreo mejorados
Neuron ofrece compilación justo a tiempo (JIT, just in time) para acelerar los flujos de trabajo de los desarrolladores. Ofrece herramientas de depuración y generación de perfiles con el soporte del complemento TensorBoard. Neuron admite un modo de depuración ágil, que puede usar para revisar códigos y evaluar operadores uno por uno con facilidad. Puede usar las herramientas de ayuda de Neuron para seguir las prácticas recomendadas de integración de modelos y optimización de rendimiento. Neuron también incluye herramientas que proporcionan información sobre el rendimiento y uso.
Integración sencilla con otros servicios de AWS
Las AMI de aprendizaje profundo de AWS y los contenedores de aprendizaje profundo de AWS vienen preconfigurados con AWS Neuron. Si utiliza aplicaciones en contenedores, puede implementar Neuron mediante Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) o su motor de contenedores nativo preferido. Neuron también es compatible con Amazon SageMaker, que los científicos de datos y los desarrolladores pueden utilizar para crear, entrenar e implementar modelos de ML.
Características
Partición inteligente
AWS Neuron optimiza automáticamente la computación de red neuronal para ejecutar tareas de computación intensivas en Trainium e Inferentia y otras tareas en la CPU para aumentar el rendimiento general.
Amplia gama de tipos de datos de ML
AWS Neuron admite instancias FP32, TF32, BF16, FP16, INT8 y la nueva FP8 configurable. El uso de los tipos de datos adecuados para sus cargas de trabajo le permite optimizar el rendimiento y cumplir los objetivos de precisión.
Difusión automática de FP32
AWS Neuron toma modelos FP32 de alta precisión y los convierte de forma automática en tipos de datos de menor precisión, al tiempo que optimiza la precisión y el rendimiento. La difusión automática reduce el tiempo de comercialización al eliminar la necesidad de un reentrenamiento de menor precisión.
Compatibilidad nativa con el redondeo estocástico
AWS Neuron permite el redondeo estocástico impulsado por hardware. El redondeo estocástico permite entrenar a velocidades de BF16, con una precisión cercana a la de FP32 cuando se lleva a cabo la transmisión automática de FP32 a BF16.
Canalización de NeuronCore
La canalización de NeuronCore permite un paralelismo de modelos de alto rendimiento para aplicaciones sensibles a la latencia, como el procesamiento del lenguaje natural. Para ello, se lleva a cabo la partición de un grafo de cálculo entre varios NeuronCores, se almacenan en caché los parámetros del modelo en la memoria de cada núcleo. A continuación, se distribuyen las cargas de trabajo de entrenamiento e inferencia entre los núcleos de forma canalizada.
Operaciones de comunicación colectiva
AWS Neuron admite la ejecución de varias operaciones de comunicación colectiva y de cómputo en paralelo en hardware dedicado. De este modo, se consigue una menor latencia y un mayor rendimiento general en las cargas de trabajo distribuidas.
Operadores personalizados
AWS Neuron admite operadores personalizados. Puede escribir nuevos operadores personalizados en C++ y Neuron los ejecutará en los núcleos de instrucción única y datos múltiples (SIMD) de Trainium e Inferentia2.
Modo de depuración ágil
AWS Neuron admite un modo de depuración ágil, que puede usar para revisar códigos y evaluar operadores uno por uno con facilidad.
Funcionamiento
Amplíe y lea la descripción de la imagen.Aceleradores de machine learning de AWS
Aceleradores AWS Trainium
AWS Trainium es un acelerador de entrenamiento de ML que AWS creó especialmente para el entrenamiento de aprendizaje profundo de alto rendimiento y bajo costo. Cada acelerador de AWS Trainium cuenta con dos NeuronCores de segunda generación y admite tipos de datos FP32, TF32, BF16, FP16 e INT8 y también FP8 configurable (cFP8), que puede usar para lograr el equilibrio adecuado entre alcance y precisión. Para admitir un paralelismo eficiente de datos y modelos, cada acelerador Trainium tiene 32 GB de memoria de ancho de banda, ofrece hasta 210 TFLOPS de potencia computacional de FP16 o BF16 y cuenta con NeuronLink, una tecnología de interconexión intrainstancia sin bloqueos y de gran ancho de banda.
Aceleradores de AWS Inferentia
AWS Inferentia y AWS Inferentia2 son aceleradores de inferencia de machine learning que AWS diseñó y creó para ofrecer inferencia de alto rendimiento y bajo costo. Cada acelerador de AWS Inferentia tiene cuatro NeuronCores de primera generación y admite los tipos de datos FP16, BF16 e INT8. Cada acelerador de AWS Inferentia2 tiene dos NeuronCores de segunda generación y también agrega soporte para los tipos de datos FP32, TF32 y el nuevo FP8 configurable (cFP8).
Instancias de ML de Amazon EC2
Instancias Trn1 de Amazon EC2
Las instancias Trn1 de Amazon EC2, con la tecnología del acelerador de AWS Trainium, fueron creadas especialmente para el entrenamiento de aprendizaje profundo de alto rendimiento. Ofrecen hasta un 50 % de ahorro en el costo del entrenamiento con respecto a otras instancias de Amazon EC2 comparables. Las instancias Trn1 cuentan con hasta 16 aceleradores de AWS Trainium y admiten un ancho de banda de la red de hasta 1600 Gbps (Trn1n) de segunda generación del Elastic Fabric Adapter (EFA).
Instancias Inf2 de Amazon EC2
Las instancias Inf2 de Amazon EC2 cuentan con hasta 12 aceleradores AWS Inferentia2 y ofrecen un rendimiento hasta 4 veces mayor y una latencia hasta 10 veces menor en comparación con las instancias Inf1. Las instancias Inf2 son las primeras instancias optimizadas para la inferencia en Amazon EC2 que admiten la inferencia distribuida a escala con una conectividad de altísima velocidad entre los aceleradores.
Instancias Inf1 de Amazon EC2
Las instancias Inf1 de Amazon EC2 cuentan con hasta 16 aceleradores de AWS Inferentia. Estas instancias ofrecen un rendimiento hasta 2,3 veces mayor y un costo por inferencia hasta un 70 % menor que las instancias comparables de Amazon EC2.
Introducción
Para obtener más asistencia, visite el foro de desarrolladores, que también está disponible a través de la consola de administración de AWS.