AWS Neuron
AWS Neuron est un kit SDK comprenant un compilateur, un moteur d'exécution et des outils de profilage qui permet d'accélérer le deep learning (DL) de manière performante et rentable. Il prend en charge la formation haute performance sur les instances Trn1 d'Amazon Elastic Compute Cloud (Amazon EC2) basées sur AWS Trainium. En ce qui concerne le déploiement de modèles, il prend en charge l’inférence à haute performance et à faible latence sur les instances Amazon EC2 Inf1 basées sur AWS Inferentia et les instances Amazon EC2 Inf2 basées sur AWS Inferentia2. Avec Neuron, vous pouvez utiliser des cadres courants, tels que TensorFlow et PyTorch, et entraîner et déployer de manière optimale des modèles de machine learning (ML) sur des instances Amazon EC2 Trn1, Inf1 et Inf2. Par ailleurs, Neuron est conçu pour réduire les modifications du code et est lié aux solutions spécifiques à un fournisseur.
Avantages
Créez avec la prise en charge native des cadres et bibliothèques ML
Le kit SDK AWS Neuron, qui prend en charge les accélérateurs Inferentia et Trainium, est intégré de manière native à PyTorch et TensorFlow. Cette intégration vous permet de continuer à utiliser vos flux de travail existants dans ces cadres populaires et démarrer en modifiant seulement quelques lignes de code. Pour la formation de modèles distribués, le kit SDK Neuron prend en charge des bibliothèques telles que Megatron-LM et PyTorch Fully Sharded Data Parallel (FSDP).
Optimisez les performances pour la formation et l'inférence
Le kit SDK AWS Neuron permet une programmation efficace et un accès aux accélérateurs Trainium et Inferentia pendant l'exécution. Il prend en charge un large éventail de types de données, de nouveaux modes d'arrondi, de flux de contrôle et d'opérateurs personnalisés, afin de vous aider à choisir la configuration optimale pour vos charges de travail DL. Pour la formation distribuée, Neuron permet une utilisation efficace des UltraClusters Trn1 avec une prise en charge étroitement couplée des opérations de calcul collectif sur le réseau Elastic Fabric Adapter (EFA).
Obtenez un meilleur débogage et un meilleur contrôle
Neuron propose la compilation juste-à-temps (JAT) pour accélérer les flux de travail des développeurs. Il offre des outils de débogage et de profilage avec le support du plugin TensorBoard. Neuron prend en charge le mode de débogage rapide, que vous pouvez utiliser pour parcourir facilement le code et évaluer les opérateurs un par un. Vous pouvez utiliser les outils d'aide de Neuron pour vous aider à suivre les bonnes pratiques en matière d'intégration des modèles et d'optimisation des performances. Neuron comprend également des outils qui fournissent des informations sur les performances et l'utilisation des ressources.
Intégration facile aux autres services AWS
Les AMI AWS Deep Learning et les conteneurs AWS Deep Learning sont préconfigurés avec AWS Neuron. Si vous utilisez des applications conteneurisées, vous pouvez déployer AWS Neuron en utilisant Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) ou votre moteur de conteneur natif préféré. Neuron prend également en charge Amazon SageMaker, que les scientifiques et les développeurs de données peuvent utiliser pour construire, former et déployer des modèles ML.
Fonctionnalités
Partitionnement intelligent
Pour augmenter les performances globales, AWS Neuron optimise automatiquement le calcul par réseau neuronal pour exécuter les tâches à forte intensité de calcul sur les accélérateurs Trainium et Inferentia et les autres tâches sur le CPU.
Large gamme de types de données ML
AWS Neuron prend en charge les formats FP32, TF32, BF16, FP16, INT8 et le nouveau format configurable FP8. En utilisant les bons types de données pour vos charges de travail, vous optimisez les performances tout en atteignant vos objectifs de précision.
Conversion automatique des modèles FP32
AWS Neuron prend des modèles FP32 de haute précision et les convertit automatiquement en types de données de moindre précision, tout en optimisant la précision et les performances. La conversion automatique réduit les délais de mise sur le marché en supprimant le besoin de reformation en basse précision.
Prise en charge native pour l'arrondi stochastique
AWS Neuron permet de réaliser des arrondis stochastiques accélérés par le matériel. L'arrondi stochastique permet de s'entraîner à des vitesses BF16, avec une précision proche de FP32 lors de la conversion automatique de FP32 à BF16.
Pipeline NeuronCore
Le pipeline NeuronCore permet un parallélisme de modèles à haut débit pour les applications sensibles à la latence, telles que le traitement du langage naturel. Pour ce faire, le pipeline partage un graphe de calcul entre plusieurs NeuronCores, mettant en cache les paramètres du modèle dans la mémoire sur puce de chaque cœur. Il transmet ensuite par pipeline les charges de travail de formation et d'inférence dans les cœurs.
Opérations de communication collective
AWS Neuron prend en charge l'exécution de diverses opérations collectives de communication et de calcul en parallèle sur du matériel dédié. Cela permet de réduire la latence et d'améliorer les performances globales des charges de travail distribuées.
Opérateurs personnalisés
AWS Neuron prend en charge les opérateurs personnalisés. Vous pouvez écrire de nouveaux opérateurs personnalisés en C++ et Neuron les exécutera sur les cœurs SIMD (single instruction, multiple data) en ligne de Trainium et Inferentia2.
Mode de débogage rapide
AWS Neuron prend en charge le mode de débogage rapide, que vous pouvez utiliser pour parcourir facilement le code et évaluer les opérateurs un par un.
Fonctionnement
Agrandir et lire la description de l'imageAccélérateurs de machine learning AWS
Accélérateurs AWS Trainium
AWS Trainium est un accélérateur de formation de ML spécialement conçu par AWS pour la formation au DL à haute performance et à faible coût. Chaque accélérateur AWS Trainium comporte deux NeuronCores de deuxième génération et prend en charge les types de données FP32, TF32, BF16, FP16 et INT8, ainsi que le FP8 configurable (cFP8), que vous pouvez utiliser pour atteindre le bon équilibre entre portée et précision. Pour prendre en charge le parallélisme efficace des données et des modèles, chaque accélérateur Trainium dispose de 32 Go de mémoire à large bande passante, fournit jusqu'à 210 TFLOPS de puissance de calcul FP16/BF16 et est doté de NeuronLink, une technologie d'interconnexion non bloquante intra-instance à très haut débit.
Accélérateurs AWS Inferentia
AWS Inferentia et AWS Inferentia2 sont des accélérateurs d'inférence de machine learning conçus et créés par AWS pour offrir une inférence à performances élevées et à faible coût. Chaque accélérateur AWS Inferentia possède quatre NeuronCores de première génération et prend en charge les données de type FP16, BF16, et INT8. Chaque accélérateur AWS Inferentia2 est doté de deux NeuronCores de deuxième génération et prend en charge les formats FP32, TF32 et le nouveau type de données FP8 configurable (cFP8).
Instances ML Amazon EC2
Instances Trn1 Amazon EC2
Les instances Trn1 Amazon EC2 alimentées par l'accélérateur AWS Trainium, sont spécialement conçues pour la formation de DL haute performance. Elles permettent d'économiser jusqu'à 50 % sur les coûts de formation par rapport aux instances Amazon EC2 comparables. Les instances Trn1 intègrent jusqu'à 16 accélérateurs AWS Trainium et prennent en charge jusqu'à 1 600 Gbit/s (Trn1n) de bande passante réseau Elastic Fabric Adapter (EFA) de deuxième génération.
Instances Inf2 Amazon EC2
Les instances Inf2 Amazon EC2sont alimentées par un maximum de 12 accélérateurs AWS Inferentia2 et offrent un débit jusqu'à 4 fois supérieur et une latence jusqu'à 10 fois inférieure par rapport aux instances Inf1. Les instances Inf2 sont les premières instances optimisées pour l'inférence dans Amazon EC2 à prendre en charge l'inférence distribuée à grande échelle avec une connectivité à ultra haute vitesse entre les accélérateurs.
Instances Inf1 Amazon EC2
Les instances Inf1 Amazon EC2 sont alimentées par un maximum de 16 accélérateurs AWS Inferentia. Ces instances offrent un débit jusqu'à 2,3 fois plus élevé et leur coût par inférence est jusqu'à 70 % inférieur à celui des instances Amazon EC2 comparables.
Démarrage
Pour obtenir une assistance supplémentaire, consultez le forum des développeurs, qui est également disponible via la console de gestion AWS.