AWS Neuron

Kit SDK destiné à optimiser l’IA et deep learning sur AWS Trainium et AWS Inferentia

Qu’est-ce qu’AWS Neuron ?

AWS Neuron est le kit de développement logiciel (SDK) utilisé pour exécuter des charges de travail de deep learning et d’IA générative sur des instances Amazon Elastic Compute Cloud (Amazon EC2) alimentées par AWS Inferentia et AWS Trainium. Il comprend un compilateur, des bibliothèques d’exécution, d’entraînement et d’inférence, ainsi que des outils de développement pour la surveillance, le profilage et le débogage. Neuron prend en charge votre cycle de développement de machine learning (ML) de bout en bout, notamment en créant et en déployant des modèles de deep learning et d’IA, en optimisant pour atteindre les meilleures performances et les moindres coûts, et en obtenant des informations plus approfondies sur le comportement des modèles.

motif de fond

Intégration native avec les cadres et bibliothèques ML courants

Neuron s’intègre nativement à PyTorch et JAX, ainsi qu’à des bibliothèques de ML essentielles telles que Hugging Face Optimum Neuron, PyTorch Lightning et AxLearn. Neuron prend également en charge OpenXLA, y compris StableHLO et GSPMD, ce qui permet aux développeurs PyTorch, XLA et JAX d’utiliser les optimisations du compilateur de Neuron pour Inferentia et Trainium. Neuron vous permet d’utiliser des instances basées sur Trainium et Inferentia avec des services tels qu’Amazon SageMaker, Amazon EKS, Amazon ECS, AWS ParallelCluster et AWS Batch, ainsi que des services tiers tels que Ray (Anyscale), Domino Data Lab, Datadog et Weights et Biases.

motif de fond

Bibliothèques d’entraînement et d’inférence distribuées

Neuron inclut des optimisations prêtes à l’emploi pour l’entraînement et l’inférence distribués avec les bibliothèques open source PyTorch NxD Training et NxD Inference. NxD Training simplifie et optimise l’entraînement distribué à grande échelle et prend en charge diverses architectures de modèles, stratégies de parallélisme et flux de travail de l’entraînement. NxD Inference fournit une solution complète visant à optimiser l’inférence de modèles avec des fonctionnalités clés telles que l’échantillonnage sur l’appareil, la fusion de poids QKV, le traitement par lots continu, le décodage spéculatif, la mise en compartiment dynamique et l’inférence distribuée. NxD Inference s’intègre également à des solutions de service telles que vLLM et Hugging Face TGI. Ils incluent tous deux un concentrateur de modèles pour différents modèles d’architecture.

motif de fond

Capacités avancées en sciences appliquées

Neuron possède plusieurs capacités en sciences appliquées qui permettent aux scientifiques et aux chercheurs de repousser les limites de la recherche et de l’innovation en matière d’IA open source sur Trainium et Inferentia. Le Neuron Kernel Interface (NKI) fournit un accès direct aux primitives matérielles et aux instructions disponibles sur AWS Trainium et Inferentia, permettant aux chercheurs de créer et de régler des noyaux de calcul pour des performances optimales. Il s'agit d'un environnement de programmation basé sur Python qui adopte une syntaxe de type Triton et une sémantique au niveau des tuiles couramment utilisées. Les chercheurs peuvent utiliser le NKI pour améliorer les modèles de deep learning grâce à de nouvelles fonctionnalités, optimisations et innovations scientifiques. Les opérateurs C++ personnalisés de Neuron permettent aux développeurs d’étendre les fonctionnalités du SDK en créant leurs propres opérateurs optimisés pour Inferentia et Trainium.

motif de fond

De puissants outils pour les développeurs

Le kit SDK AWS Neuron propose un ensemble d’outils complets permettant de mieux fournir des informations détaillées sur la surveillance, la gestion et l’optimisation des modèles de deep learning sur les instances EC2 alimentées par AWS Inferentia et Trainium. Il fournit des utilitaires tels que neuron-top, neuron-monitor et Neuron Sysfs pour surveiller les ressources matérielles, l’exécution des modèles et les détails du système. Pour les applications conteneurisées sur Kubernetes et EKS, Neuron simplifie la surveillance grâce à l’intégration d’Amazon CloudWatch et à d’autres outils d’observabilité populaires tels que Data Dog et Weights & Biases. En outre, l’outil de profil neuronal permet d’identifier et de résoudre les problèmes de performances dans les applications à nœud uniques et distribuées, et fournit des fonctionnalités de profilage natives pour les cadres de machine learning courants.

motif de fond

Mise en route

Neuron Deep Learning Amazon Machine Images (Neuron DLAMIs) est préconfiguré avec le SDK Neuron, des frameworks populaires et des bibliothèques utiles, ce qui vous permet de commencer rapidement à vous entraîner et à exécuter des inférences sur AWS Inferentia. Neuron DLAMIs rationalise votre flux de travail et optimise les performances, en éliminant les complexités de configuration afin que vous puissiez vous concentrer sur la création et le déploiement de modèles d’IA. Commencez à utiliser Neuron DLAMIs.

Déployez rapidement des modèles à l’aide de conteneurs Deep Learning AWS Neuron (DLC Neuron) préconfigurés avec des frameworks optimisés pour Trainium et Inferentia. Pour des solutions personnalisées, créez vos propres conteneurs et tirez parti des fonctionnalités de Kubernetes telles que le plugin Neuron Device, l’extension Neuron Scheduler et les Charts de Helm. Intégrez facilement les services AWS tels qu’Amazon EKS, AWS Batch et Amazon ECS pour des déploiements évolutifs. Commencez à utiliser les DLC Neuron.

Optimum Neuron fait le lien entre les transformeurs Hugging Face et le SDK AWS Neuron, fournissant des API Hugging Face standard pour Trainium et Inferentia. Il propose des solutions pour la formation et l’inférence, notamment la prise en charge de l’entraînement de modèles à grande échelle et le déploiement de flux de travail d’IA. Compatible avec Amazon SageMaker et les conteneurs Deep Learning prédéfinis, Optimum Neuron simplifie l’utilisation de Trainium et Inferentia pour le machine learning. Cette intégration permet aux développeurs de travailler avec des interfaces Hugging Face familières tout en tirant parti de Trainium et Inferentia pour leurs projets basés sur des transformeurs. Commencez à utiliser Hugging Face Optimum Neuron.

Vous pouvez utiliser Amazon SageMaker JumpStart pour entraîner et déployer des modèles à l’aide de Neuron. JumpStart fournit une assistance pour optimiser et déployer des modèles populaires tels que la famille de modèles Llama de Meta. Commencez à utiliser SageMaker JumpStart.