AMD et Pytorch dévoilent les principales mises à jours de la plateforme logicielle ROCm

Développé par Meta AI, PyTorch est l’un des frameworks ML open source les plus utilisés. Soumith Chintala, l’un de ses créateurs, a annoncé le 12 septembre 2022, la création de la Fondation PyTorch au sein de la Linux Foundation, dont la principale mission est le développement collaboratif de logiciels open source. Le même jour, AMD (Advanced Micro Devices) fabricant américain de semi-conducteurs, microprocesseurs, cartes graphiques, annonçait qu’il rejoignait la Fondation PyTorch nouvellement créée en tant que membre fondateur. Tous deux partagent les mises à jour développées depuis.

La fondation Pytorch vise à démocratiser l’adoption des outils d’IA en favorisant et en soutenant un écosystème de projets open source avec PyTorch, le framework logiciel ML créé et encouragé à l’origine par Meta.

Son conseil d’administration se compose de représentants de Meta mais aussi, d’AMD, Amazon Web Services, Google, Microsoft et NVidia qui ont contribué à l’essor de PyTorch.

AMD, ainsi que les principaux développeurs de la base de code PyTorch, notamment ceux de Meta AI, ont fourni un ensemble de mises à jour de la plateforme logicielle ouverte ROCm qui apporte un support stable pour les accélérateurs AMD Instinct ainsi que de nombreux GPU Radeon.

Soumith Chintala déclare :

« Nous sommes ravis de voir l’impact significatif des développeurs d’AMD pour contribuer et étendre les fonctionnalités de PyTorch afin de rendre les modèles d’IA plus performants, efficaces et évolutifs. Un bon exemple de ceci est le leadership éclairé autour des approches de mémoire unifiée entre le framework et les futurs systèmes matériels, et nous sommes impatients de voir cette fonctionnalité progresser »

Les améliorations progressives apportées à l’architecture AMD CDNA ainsi qu’à ROCm et PyTorch montrent une augmentation du débit du modèle GPU unique d’AMD Instinct MI100 vers les GPU de la famille AMD Instinct MI200 de dernière génération passant de ROCm 4.2 à ROCm 5.3 et de PyTorch 1.7 à PyTorch 1.12.

Performances du modèle ML sur génération à l’aide de Microsoft Superbench Suit

Les principales mises à jour pour la prise en charge de ROCm depuis la version 1.12 de PyTorch

Intégration continue (IC) complète pour ROCm sur PyTorch

Avec le passage de la prise en charge ROCm de PyTorch de « Bêta » à « Stable », toutes les fonctions et fonctionnalités sont désormais vérifiées par un processus complet d’intégration continue (CI). Le processus CI permet de garantir le processus de construction et de test approprié avant une sortie attendue de la roue Docker et PIP avec des engagements stables à venir.

Prise en charge de Kineto Profiler

L’ajout de la prise en charge du profileur Kineto au ROCm aide désormais les développeurs et les utilisateurs à comprendre les goulots d’étranglement des performances grâce à des outils de diagnostic et de profilage efficaces. L’outil fournit également des recommandations pour améliorer les problèmes connus et la visualisation via l’interface utilisateur TensorBoard.

Prise en charge des bibliothèques clés de Pytorch

Les bibliothèques de l’écosystème PyTorch comme TorchText (classification de texte), TorchRec (bibliothèques pour les systèmes de recommandation – RecSys), TorchVision (Vision par ordinateur), TorchAudio (traitement audio et du signal) sont entièrement prises en charge depuis ROCm 5.1 et en amont avec PyTorch 1.12.

Les bibliothèques clés fournies avec la pile logicielle ROCm, y compris MIOpen (modèles Convolution), RCCL (ROCm Collective Communications) et rocBLAS (BLAS pour transformateurs) ont été optimisées pour offrir de nouvelles efficacités potentielles et des performances supérieures.

MIOpen innove sur plusieurs fronts :

  • la mise en œuvre de la fusion pour optimiser la bande passante mémoire et les frais généraux de lancement GPU;
  • la fourniture d’une infrastructure de réglage automatique pour surmonter le grand espace de conception des configurations de problèmes;
  • la mise en œuvre de différents algorithmes pour optimiser les circonvolutions pour différentes tailles de filtre et d’entrée.

MIOpen est l’une des premières bibliothèques à prendre en charge publiquement le type de données bfloat16 pour les circonvolutions, permettant une formation efficace avec une précision inférieure en maintenant la précision attendue.

RCCL est une bibliothèque autonome de routines de communication collective standard pour les GPU, implémentant all-reduce, all-gather, reduce, broadcast, reduce-scatter, gather, scatter et all-to-all. Il existe une prise en charge des opérations directes d’envoi et de réception GPU-GPU. Il a été optimisé pour atteindre une bande passante élevée sur les plates-formes utilisant PCIe®, Infinity Fabric™ (GPU à GPU) ainsi que la mise en réseau utilisant des verbes InfiniBand ou des sockets TCP / IP. RCCL prend en charge un nombre arbitraire de GPU installés dans un ou plusieurs nœuds et peut être utilisé dans des applications à un ou plusieurs processus (par exemple, MPI).

En plus des points forts ci-dessus, plus de 50 fonctionnalités et améliorations de fonctionnalités ont été réalisées conjointement entre AMD et PyTorch pour ajouter un support stable pour ROCm. Il s’agit notamment d’améliorations apportées aux outils, aux compilateurs, au runtime, aux optimisations graphiques via TorchScript, à l’utilisation du chemin quantitatif INT8 et à l’intégration du runtime ONNX, y compris la prise en charge de la carte graphique de centre de données Radeon™ PRO basée sur Navi 21, pour n’en nommer que quelques-unes.

Le moteur d’interférence AITemplate

MetaAI a récemment publié un blog annonçant la sortie de son open source AITemplate pour un système d’inférence unifié prenant en charge les accélérateurs GPU AMD Instinct utilisant la pile AMD ROCm. Ce framework basé sur Python peut aider à améliorer considérablement les performances grâce à une utilisation accrue des cœurs matriciels AMD pour les blocs transformateurs. Ceci est réalisé grâce à la bibliothèque AMD Composable Kernel (CK) qui fournit des noyaux critiques pour les performances critiques pour les charges de travail ML AI sur plusieurs architectures, y compris les GPU et les CPU via HIP et C ++.

En outre, l’AITemplate fournit également un support prêt à l’emploi pour les modèles d’IA largement utilisés tels que BERT, ResNET, Vision Transformer, Stable Diffusion… simplifiant le processus de déploiement grâce à ces modèles préentraînés.

Source : blog d’AMD

Recevez gratuitement l'actualité de l'intelligence artificielle

Suivez la Newsletter de référence sur l'intelligence artificielle (+ de 18 000 membres), quotidienne et 100% gratuite.


Tout comme vous, nous n'apprécions pas le spam. Vos coordonnées ne seront transmises à aucun tiers.
Partager l'article
intelligence artificielle
À PROPOS DE NOUS
Le portail francophone consacré à l'intelligence artificielle et à la datascience, à destination des chercheurs, étudiants, professionnels et passionnés.