Maison  >  Article  >  Périphériques technologiques  >  Google DeepMind brise le sceau des dix ans d'algorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Google DeepMind brise le sceau des dix ans d'algorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

王林
王林avant
2023-06-09 20:22:21742parcourir

Aujourd'hui, la famille "Alpha" s'ajoute un nouveau membre : AlphaDev.

Les fondements de tout l'écosystème informatique pourraient être bouleversés par de nouveaux algorithmes créés par l'IA !

Il n’a pas fallu longtemps pour que Google Brain et DeepMind s’associent pour créer un travail aussi époustouflant.

AlphaDev peut non seulement accélérer l'algorithme de tri de 70 %, mais peut même être jusqu'à 3 fois plus rapide que les humains sur certains algorithmes.

La bibliothèque de tri C++ a changé pour la première fois depuis plus d'une décennie. L'IA optimise le code du monde et franchit une nouvelle étape.

Actuellement, les dernières recherches ont été publiées dans Nature.

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Adresse papier : https://www.nature.com/articles/s41586-023-06004-9

Grâce à l'apprentissage par renforcement, AlphaDev a découvert un algorithme plus efficace, dépassant directement des décennies de polissage minutieux par des scientifiques et des ingénieurs.

Maintenant, le nouvel algorithme fait partie de deux bibliothèques de codage C++ standard et est utilisé des milliards de fois chaque jour par les programmeurs du monde entier.

Certains internautes ont dit que nous y sommes enfin, nous entrons désormais en territoire inconnu : l'intelligence artificielle construit l'intelligence artificielle !

L'apprentissage par renforcement brise le goulot d'étranglement de l'algorithme de dix ans

Comme ses prédécesseurs tels qu'AlphaZero et AlphaFold, AlphaDev a également directement initié des changements dans un domaine.

L'informaticien de DeepMind et premier auteur de l'article, Daniel Mankowitz, a déclaré : "Nous n'y croyions pas au début."

"Pour être honnête, nous ne nous attendions pas à obtenir de meilleurs résultats : c'est un programme très court, et ce type de programme a été étudié depuis des décennies auparavant. "

Actuellement, les paramètres des grands modèles tels que GPT-4 et Bard augmentent de façon exponentielle et la demande de puissance de calcul et d'autres ressources continue. grandir. Au cours des 50 dernières années, les humains ont continué à compter sur les améliorations des puces pour suivre le rythme.

Mais à mesure que les micropuces approchent de leurs limites physiques, il est essentiel d’améliorer le code pour rendre l’informatique plus puissante et plus durable. Cela est particulièrement vrai pour les algorithmes qui exécutent des milliards de codes chaque jour.

Aujourd'hui, Google DeepMind a présenté pour la première fois le « parvenu » AlphaDev de la famille Alpha dans un article publié dans Nature.


AlphaDev a découvert un algorithme de tri plus rapide que des milliards de personnes utilisent chaque jour sans même le savoir.

Ils constituent la base de tout, des résultats de recherche en ligne aux publications sur les réseaux sociaux, en passant par la manière dont les ordinateurs et les téléphones traitent les données. Ces algorithmes sont exécutés des milliards de fois chaque jour.

L'utilisation de l'IA pour générer de meilleurs algorithmes changera la façon dont nous programmons les ordinateurs et aura un impact sur tous les aspects de notre société numérique.

Selon les données de l'article Nature, l'algorithme créé par AlphaZero peut trier les données trois fois plus rapidement que les humains.

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Aujourd'hui, Google DeepMind a également open source le dernier algorithme de tri dans la bibliothèque principale C++, le rendant accessible à tous.

Adresse Open source : https://reviews.llvm.org/D118029

Qu'est-ce que le tri ?

Le tri est un moyen d'organiser plusieurs éléments dans un ordre spécifique.

C'est comme organiser trois lettres par ordre alphabétique, classer cinq nombres du plus grand au plus petit ou trier une base de données contenant des millions d'enregistrements.

Les méthodes de tri ont évolué tout au long de l'histoire de l'humanité. Les premiers exemples remontent aux deuxième et troisième siècles, lorsque les érudits classaient manuellement des milliers de livres par ordre alphabétique sur les étagères de la bibliothèque d'Alexandrie.

Après la révolution industrielle, nous avons inventé des machines qui pourraient aider à la classification : la machine à tabuler, qui stockait les informations sur des cartes perforées, a été utilisée pour collecter les résultats du recensement américain de 1890.

