Un algorithme de l'EPFL dans PyTorch, un outil très populaire

PyTorch est utilisé dans de nombreuses applications d’intelligence artificielle, allant de l’Autopilot de Tesla au logiciel de traduction de Facebook. Récemment lancée, sa toute dernière version comporte un algorithme d’apprentissage efficace en communication de l’EPFL qui œuvre même pour la planète. 
Artificial Intelligence technology © 2021 4X-image

L’apprentissage profond fait partie d’une famille plus large de méthodes d’apprentissage machine, basées sur les réseaux neuronaux artificiels. Il nous a permis de développer tout à partir d’outils de reconnaissance vocale et d’images, d’optimiser la découverte de médicaments et la toxicologie, et d’améliorer la détection des fraudes financières. 

Alors que les applications d’apprentissage machine deviennent de plus en plus vastes, complexes et omniprésentes dans notre monde moderne du tout numérique, les réseaux neuronaux se développent considérablement, représentant désormais des milliards de connexions. Pour entraîner plus rapidement ces modèles, les chercheurs répartissent généralement l’effort d’apprentissage sur plusieurs ordinateurs ou unités de traitement graphique. Cependant, tout comme les êtres humains qui coopèrent pour résoudre une tâche, la collaboration entre ordinateurs pâtit également d’une surcharge de communication.

«Parce que les réseaux neuronaux qui sont entraînés sont si vastes, la communication requise entre les ordinateurs pour obtenir un modèle précis peut représenter de nombreux pétaoctets. Les chercheurs ont longtemps essayé de trouver des solutions pour comprimer la bande passante nécessaire tout en permettant un apprentissage précis», explique Martin Jaggi, responsable du Laboratoire d’apprentissage machine et d’optimisation (MLO), de la Faculté informatique et communications (IC).

Nouvel algorithme développé par l’EPFL 

PowerSGD est un algorithme développé par les doctorants Thijs Vogels et Sai Praneeth Karimireddy, qui travaillent avec le professeur Martin Jaggi. Son nom vient de la méthode de la puissance, qui multiplie de façon répétée une matrice par un vecteur, afin de capturer ses principales directions. Ici, les chercheurs de l’EPFL l’ont appliqué aux changements du modèle de réseau neuronal, permettant une réduction considérable de la communication nécessaire en apprentissage distribué. Lorsqu’il est appliqué aux référentiels d’apprentissage profond tels que la reconnaissance d’images ou les modèles de conversion de texte, l’algorithme économise jusqu’à 99% de la communication tout en gardant une précision de modèle correcte.

«Les modèles d’apprentissage machine ne feront que croître. Le développement de nouveaux algorithmes d’apprentissage capables d’évoluer vers de tels modèles et de réduire les besoins énergétiques est un sujet extrêmement important. Parallèlement à PyTorch, nous sommes ravis d’apprendre que notre nouvel algorithme a récemment été utilisé dans DALL-E d’Open-AI, qui est un système capable de générer des images créatives à partir d’un texte», déclare Thijs Vogels de l’EPFL.

PyTorch 1.8 avec PowerSGD

PyTorch est une bibliothèque open source d’apprentissage machine. Elle est utilisée par environ 80% des publications académiques ayant recours à l’apprentissage profond. Sa dernière version, 1.8, comporte pour la première fois le PowerSGD développé par l’EPFL.

Ainsi, le système d’apprentissage plus efficace en communication, qui fonctionne pour tout modèle d’apprentissage profond, est désormais facilement accessible aux utilisateurs de l’industrie et de la recherche. Ces derniers peuvent maintenant activer la compression de la communication par un simple commutateur logiciel.

Outre ses avantages en termes d’apprentissage, l’algorithme utilise moins d’énergie, ce qui contribue à réduire la consommation énergétique, un sujet important dans la lutte contre le changement climatique. 

Apprentissage décentralisé

Tournée vers l’avenir, l’équipe de l’EPFL qui a mis au point PowerSGD a récemment commencé à travailler sur l’élargissement du principe à l’apprentissage décentralisé, où des agents peuvent entraîner de manière collaborative un modèle d’apprentissage profond sans serveur central et sans risque de fuite de données. Cela peut être un catalyseur essentiel pour les applications sensibles à caractère privé comme dans les cas d’utilisation médicale ou avec des appareils mobiles personnels.