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