Quand l'IA AlphaDev de DeepMind optimise des algorithmes que les humains n"arrivent plus à optimiser depuis longtemps.

Data / IA

L’IA de DeepMind invente un nouvel algorithme révolutionnaire

Par Laurent Delattre, publié le 08 juin 2023

L’IA générative continue de démontrer jour après jour son potentiel. La nouvelle IA codeuse de Deepmind vient de démontrer ses capacités à optimiser des algorithmes que les humains n’arrivent plus à améliorer depuis des décennies!

Les algorithmes de tri sont un classique de l’informatique et des sciences. Pendant des décennies, informaticiens, mathématiciens, scientifiques se sont penchés sur les meilleures façons de trier des informations. Cela fait cependant plus d’une décennie qu’aucun nouvel algorithme nouveau n’est véritablement venu bouleverser la donne et des millions de développeurs et de programmes implémentent encore et toujours les mêmes techniques.

Mais ça, c’était avant 2023… Avant l’année où l’IA est venue tout bouleverser. Dans un article publié sur Nature cette semaine, les équipes de DeepMind (la startup R&D en IA d’Alphabet/google) révèlent qu’une de leurs IA, AlphaDev, vient de créer un nouvel algorithme de tri et un nouvel algorithme de hachage plus performants que ceux existants. Et l’approche adoptée par l’IA est en relative rupture avec celles jusqu’ici suivies par les humains.

AlphaDev est une IA « développeuse » qui sait créer du code. Sa particularité est de dériver d’AlphaZero, l’IA de DeepMind qui bat les meilleurs joueurs du monde aux échecs, au Shogi ou encore au Go (c’est cette IA qui a notamment découvert le « mouvement 37 » au Go, qui a engendré ensuite tout un ensemble de nouvelles stratégies pour ce jeu).

L’IA n’hésite pas à essayer des pistes nouvelles

AlphaDev utilise de l’apprentissage profond par renforcement pour améliorer les méthodes de développement et rendre les algorithmes plus efficients. Reprenant les techniques développées pour jouer aux échecs ou au jeu de Go, l’IA traite considère la latence du code x86 en lui attribuant un score puis cherche à faire évoluer le code afin d’obtenir un meilleur score. L’IA développe ainsi par itérations successives des codes ou algorithmes toujours plus performants. Et il n’y a même pas à lui fournir préalablement des exemples. L’IA génère ses propres codes puis évaluent s’ils exécutent correctement et comment ils s’exécutent. Puis cherche des améliorations.

À LIRE AUSSI :

L’une des particularités d’AlphaDev est de travailler ses optimisations directement en code assembleur x86 ce que plus personne ne fait aujourd’hui. Or, selon les équipes de DeepMind, AlphaDev vient de démontrer qu’il existe des améliorations à trouver à ce niveau que les langages plus évolués comme C++ ne permettent pas. Et autant coder en assembleur est difficile pour un humain, autant pour une IA il n’existe pas plus de difficulté à travailler en x86, en C++ ou en Java.

Optimiser par l’IA ce que l’humain n’espère plus pouvoir optimiser

Résultat, l’algorithme élaboré par AlphaDev est jusqu’à 70% plus rapide sur les petits tris et jusqu’à 2% plus rapide sur les tris de plus de 250.000 éléments.

« AlphaDev a découvert des algorithmes plus rapides en partant de zéro plutôt qu’en affinant des algorithmes existants. AlphaDev a commencé à chercher là où la plupart des humains ne vont pas : dans les instructions d’assemblage des ordinateurs » expliquent les rapporteurs de DeepMind. Ils ajoutent « AlphaDev n’a pas seulement trouvé des algorithmes plus rapides, mais aussi de nouvelles approches. Ses algorithmes de tri contiennent de nouvelles séquences d’instructions qui permettent d’économiser une seule instruction à chaque fois qu’elles sont appliquées. Cela peut avoir un impact considérable car ces algorithmes sont utilisés des milliards de fois par jour. C’est ce que nous appelons les “swap and copy moves” d’AlphaDev. Cette nouvelle approche rappelle le “coup 37” d’AlphaGo, un jeu contre-intuitif qui a stupéfié les observateurs et conduit à la défaite d’un joueur de go légendaire. Avec le mouvement d’échange et de copie, AlphaDev saute une étape pour relier des éléments d’une manière qui ressemble à une erreur mais qui est en fait un raccourci. Cela montre la capacité d’AlphaDev à trouver des solutions originales et remet en question la façon dont nous envisageons l’amélioration des algorithmes informatiques ».

Voilà de quoi faire un peu plus peur à tous les “apocalypticiens” de l’IA mais, pour les autres, voilà aussi une très intéressante démonstration de comment l’IA peut aider l’humanité à s’améliorer en optimisant des tâches ou des algorithmes que les humains n’arrivent pas à optimiser depuis des années… D’autant que l’approche d’AlphaDev peut être appliquée à bien d’autres algorithmes.


À LIRE AUSSI :

Dans l'actualité