Avec l'essor des ordinateurs commerciaux dans les années 1950, les premiers algorithmes de tri informatiques sont apparus.

Aujourd'hui, de nombreuses techniques et algorithmes de tri différents sont utilisés dans les bases de code du monde entier pour organiser de grandes quantités de données en ligne.

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Algorithmes de tri, c'est-à-dire saisir une série de nombres non triés puis produire des nombres triés

Ces algorithmes sont devenus la pierre angulaire de l'informatique.

Nos algorithmes nécessitent aujourd'hui que les informaticiens et les programmeurs investissent des décennies de recherche et de développement.

C'est parce que l'algorithme existant est très efficace, et chaque pas en avant pour l'améliorer est un défi majeur.

Ce degré de difficulté revient à trouver une nouvelle façon d'économiser de l'énergie électrique ou à trouver une méthode mathématique plus efficace.

Trouver de nouveaux algorithmes

L'importance innovante d'AlphaDev est qu'il n'améliore pas les algorithmes existants, mais découvre des algorithmes plus rapides à partir de zéro.

De plus, cela commence en fait à partir d’un endroit auquel la plupart des humains ne pensent pas : les instructions d’assemblage de l’ordinateur.

Les instructions d'assemblage sont utilisées pour créer du code binaire. Bien que les développeurs utilisent des langages de haut niveau tels que C++ lors de l'écriture du code, pour que les ordinateurs comprennent, ces langages de haut niveau doivent être traduits en instructions d'assemblage de « bas niveau ».

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Habituellement, nous utilisons des langages de programmation de haut niveau​​tels que C++ pour écrire des codes, puis utilisons un compilateur pour les traduire en instructions CPU de bas niveau, qui sont des instructions d'assemblage. L'assembleur convertit ensuite les instructions d'assemblage en code machine exécutable.

Les chercheurs de Google DeepMind pensent qu'il y a beaucoup de place à l'amélioration dans ce niveau inférieur, et que ces améliorations sont possibles dans des langages de programmation de niveau supérieur. Difficile à repérer .

À ce niveau inférieur, l'ordinateur est plus flexible en termes de stockage et d'opérations, donc quelques améliorations potentielles supplémentaires pourraient avoir un impact énorme sur la vitesse et l'énergie.

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Figure A: un algorithme C ++ pour trier jusqu'à deux éléments

Figure b: l'assemblage correspondant du code

alphadev: version d'assemblage d'Alphazero

as nous Tout le monde le sait, les modèles d’apprentissage DeepMind Reinforcement ont vaincu à plusieurs reprises des champions du monde dans des jeux tels que le Go, les échecs et le shogi.

Et notre protagoniste cette fois - AlphaDev, est basé sur AlphaZero.

AlphaDev fonctionne de manière similaire à son prédécesseur, AlphaZero, qui combinait le raisonnement informatique et l'intuition pour choisir chaque mouvement du jeu de société.

C'est juste qu'AlphaDev ne choisit pas comment se déplacer ensuite, mais choisit les instructions à ajouter.

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Afin d'entraîner AlphaDev à découvrir de nouveaux algorithmes, DeepMind a transformé le problème de tri en un "Jeu d'Assemblage".

À chaque tour, AlphaDev doit observer l'algorithme qu'il a généré et les informations contenues dans l'unité centrale de traitement (CPU) et agir en ajoutant une instruction à l'algorithme.

Et ce jeu d'assemblage est très difficile car AlphaDev doit rechercher efficacement parmi un grand nombre de combinaisons d'instructions possibles pour trouver un algorithme qui peut être trié et qui est plus rapide que le meilleur algorithme actuel.

Les « combinaisons possibles d'instructions » peuvent même être directement analogues au nombre de particules dans l'univers, ou aux combinaisons possibles de coups aux échecs (10^120 parties) et au Go (10^700 parties).

De plus, tout faux mouvement peut invalider l'ensemble de l'algorithme.

En fin de compte, DeepMind récompense AlphaDev en fonction de sa capacité à trier les nombres correctement et de la rapidité et de l'efficacité avec laquelle il effectue le tri, et AlphaDev doit gagner la partie en découvrant un programme correct et plus rapide.

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Figure A : Jeu d'assemblage. Le joueur AlphaDev prend l'état du système st comme entrée et effectue un mouvement en sélectionnant une instruction d'assemblage à ajouter à l'algorithme déjà généré.

