AWS Neuron

SDK para optimizar el machine learning en los aceleradores AWS Trainium y AWS Inferentia

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

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.

Más información »

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).

Más información »

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).

Más información »

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.

Más información »

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.

Más información »

Introducción

Consulte la documentación para ver los tutoriales, las guías prácticas, las notas de la aplicación y los planes de desarrollo.

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.