Publié le: Oct 10, 2022

AWS Neuron ajoute la prise en charge d'instances Amazon EC2 Trn1 alimentées par AWS Trainium pour permettre des entraînements en deep learning haute performance et rentables à grande échelle. Le SDK Neuron inclut un compilateur, des bibliothèques d'exécution et des outils de profilage qui intègrent des cadres de ML populaires comme PyTorch et Tensorflow. Avec cette première version de Neuron 2.x, les développeurs peuvent désormais exécuter des charges de travail d'entraînement de deep learning sur des instances Trn1 pour réaliser des économies sur leurs coûts d'entraînement pouvant aller jusqu'à 50 % par rapport à des instances EC2 comparables basées sur GPU tout en obtenant les performances d'entraînement les plus élevées dans le cloud AWS pour des modèles de traitement du langage naturel populaires. 

Neuron ajoute la prise en charge des modèles de deep learning d'entraînement en commençant par les modèles de langue qui seront suivis par des familles de modèles supplémentaires, notamment les modèles de reconnaissance d'image [comme indiqué dans la feuille de route Neuron]. En ce qui concerne les modèles de langue, cette version de Neuron prend en charge les architectures de modèles Transformers Encoder/Autoencoder et Transformers Decoders/Autoregressive comme GPT. Pour contribuer à accélérer les flux de travail des développeurs et apporter de meilleurs insights aux charges de travail d'entraînement, Neuron prend désormais en charge la compilation transparente juste à temps, l'exécution étape par étape avec le mode Eager Debug et des outils qui apportent des insights de performances et d'utilisation.

Pour aider les développeurs à tirer profit des innovations Trainium et à maximiser leurs performances et leur rentabilité, Neuron débloque plusieurs optimisations matérielles. Il prend en charge les types de données FP32, TF32, FP16 et BF16 et les conversions automatiques de FP32 vers TF32, BF16 et FP16. Elle ajoute aussi la prise en charge de l'arrondi stochastique accéléré par le matériel qui permet des entraînements à des vitesses BF16 avec une plage de précision FP32 lors d'une conversion automatique de FP32 à BF16.

Pour prendre en charge l'entraînement distribué de modèles à grande échelle sur des accélérateurs dans un Trn1 UltraCluster, Neuron ajoute la prise en charge de diverses opérations de calcul collectives et 800 Gbit/s de mise en réseau EFA qui est la bande passante du réseau la plus élevée proposée actuellement dans le cloud AWS. Neuron propose également la prise en charge de bibliothèques d'entraînement distribuées comme Megatron-LM dans un référentiel gitHub public.

Les développeurs peuvent exécuter des charges de travail d'entraînement DL sur des instances Trn1 à l'aide des AMI AWS Deep Learning, des conteneurs AWS Deep Learning ou de services gérés comme Amazon Elastic Container Service (Amazon ECS) et AWS ParallelCluster. Quant à la prise en charge d'Amazon Elastic Kubernetes Service (Amazon EKS), d'Amazon SageMaker et d'AWS Batch, celle-ci arrivera prochainement. Pour aider les développeurs à se lancer, cette version propose des exemples de pré-entraînement et de paramétrage de HuggingFace BERT-large et un pré-entraînement du modèle Megatron-LM GPT3 (6.7B).

Les instances Trn1 sont disponibles dans les régions AWS sous la forme d'instances à la demande, d'instances réservées et d'instances Spot ou dans le cadre d'un Savings Plan : USA Est (Virginie du Nord) et USA Ouest (Oregon). Pour vous lancer dans les instances Trn1, veuillez vous reporter à la documentation Neuron. Pour obtenir la liste complète des fonctionnalités, des améliorations et des modifications apportées par cette version, veuillez consulter les notes de mise à jour. Pour obtenir des insights sur les fonctionnalités à venir, veuillez vous référer à la feuille de route Neuron