AlphaDev découvre des algorithmes de tri plus rapides
Dans un monde où la demande en calcul et en énergie ne cesse de croître, il est essentiel d'améliorer le code qui fait fonctionner nos microprocesseurs pour rendre l'informatique plus puissante et durable. C'est dans ce contexte que DeepMind présente AlphaDev, un système d'intelligence artificielle (IA) qui utilise l'apprentissage par renforcement pour découvrir des algorithmes informatiques améliorés, surpassant ceux affinés par les scientifiques et les ingénieurs au fil des décennies.
AlphaDev : une IA pour optimiser les algorithmes
AlphaDev est un système d'IA basé sur AlphaZero, le modèle d'apprentissage par renforcement de DeepMind qui a battu les champions du monde dans des jeux comme le Go, les échecs et le shogi. Avec AlphaDev, DeepMind montre comment ce modèle peut passer des jeux aux défis scientifiques, et des simulations aux applications réelles.
Pour entraîner AlphaDev à découvrir de nouveaux algorithmes, DeepMind a transformé le tri en un "jeu d'assemblage" à un seul joueur. À chaque tour, AlphaDev observe l'algorithme qu'il a généré et les informations contenues dans l'unité centrale de traitement (CPU). Il joue ensuite un coup en choisissant une instruction à ajouter à l'algorithme.
Découverte de nouveaux algorithmes de tri
AlphaDev a découvert de nouveaux algorithmes de tri qui ont conduit à des améliorations dans la bibliothèque de tri libc++ de LLVM, jusqu'à 70% plus rapide pour les séquences plus courtes et environ 1,7% plus rapide pour les séquences dépassant 250 000 éléments.
DeepMind s'est concentré sur l'amélioration des algorithmes de tri pour des séquences plus courtes de trois à cinq éléments. Ces algorithmes sont parmi les plus utilisés car ils sont souvent appelés de nombreuses fois dans le cadre de fonctions de tri plus grandes. L'amélioration de ces algorithmes peut conduire à une accélération globale pour le tri de n'importe quel nombre d'éléments.
Des approches novatrices
AlphaDev n'a pas seulement trouvé des algorithmes plus rapides, mais a également découvert des approches novatrices. Ses algorithmes de tri contiennent de nouvelles séquences d'instructions qui économisent une seule instruction chaque fois qu'elles sont appliquées. Cela peut avoir un impact énorme car ces algorithmes sont utilisés des billions de fois par jour.
DeepMind appelle ces "mouvements de copie et d'échange AlphaDev". Cette approche novatrice rappelle le "coup 37" d'AlphaGo - un jeu contre-intuitif qui a stupéfié les spectateurs et conduit à la défaite d'un joueur légendaire de Go. Avec le mouvement de copie et d'échange, AlphaDev saute une étape pour connecter les éléments d'une manière qui ressemble à une erreur mais qui est en fait un raccourci. Cela démontre la capacité d'AlphaDev à découvrir des solutions originales et remet en question notre façon de penser l'amélioration des algorithmes informatiques.
Du tri au hachage dans les structures de données
Après avoir découvert des algorithmes de tri plus rapides, DeepMind a décidé d'appliquer AlphaDev à d'autres problèmes d'algorithmique. L'un des domaines qu'ils ont explorés est le hachage dans les structures de données. Le hachage est une technique utilisée pour accélérer l'accès aux données dans les structures de données, comme les tableaux de hachage.
En utilisant AlphaDev, DeepMind a pu découvrir de nouvelles fonctions de hachage qui améliorent les performances de ces structures de données. Ces nouvelles fonctions de hachage ont permis d'accélérer l'accès aux données, ce qui a un impact direct sur la vitesse d'exécution des programmes qui utilisent ces structures de données.
Conclusion
La découverte par AlphaDev de nouveaux algorithmes de tri et de nouvelles fonctions de hachage montre le potentiel de l'IA pour améliorer l'efficacité de nos systèmes informatiques. En utilisant l'apprentissage par renforcement, AlphaDev a pu découvrir des solutions qui surpassent celles développées par des humains au fil des décennies. Cela ouvre la voie à de nouvelles avancées dans le domaine de l'optimisation des algorithmes, avec des implications potentielles pour une large gamme d'applications, de l'informatique haute performance à l'informatique de bureau.
Source : Nature