Figure B : Calcul de la récompense. Après chaque mouvement, l'algorithme résultant est testé et l'agent est récompensé en fonction de son exactitude et de son temps de réponse.

Plus précisément, lors d'une réflexion approfondie (délibération), AlphaZero considérera la prochaine action possible à chaque point de décision, ainsi que la prochaine étape possible. Comme dans un diagramme en arbre, travaillez en arrière, étape par étape, pour déterminer quelles actions ont les plus de chances de réussir.

Mais le problème est que si l’on considère toutes les branches possibles de la situation, le temps nécessaire pourrait être plus long que l’âge de l’univers. Les chercheurs utilisent donc quelque chose comme l’intuition pour le préciser.

À chaque étape, le programme transmet l'état actuel à un réseau de neurones (une fonction mathématique complexe et réglable) pour trouver le comportement le plus approprié. Parallèlement, pendant le processus de formation, le réseau neuronal continuera à être mis à jour en fonction des résultats. Parfois, le comportement ayant obtenu la note la plus élevée n’est délibérément pas sélectionné pour une exploration active.

AlphaDev peut entreprendre quatre actions, notamment comparer différentes valeurs, déplacer une valeur vers un autre emplacement ou passer à une autre partie du programme.

Après chaque étape, essayez de trier un ensemble de listes et soyez récompensé en fonction du nombre de valeurs dans la liste correctement triée.

Et ainsi de suite, et ainsi de suite, jusqu'à ce que la liste entière soit triée ou que la limite de longueur du programme soit atteinte et qu'un nouveau programme reparte de zéro.

La vitesse d'exécution du C++ a augmenté de 70 %

AlphaDev a découvert un nouvel algorithme de tri, qui a apporté des améliorations significatives à la bibliothèque de tri LLVM libc++.

Pour les séquences plus courtes, l'accélération est de 70 %, tandis que pour les séquences de plus de 250 000 éléments, l'accélération n'est que d'environ 1,7 %.

Les chercheurs se concentrent sur l'amélioration des algorithmes de tri de séquence avec 3 à 5 éléments plus courts.

Ces algorithmes sont parmi les plus utilisés car ils sont souvent appelés plusieurs fois dans le cadre d'une fonction de tri plus large.

L'amélioration de ces algorithmes peut améliorer la vitesse globale de tri d'un nombre quelconque d'éléments.

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Afin de rendre le nouvel algorithme de tri accessible à tous, les chercheurs l'ont également procédé à une ingénierie inverse et l'ont traduit en C++, un langage de codage le plus couramment utilisé par les « programmeurs ».

Actuellement, ces algorithmes sont désormais disponibles dans la bibliothèque de tri standard LLVM libc++.

L'efficacité de la fonction de hachage a augmenté de 30 %

Après avoir découvert un algorithme de tri plus rapide, DeepMind a testé si AlphaDev pouvait généraliser et améliorer un algorithme informatique différent : le hachage.

Le hachage est un algorithme fondamental en informatique et est utilisé pour récupérer, stocker et compresser des données. Tout comme les bibliothécaires utilisent un système de classification pour trouver des livres spécifiques, les algorithmes de hachage aident les utilisateurs à savoir ce qu'ils recherchent et où exactement.

