AlphaDev, alimenté par Google DeepMind, est conçu pour trouver de meilleurs algorithmes informatiques. Lors d’un test, le système d’IA a trouvé des algorithmes de tri qui étaient jusqu’à 70 % plus efficaces.

Google DeepMind a développé plusieurs modèles d’IA influents, dont AlphaZero et MuZero. Ces algorithmes sont utilisés par Google pour mieux gérer les centres de données et compresser les vidéos. Le modèle le plus influent à ce jour est peut-être AlphaFold, un algorithme utilisé par des chercheurs du monde entier pour faciliter la recherche et le développement de protéines.

Aujourd’hui, Google DeepMind présente AlphaDev, un système d’IA qui utilise l’apprentissage par renforcement pour trouver de nouveaux algorithmes informatiques.

AlphaDev améliore les algorithmes exécutés des billions de fois par jour

« La société numérique accroît la demande de calcul et la consommation d’énergie. Au cours des cinq dernières décennies, nous avons compté sur les améliorations matérielles pour suivre le rythme. Mais comme les micropuces approchent de leurs limites physiques, il est essentiel d’améliorer le code qui fonctionne dessus pour rendre l’informatique plus puissante et plus durable », explique Google DeepMind dans sa recherche. « C’est particulièrement important pour les algorithmes qui composent le code exécuté des billions de fois par jour

Avec AlphaDev, l’entreprise a découvert un nouvel algorithme de tri plus rapide qui surpasse les algorithmes développés par les humains depuis des décennies. Ces algorithmes, dont la source est ouverte, sont à la base de tout, du tri des résultats de recherche en ligne à la messagerie sociale, en passant par l’informatique sur les ordinateurs et les smartphones.

Les nouveaux algorithmes ont permis d’améliorer la bibliothèque de tri libc LLVM, qui est désormais jusqu’à 70 % plus rapide pour les séquences courtes et environ 1,7 % plus rapide pour les séquences de plus de 250 000 éléments. AlphaDev a également découvert un algorithme plus rapide pour le hachage, un processus fondamental pour le stockage et la récupération des données. Le nouvel algorithme de hachage améliore de 30 % l’efficacité des fonctions de hachage des centres de données dans la plage de 9 à 16 octets.

AlphaDev est l’AlphaZero des instructions d’assemblage

AlphaDev est basé sur AlphaZero, mais au lieu de jouer au Go, aux échecs ou au Shogi, AlphaDev joue avec des instructions d’assemblage. Les instructions d’assemblage sont des instructions de bas niveau que l’unité centrale d’un ordinateur peut comprendre et exécuter. Pour découvrir de nouveaux algorithmes, l’équipe a transformé le tri en un « jeu d’assemblage » à un seul joueur. À chaque mouvement, AlphaDev examine l’algorithme qu’il a créé et les informations contenues dans l’unité centrale. À chaque mouvement, le système ajoute une nouvelle instruction à l’algorithme.

Selon Google Deepmind, le jeu d’assemblage est incroyablement difficile parce qu’il exige d’AlphaDev qu’il examine efficacement un très grand nombre de combinaisons possibles d’instructions pour trouver un meilleur algorithme.

Au fur et à mesure qu’AlphaDev construit l’algorithme, il vérifie que l’algorithme est correct en comparant la sortie de l’algorithme avec les résultats attendus. Pour les algorithmes de tri, cela signifie fournir des nombres non ordonnés en entrée et obtenir des nombres correctement triés en sortie. AlphaDev est récompensé pendant la formation pour le tri correct des nombres et pour la vitesse et l’efficacité avec lesquelles il le fait. Le but ultime est de trouver un programme correct et plus rapide.

Une fois qu’AlphaDev a trouvé ces algorithmes, l’équipe les décode et les traduit en C .

AlphaDev jouera avec le code C à l’avenir

L’optimisation sur les instructions d’assemblage de bas niveau était très efficace, mais atteignait ses limites lorsque la taille de l’algorithme augmentait. L’équipe étudie actuellement la capacité d’AlphaDev à optimiser les algorithmes directement dans des langages tels que le C.

« Nous considérons AlphaDev comme une étape vers le développement d’outils d’IA à usage général qui pourraient contribuer à optimiser l’ensemble de l’écosystème informatique et à résoudre d’autres problèmes qui profiteront à la société

Pour plus d’informations, voir l’article du blog AlphaDev. Avec le contenu de The Decoder.