
Les points forts sont les suivants :
- Intégration Continue (IC) complète pour ROCm sur PyTorch – Toutes les fonctions sont désormais vérifiées par un processus complet d’intégration continue, ce qui permet de favoriser un processus de création et de test approprié avant la sortie prévue de wheel Docker et PIP.
- Ajout du profileur Kineto - Avec l'ajout du support du profileur à ROCm, les développeurs et les utilisateurs peuvent profiter des outils de diagnostic et de profilage pour mieux comprendre et traiter les goulots d'étranglement des performances.
- Prise en charge des principales bibliothèques PyTorch - Les bibliothèques de l'écosystème PyTorch comme TorchText, TorchRec, TorchVision, TorchAudio et d'autres collections optimisées comme MIOpen, RCCL et rocBLAS sont accessibles pour atteindre de nouveaux gains d’efficacité potentiels et de meilleures performances
- Moteur d'inférence AITemplate - Pour améliorer les performances, AITemplate, le logiciel libre de MetaAI, et la bibliothèque AMD Composable Kernel (CK) peuvent prendre en charge une utilisation accrue des cœurs matriciels AMD pour les blocs de transformation.
Pour faciliter l'accélération de l'IA à la fois à la périphérie et dans les centres de données, AMD fournit également un support PyTorch pour son portefeuille de FPGA et de SoC adaptatifs. La plateforme AMD Vitis AI propose des modèles d'IA, des Deep learning Processor Unit (DPU) optimisés, des outils, des bibliothèques et des exemples de conception pour l'IA.
Démocratiser l'IA avec la Fondation PyTorch et le support ROCm™ pour PyTorch
L'année dernière, Meta a annoncé que PyTorch rejoignait la Fondation Linux en tant que foyer neutre pour la croissance du projet et de la communauté d'apprentissage automatique, avec une représentation d'AMD faisant partie des membres fondateurs et du conseil d'administration.
AMD, en collaboration avec les principaux développeurs de la base de code PyTorch (y compris ceux de Meta AI), a livré un ensemble de mises à jour de l'écosystème logiciel ouvert ROCm™ qui apporte un support stable pour les accélérateurs AMD Instinct™ ainsi que pour de nombreux GPU Radeon™. Cela donne maintenant aux développeurs PyTorch la possibilité de construire leurs prochaines grandes solutions d'IA en exploitant les accélérateurs GPU AMD et ROCm. Le soutien de la communauté PyTorch dans l'identification des lacunes, la priorisation des mises à jour clés, les commentaires pour l'optimisation des performances et le soutien de notre voyage de "Beta" à "Stable" a été immensément utile et la forte collaboration entre les deux équipes d'AMD et de PyTorch est profondément appréciée.
Le passage de la prise en charge de ROCm de "Beta" à "Stable" a eu lieu dans la version 1.12 de PyTorch (juin 2022) qui apporte le support supplémentaire pour exécuter facilement PyTorch dans un environnement natif sans avoir à configurer des dockers personnalisés. C'est un signe de confiance quant à la qualité du support et des performances de PyTorch utilisant AMD Instinct et ROCm. Les résultats de ces efforts de collaboration sont évidents dans les performances mesurées sur les principaux benchmarks de l'industrie comme SuperBench de Microsoft présenté ci-dessous dans le graphique 1.
Soumith Chintala, lead-mainteneur de PyTorch et directeur de l'ingénierie, Meta AI, a déclaré :
Nous sommes ravis de constater l'impact significatif des développeurs d'AMD qui contribuent et étendent les fonctionnalités de PyTorch afin que les modèles d'IA s'exécutent de manière plus performante, efficace et évolutive. Un excellent exemple de cela est le leadership de la pensée autour des approches de mémoire unifiée entre le cadre et les futurs systèmes matériels, et nous sommes impatients de voir cette fonctionnalité progresser.
Graphique 1 : Performance du modèle ML sur la génération en utilisant Microsoft Superbench Suite 1, 2, 3
Intégration continue (IC) complète pour ROCm sur PyTorch
Avec le passage du support ROCm pour PyTorch de "Beta" à "Stable", toutes les fonctions et caractéristiques commises sont maintenant vérifiées par un processus complet d'intégration continue (IC). Le processus d'intégration continue permet de garantir un processus de construction et de test adéquat avant la sortie prévue d'une version Docker et PIP wheel avec des commits stables à venir.
Support pour Kineto Profiler
L'ajout de la prise en charge du profileur Kineto à ROCm aide désormais les développeurs et les utilisateurs à comprendre les goulets d'étranglement en matière de performance 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.
Ajout du support des librairies clés de PyTorch
Les bibliothèques de l'écosystème PyTorch telles que 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 supportées depuis ROCm 5.1 et en amont avec PyTorch 1.12.
Les bibliothèques clés fournies avec la pile logicielle ROCm, notamment MIOpen (modèles de convolution), RCCL (ROCm Collective Communications) et rocBLAS (BLAS pour les transformateurs) ont été optimisées pour offrir de nouvelles efficacités potentielles et des performances plus élevées.
MIOpen innove sur plusieurs fronts, comme la mise en œuvre de la fusion pour optimiser la bande passante de la mémoire et les frais de lancement du GPU, la fourniture d'une infrastructure d'auto-tuning pour surmonter le vaste espace de conception des configurations de problèmes, et la mise en œuvre de différents algorithmes pour optimiser les convolutions pour différents filtres et tailles d'entrée. MIOpen est l'une des premières bibliothèques à prendre publiquement en charge le type de données bfloat16 pour les convolutions, ce qui permet un apprentissage efficace avec une précision moindre, tout en maintenant la précision attendue.
RCCL (prononcé "Rickle"

Outre les points saillants ci-dessus, plus de 50 caractéristiques et améliorations de fonctionnalité ont été réalisées conjointement par AMD et PyTorch pour ajouter un support stable à ROCm. Il s'agit notamment d'améliorations apportées aux outils, aux compilateurs, au runtime, à l...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.