Ces algorithmes hachent une clé spécifique (telle que le nom d'utilisateur "Jane Doe"), c'est-à-dire convertissent les données originales en une chaîne unique (telle que 1234ghfty). L'ordinateur utilise ensuite cette valeur de hachage pour récupérer rapidement les données liées à la clé, plutôt que de rechercher dans toutes les données.

Les résultats montrent que l'algorithme découvert par AlphaDev est 30 % plus rapide que les algorithmes traditionnels lorsqu'il est appliqué à la plage de 9 à 16 octets de la fonction de hachage.

Maintenant, DeepMind a également publié le nouvel algorithme de hachage dans la bibliothèque open source Abseil. Il est entendu que cet algorithme devrait être utilisé des milliards de fois chaque jour.

Deux nouvelles stratégies : "swap move" et "copy move"

AlphaDev a non seulement découvert des algorithmes plus rapides, mais a également découvert de nouvelles méthodes.

Son algorithme de tri contient une nouvelle séquence d'instructions dont une est enregistrée à chaque application. Cela pourrait avoir un impact énorme, car ces algorithmes sont utilisés des milliards de fois chaque jour.

Les chercheurs l'appellent "AlphaDev swap move" et "AlphaDev copy move".

La dernière méthode n’est pas sans rappeler la choquante « Étape 37 » d’AlphaGo.

Lors de la guerre homme-machine de 2016, AlphaGo a joué un jeu d'échecs qui allait à l'encontre de l'intuition humaine, une simple charge d'épaule, et a vaincu le légendaire joueur de Go Lee Sedol.

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Avec les deux stratégies, AlphaDev saute une étape pour connecter les projets d'une manière qui semble erronée mais qui est en réalité un raccourci.

Cela démontre la capacité d’AlphaDev à découvrir des solutions originales et à remettre en question notre façon de réfléchir à la manière d’améliorer les algorithmes informatiques.

Comme le montre la figure ci-dessous, l'implémentation originale de sort3 a min(A, B, C). En utilisant AlphaDev Swap Move, AlphaDev a découvert que vous n'aviez besoin que de min(A, B).

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Pour un autre exemple, l'implémentation originale utilise l'algorithme de tri plus grand dans max(B, min(A,C, D)) pour trier 8 éléments.

AlphaDev a découvert que l'utilisation de ses "mouvements d'échange et de copie" ne nécessite que max(B, min(A, C)).

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Optimiser le code du monde, un algorithme à la fois

En optimisant et en lançant des algorithmes de tri et de hachage améliorés utilisés par les développeurs du monde entier, AlphaDev a prouvé qu'il avait la capacité de généraliser et de découvrir le monde -nouvel algorithme de classe.

Google DeepMind estime qu'AlphaDev est une étape vers le développement d'outils AGI qui aident à optimiser l'ensemble de l'écosystème informatique et à résoudre d'autres problèmes qui profitent à la société.

Cependant, les chercheurs admettent également qu'AlphaDev est actuellement très capable d'optimiser les instructions d'assemblage de bas niveau, mais il existe également des limites à mesure que l'algorithme se développe.

Afin de le rendre plus utilisable pour les développeurs, la capacité d'AlphaDev à optimiser les algorithmes à l'aide de langages de haut niveau (tels que le C++) est à l'étude.

Les nouvelles découvertes d'AlphaDev, telles que "AlphaDev swap move" et "AlphaDev copy move", montrent non seulement qu'il peut améliorer les algorithmes, mais aussi trouver de nouvelles solutions. Les chercheurs espèrent que ces résultats inspireront les chercheurs et les développeurs à créer des technologies et des méthodes permettant d’optimiser davantage les algorithmes sous-jacents afin de créer un écosystème informatique plus puissant et plus durable.

Commentaire chaud des internautes

Le scientifique de NVIDIA, Jim Fan, a fait un résumé détaillé d'AlphaDev :

#🎜 🎜 #

Les algorithmes de tri sont la base de tous les logiciels critiques. AlphaDev de DeepMind accélère de 70 % le tri des petites séquences (3 à 5 éléments). Points clés :

- L'algorithme principal du RL est basé sur AlphaZero, qui jouait à l'origine au Go, Chess & Shogi. La même idée s’applique aux programmes de recherche !

- Les chercheurs n'ont pas optimisé le code C, mais le code assembleur. Il s'agit d'un choix délibéré d'aller au bas niveau et d'extraire chaque instruction enregistrée.

- Le code assembleur a ensuite été rétro-conçu en C++ et open source en LLVM.

- Même si le réseau de représentation utilise Transformer, ce n'est pas un modèle de base. L'ensemble du processus ne fonctionne que pour le tri et doit être recyclé pour d'autres tâches telles que le hachage.

Une autre étape majeure franchie dans la découverte d'algorithmes grâce au ML

#🎜🎜 #Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains ! !

AlphaDev est une intelligence artificielle révolutionnaire de DeepMind qui innove dans les algorithmes informatiques de base. Il s'agit de réinventer les méthodes de séquençage pour rendre les séquences courtes 70 % plus rapides. Même la vitesse de découverte des algorithmes de hachage est augmentée de 30 %. L’apprentissage par renforcement remodèle le paysage des algorithmes !

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Certains internautes ont déclaré que même si nous sommes enthousiasmés par les modèles de langage, nous ne devrions pas oublier les autres algorithmes d'apprentissage en profondeur. Histoires : AlphaZero, AlphaFold et maintenant AlphaDev.

Google DeepMind brise le sceau des dix ans dalgorithme et AlphaDev fait des débuts étonnants, bouleversant le paysage des algorithmes humains !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer