Compilé | Wang Ruiping, Yan Zheng
AlphaGo a un autre "petit frère" " rejoindre !
Google DeepMind a "transformé" la série Alpha en algorithmes de tri et a lancé AlphaDev.
C'est comme une « méthode secrète de développement ». En utilisant l'IA d'apprentissage par renforcement pour découvrir des algorithmes de tri et des algorithmes de hachage, elle accélère de force les algorithmes conçus par des programmeurs humains d'environ 70 % et 30 % respectivement.
Une fois les résultats de la recherche publiés, ils ont instantanément enflammé le cercle des logiciels ! Soudainement, la vitesse d'exécution de millions de logiciels dans le monde a grimpé en flèche, dépassant directement les réalisations des scientifiques et des ingénieurs pendant des décennies, et la bibliothèque C++ standard LLVM qui n'avait pas été mise à jour depuis dix ans a été mise à jour.
(Source : Nature)
C'est aussi une technologie de rupture lancée après la fusion des deux départements IA de Google. L'article a été publié dans Nature sous le titre "Des algorithmes de tri plus rapides découverts grâce à l'apprentissage par renforcement profond". Le premier auteur de l'article est Daniel Mankowitz, informaticien chez DeepMind.
Le tri est une méthode permettant d'organiser de nombreux éléments dans un ordre spécifique, par exemple, disposer trois lettres par ordre alphabétique, de Organisez cinq nombres du plus grand au plus petit ou triez une base de données contenant des millions d'enregistrements.
La méthode de commande remonte aux deuxième et troisième siècles et continue d'évoluer. Initialement, les érudits triaient manuellement les milliers de livres sur les étagères de la Bibliothèque d’Alexandrie par ordre alphabétique.
Après la révolution industrielle, des machines à tri automatique (des machines à tabuler qui stockaient les informations sur des cartes perforées) ont été inventées pour collecter les résultats du recensement américain de 1890.
Dans les années 1950, les ordinateurs commerciaux ont commencé à se développer et des algorithmes de tri ont été immédiatement produits. Entrez des nombres non triés dans un algorithme de tri et cela produira une séquence de nombres triés.
Actuellement, de nombreuses techniques et algorithmes de tri différents sont encore utilisés partout dans les bases de code pour traiter des quantités massives de données.
Après des décennies de recherche et développement, l'efficacité de ces algorithmes de tri n'a cessé de s'améliorer et a été reconnue par les informaticiens et les programmeurs . Cependant, des défis importants restent à relever pour poursuivre son amélioration.
Les chercheurs ont initialement utilisé AlphaDev pour générer de nouveaux algorithmes afin d'accomplir efficacement une tâche donnée.
AlphaDev construit un algorithme complètement nouveau, qui n'est pas développé sur la base des algorithmes précédents, il peut donc être considéré comme original. Ce faisant, il applique un langage intermédiaire de code assembleur. AlphaDev facilite la création d'algorithmes efficaces car le langage est plus proche des instructions binaires informatiques.
Plus précisément, AlphaDev génère une instruction à chaque fois, puis teste si la sortie est correcte. Il définit également les exigences dans le modèle pour générer l'algorithme le plus court.
Lorsqu'on lui a demandé de repenser l'algorithme de tri, AlphaDev a généré aléatoirement un nouvel algorithme de tri qui était 70 % plus rapide que l'algorithme existant et pouvait trier cinq données en même temps. Il était également 1,7 % plus rapide que le meilleur algorithme lors du tri de 250 000 données.
Cette innovation aura un impact énorme sur les algorithmes globaux, car les algorithmes de tri sont largement utilisés par divers logiciels courants. DeepMind les a open-source et les a intégrés dans la bibliothèque standard Libc++.
Selon la description des chercheurs de DeepMind : "En raison du grand nombre de combinaisons d'instructions, le processus de recherche apparemment simple est extrêmement difficile."
De plus, AlphaDev est un modèle plus avancé conçu sur la base de la structure d'AlphaZero. AlphaZero était auparavant le modèle d'apprentissage par renforcement de DeepMind et avait vaincu les champions du monde de Go, d'échecs et d'autres jeux d'échecs.
Grâce à cette expérience, le nouveau modèle AlphaDev exerce ses avantages uniques en passant du jeu à la résolution de problèmes scientifiques, et des simulations expérimentales aux applications du monde réel.
Les chercheurs ont simulé le tri comme un « jeu d'assemblage » solo pour entraîner AlphaDev à découvrir de nouveaux algorithmes. À chaque tour de jeu, AlphaDev observe l'algorithme généré et les informations contenues dans le CPU, puis sélectionne une instruction à ajouter à l'algorithme pour effectuer chaque mouvement.
Le document mentionne que les jeux d'assemblage sont très difficiles car AlphaDev doit être capable de rechercher efficacement parmi un grand nombre de combinaisons d'instructions possibles pour obtenir un algorithme pouvant être trié.
Le nombre de combinaisons d'instructions est similaire au nombre de particules dans l'univers ou au nombre de combinaisons possibles de coups aux échecs (10120 parties) et au Go (10700 parties). Chaque mauvais coup invalidera tout l'algorithme. Le modèle génère ensuite un algorithme et le compare au résultat attendu, récompensant l'agent en fonction de l'exactitude et de la latence de l'algorithme.
Lors de la construction d'un algorithme, chaque fois qu'une instruction est saisie, AlphaDev vérifie l'exactitude en comparant la sortie de l'algorithme avec le résultat attendu (pour un algorithme de tri, cela signifie qu'après avoir saisi des nombres non ordonnés, il peut produire des nombres correctement triés) ).
Cette nouvelle méthode n'est pas sans rappeler le "Move 37" d'AlphaGo - une méthode de jeu d'échecs "contre-intuitive", qui a choqué les spectateurs et provoqué la défaite d'un joueur d'échecs légendaire.
En échangeant les séquences d'instructions de déplacement et de copie, AlphaDev saute une étape, complétant l'objectif d'une manière qui ressemble à une erreur mais qui est en réalité un raccourci. Cela signifie qu’AlphaDev a la capacité de découvrir des premières solutions et de tenter d’améliorer les algorithmes informatiques.
Aujourd'hui, AlphaDev a découvert un algorithme de tri plus rapide pour trier les données.
Le nouvel algorithme de classement peut tout faire, du classement des résultats de recherche en ligne et des publications sur les réseaux sociaux à l'analyse des données sur les ordinateurs et les téléphones mobiles.
Les utilisateurs ont des opinions mitigées sur les résultats de la recherche, avec des voix majoritairement élogieuses sur Twitter :
# 🎜 🎜#
.
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!