Enabling Memory-efficient Im2win Convolution with Multi-precision Support on GPU CUDA and Tensor Cores
Cet article présente un framework de convolution im2win optimisé et efficace en mémoire pour les GPU qui exploite le support multi-précision et des fonctionnalités matérielles spécialisées telles que les Tensor Cores pour atteindre des performances nettement plus élevées et une utilisation de la mémoire moindre par rapport aux méthodes existantes comme cuDNN et les approches basées sur GEMM.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
L'apprentissage profond, la technologie qui sous-tend la reconnaissance d'images moderne et la conduite autonome, repose largement sur une opération mathématique appelée convolution. Vous pouvez concevoir cette opération comme une fenêtre glissante qui balaie une image, comparant de petits patchs de pixels à un ensemble de motifs pour identifier des caractéristiques telles que des bords ou des textures. Ce processus est le moteur de l'intelligence artificielle, consommant la vaste majorité du temps et de l'énergie nécessaires au fonctionnement de ces systèmes. Pour rendre ces systèmes plus rapides et plus efficaces, les chercheurs ont passé des années à tenter d'optimiser la manière dont cette fenêtre glissante se déplace à travers les données sur les puces informatiques, plus précisément sur les puissants processeurs graphiques (GPU) que l'on trouve dans les ordinateurs haut de gamme. Le défi a toujours été un compromis : les méthodes rapides nécessitent souvent de vastes quantités de mémoire temporaire, tandis que les méthodes qui économisent la mémoire ont tendance à être lentes ou instables.
Une équipe de chercheurs a maintenant développé une nouvelle façon d'effectuer ces calculs qui brise ce compromis. Ils ont perfectionné une technique appelée « im2win », qui réorganise la manière dont l'ordinateur stocke et accède aux données de l'image pendant le balayage. En modifiant la disposition des données, la nouvelle méthode permet à l'ordinateur de déplacer l'information dans un flux lisse et continu plutôt que de sauter de manière éparpillée. Ce simple changement d'organisation réduit de plus de la moitié la quantité de mémoire temporaire que l'ordinateur doit conserver par rapport aux anciennes méthodes standards. De plus, les chercheurs ont adapté cette technique pour qu'elle fonctionne avec deux types différents de puissance de traitement à l'intérieur des puces modernes : les cœurs à usage général qui gèrent les calculs précis, et les « cœurs tensoriels » spécialisés, conçus pour accélérer des blocs massifs de nombres à la fois.
Les chercheurs ont testé leur approche sur douze types différents de tâches de traitement d'images, allant de filtres simples à des couches complexes présentes dans les réseaux neuronaux avancés. Ils ont constaté que leur méthode optimisée était nettement plus rapide que les normes actuelles de l'industrie. En fonctionnant sur les cœurs tensoriels spécialisés, la nouvelle méthode a atteint des niveaux de performance 1,4 fois supérieurs aux meilleures bibliothologies logicielles existantes et 6,4 fois supérieurs à une alternative courante basée sur la multiplication matricielle. En termes de vitesse, mesurée en trillions d'opérations par seconde, la nouvelle méthode était près de trois fois plus rapide que sa propre version s'exécutant sur les cœurs à usage général. Plus important encore, cette vitesse s'est accompagnée d'une réduction drastique de l'utilisation de la mémoire. La nouvelle méthode n'a nécessité que 35 % de la mémoire requise par l'approche matricielle courante et 53 % de la mémoire utilisée par le principal logiciel de l'industrie.
Pour obtenir ces résultats, l'équipe a introduit plusieurs améliorations d'ingénierie spécifiques. Ils ont conçu l'accès aux données selon un motif en « zig-zag », ce qui empêche différentes parties de la mémoire de l'ordinateur de s'encombrer et de ralentir les unes les autres. Ils ont également mis en place un système où l'ordinateur place le lot de données suivant en position pendant qu'il calcule encore le lot actuel, masquant ainsi efficacement le temps nécessaire au déplacement de l'information. Grâce à des tests minutieux, ils ont découvert que cette technique de « double mise en mémoire tampon » (double buffering) était le facteur le plus important de leurs gains de vitesse. Bien que le motif en zig-zag ait aidé, il était moins critique que la capacité de superposer le mouvement des données et le calcul.
L'étude confirme qu'en alignant soigneusement le logiciel sur la disposition physique de la mémoire et des unités de traitement de l'ordinateur, il est possible de rendre les systèmes d'apprentissage profond à la fois plus rapides et plus économes en mémoire sans sacrifier la précision. Les chercheurs ont démontré que leur méthode fonctionne de manière cohérente à travers une grande variété de tailles d'images et de formes de filtres, prouvant qu'il s'agit d'une solution robuste pour les besoins diversifiés de l'intelligence artificielle moderne. En résolvant le problème de la surcharge de mémoire et de l'accès inefficace aux données, ce travail fournit un cadre unifié qui pourrait permettre aux futurs systèmes d'IA d'exécuter des modèles plus complexes sur le matériel existant, ou de faire fonctionner les modèles actuels avec nettement moins d'énergie et de temps.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.