Table des matières
Le "parvenu" de la famille Alpha découvre un algorithme de tri plus rapide
Internautes : Sans compter la découverte d'un nouvel algorithme de tri
Maison Périphériques technologiques IA Reproduisez la touche magique d'AlphaGo à l'époque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui n'a pas été mise à jour depuis dix ans a été mise à jour

Reproduisez la touche magique d'AlphaGo à l'époque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui n'a pas été mise à jour depuis dix ans a été mise à jour

Jun 09, 2023 pm 09:59 PM
ai c++

DeepMind est de nouveau apparu dans Nature avec des résultats majeurs !

Cette fois, ils ont créé une autre IA d'apprentissage par renforcement, réalisant de nouvelles percées dans les deux algorithmes les plus fondamentaux dans le domaine informatique :

L'un est l'algorithme de tri, qui a découvert une nouvelle implémentation qui peut augmenter la vitesse jusqu'à 70 % ;

Un autre est l'algorithme de hachage, qui a également trouvé un nouveau moyen d'augmenter la vitesse de 30 %.

Reproduisez la touche magique dAlphaGo à lépoque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui na pas été mise à jour depuis dix ans a été mise à jour

Non seulement cela, la méthode utilisée par cette IA s'appelle "recréer la touche magique d'AlphaGo à l'époque", qui est l'époque qui semblait violer l'intuition, mais qui a en fait vaincu le maître humain Lee Sedol en d'un seul coup.

Dès que la nouvelle est sortie, elle a immédiatement fait exploser le cercle universitaire. Certains internautes ont crié :

Je ne m'attendais pas à ce qu'un algorithme aussi ancien et basique puisse être encore amélioré.

Reproduisez la touche magique dAlphaGo à lépoque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui na pas été mise à jour depuis dix ans a été mise à jour

Et c'est précisément grâce à cette dernière réalisation que la bibliothèque C++ standard LLVM, qui n'a pas été mise à jour depuis dix ans, a été mise à jour, et des milliards de personnes en bénéficieront.

Car, qu'il s'agisse de tri ou de hachage, leurs scénarios d'application peuvent être utilisés dans divers scénarios allant des achats en ligne, du cloud computing à la gestion de la chaîne d'approvisionnement, etc., et ils sont appelés des centaines de millions de fois chaque jour !

Cependant, comme l'a dit DeepMind :

Ne soyez pas trop excité, le pouvoir de l'IA pour améliorer l'efficacité du code ne fait que commencer.

Reproduisez la touche magique dAlphaGo à lépoque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui na pas été mise à jour depuis dix ans a été mise à jour

Le "parvenu" de la famille Alpha découvre un algorithme de tri plus rapide

Cette IA s'appelle AlphaDev, qui appartient au "parvenu" de la famille Alpha et est basée sur AlphaZero (l'IA d'échecs qui a vaincu le champion du monde en 2017).

Sa découverte ne repose pas sur des algorithmes existants, mais part des instructions d'assemblage du niveau le plus bas.

Les chercheurs de DeepMind ont conçu pour cela un jeu « d'assemblage » solo :

Tant que vous pouvez rechercher et sélectionner les instructions appropriées (processus A dans la figure ci-dessous), organisez les données correctement et rapidement (processus B dans la figure ci-dessous). figure ci-dessous), vous pouvez obtenir des récompenses.

Reproduisez la touche magique dAlphaGo à lépoque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui na pas été mise à jour depuis dix ans a été mise à jour

Mais l'enjeu de ce jeu ne réside pas seulement dans la taille de l'espace de recherche (le nombre d'instructions combinables équivaut au nombre de particules dans l'univers), mais aussi dans la nature de la récompense fonction, car une mauvaise instruction peut faire échouer l’ensemble de l’algorithme. Invalide.

AlphaDev comporte deux composants principaux : l'algorithme d'apprentissage et la fonction de représentation.

Parmi eux, l'algorithme d'apprentissage est principalement étendu sur le puissant AlphaZero, qui peut combiner des algorithmes DRL et d'optimisation de recherche aléatoire pour effectuer d'énormes recherches d'instructions ; la fonction de représentation principale est basée sur Transformer, qui peut capturer la structure sous-jacente de l'assembleur. , et exprimé sous la forme d'une séquence spéciale.

Alors qu'AlphaDev continue de combattre des monstres et de se mettre à niveau, les chercheurs limiteront également le nombre d'étapes qu'il peut effectuer et la longueur de la séquence à trier.

Enfin, AlphaDev a découvert un nouvel algorithme de tri :

Si la séquence est courte, elle peut augmenter la vitesse de 70 % par rapport à l'algorithme de tri de base humain, si la longueur de la séquence dépasse 25 000 éléments, elle augmentera de 1,7 % ; .

Le tri par séquence courte est largement utilisé dans la pratique, notamment en tant que composant important de fonctions de tri plus vastes et est appelé plusieurs fois. Tant que les séquences courtes sont améliorées, la vitesse de tri de toutes les séquences peut être améliorée. )

Concrètement, l'innovation de cet algorithme réside principalement dans deux séquences d'instructions :

(1) AlphaDev Swap Move (swap move)
(2) AlphaDev Copy Move (copy move)

Comme le montre la figure ci-dessous, sur la gauche L'implémentation originale sort3 de min(A,B,C) est utilisée. Le côté droit passe par "AlphaDev Swap Move", qui ne nécessite que l'implémentation de min(A,B). On peut constater qu'une étape d'instruction peut être omise et que seule la valeur minimale de A et B doit être calculée.

Reproduisez la touche magique dAlphaGo à lépoque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui na pas été mise à jour depuis dix ans a été mise à jour

L'auteur a déclaré que cette nouvelle méthode rappelle le "Move 37" d'AlphaGo - une méthode contre-intuitive qui a directement vaincu le légendaire joueur de Go Lee Sedol, choquant le public.

De même, AlphaDev saute une étape en échangeant et en copiant des mouvements, atteignant ainsi l'objectif d'une manière qui semble erronée mais qui est en réalité un raccourci.

Comme le montre la figure ci-dessous, dans l'algorithme de tri de 8 éléments, AlphaDev utilise également "AlphaDev Copy Move" pour remplacer le max plus complexe dans l'implémentation d'origine par max (B, min (A, C)) (B, min (A, C, D)), et le nombre total d'instructions de l'ensemble de l'algorithme est également réduit d'un pas.

Reproduisez la touche magique dAlphaGo à lépoque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui na pas été mise à jour depuis dix ans a été mise à jour

Après avoir découvert un algorithme de tri plus rapide, l'auteur a également essayé l'algorithme de hachage avec AlphaDev pour prouver sa polyvalence.

Les résultats n'ont pas déçu, AlphaDev a également obtenu une augmentation de vitesse de 30 % dans la plage de longueur de 9 à 16 octets.

Comme l'algorithme de tri, ils ont intégré la nouvelle méthode dans la bibliothèque Abseil, désormais disponible pour des millions de développeurs à travers le monde.

Enfin, l'auteur a déclaré que la mise en œuvre de deux nouveaux algorithmes montre qu'AlphaDev a une forte capacité à découvrir des solutions originales, et nous fera réfléchir davantage à la manière d'améliorer les algorithmes de base dans le domaine informatique.

Cependant, en raison des limites du langage assembleur utilisé dans cette étude, ils prévoient ensuite d'essayer la capacité d'AlphaDev à optimiser les algorithmes dans des langages de haut niveau (tels que C++).

Internautes : Sans compter la découverte d'un nouvel algorithme de tri

Beaucoup de personnes sont très enthousiasmées par cette réalisation.

Comme l'a dit cet internaute :

Après qu'AlphaGo ait étonné le monde, que peut faire d'autre l'apprentissage par renforcement ? Peut-on faire quelque chose d’important d’un point de vue pratique ? C'est la réponse.

Reproduisez la touche magique dAlphaGo à lépoque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui na pas été mise à jour depuis dix ans a été mise à jour

Mais cette fois, de nombreuses personnes ont souligné que DeepMind semblait soupçonné d'exagérer le titre.

Il calcule le retard de l'algorithme, et non la complexité temporelle au sens traditionnel. Si vous calculez réellement la complexité temporelle, les données risquent de ne pas paraître bonnes.

Son amélioration ne réside pas dans l'algorithme de tri lui-même, mais dans une nouvelle optimisation du tri pour les processeurs modernes (notamment pour les séquences courtes). Cette approche est en fait très courante. Par exemple, des bibliothèques telles que FFTW et ATLAS ont adopté cette méthode.

Reproduisez la touche magique dAlphaGo à lépoque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui na pas été mise à jour depuis dix ans a été mise à jour

D'accord, ils viennent de trouver une optimisation machine plus rapide pour un processeur spécifique, pas un nouvel algorithme de tri, la méthode elle-même est cool, mais pas une recherche révolutionnaire.

Reproduisez la touche magique dAlphaGo à lépoque ! La nouvelle IA de DeepMind a découvert un algorithme de tri accéléré de 70 % et la bibliothèque C++ qui na pas été mise à jour depuis dix ans a été mise à jour

Qu'en pensez-vous ?

Adresse papier :https://www.php.cn/link/a3fefe83288ecb0e40ebe40b2bde29fe
Blog officiel :https://www.php.cn/link/f5b2aa928f940f3f09a0d14f45a27875

Lien de référence :
[1]https https://www.php.cn/link/5383c7318a3158b9bc261d0b6996f7c2
[2]https://www.php.cn/link/ecf9902e0f61677c8de25ae60b654669
[3]https://www.php.cn/ lien /0383314bf626052313b8275638fcccce

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment afficher correctement le 'Jingnan Mai Round Body' installé localement sur la page Web? Comment afficher correctement le 'Jingnan Mai Round Body' installé localement sur la page Web? Apr 05, 2025 pm 10:33 PM

En utilisant récemment des fichiers de police installés localement dans les pages Web, j'ai téléchargé une police gratuite à partir d'Internet et je l'ai installée avec succès dans mon système. Maintenant...

Où obtenir le matériel pour la production de pages H5 Où obtenir le matériel pour la production de pages H5 Apr 05, 2025 pm 11:33 PM

Les principales sources de matériel H5 Page sont: 1. Site Web de matériel professionnel (payé, de haute qualité, Copyright clair); 2. Matériel fait maison (unicité élevée, mais qui prend du temps); 3. Bibliothèque de matériaux open source (gratuit, doit être soigneusement dépisté); 4. site Web d'image / vidéo (le droit d'auteur vérifié est requis). De plus, le style de matériau unifié, l'adaptation de la taille, le traitement de la compression et la protection des droits d'auteur sont des points clés auxquels il faut faire attention.

La production de pages H5 nécessite-t-elle une maintenance continue? La production de pages H5 nécessite-t-elle une maintenance continue? Apr 05, 2025 pm 11:27 PM

La page H5 doit être maintenue en continu, en raison de facteurs tels que les vulnérabilités du code, la compatibilité des navigateurs, l'optimisation des performances, les mises à jour de sécurité et les améliorations de l'expérience utilisateur. Des méthodes de maintenance efficaces comprennent l'établissement d'un système de test complet, à l'aide d'outils de contrôle de version, de surveiller régulièrement les performances de la page, de collecter les commentaires des utilisateurs et de formuler des plans de maintenance.

Comment sélectionner un élément enfant avec l'élément de nom de première classe via CSS? Comment sélectionner un élément enfant avec l'élément de nom de première classe via CSS? Apr 05, 2025 pm 11:24 PM

Lorsque le nombre d'éléments n'est pas fixé, comment sélectionner le premier élément enfant du nom de classe spécifié via CSS. Lors du traitement de la structure HTML, vous rencontrez souvent différents éléments ...

Quels scénarios d'application conviennent à la production de pages H5 Quels scénarios d'application conviennent à la production de pages H5 Apr 05, 2025 pm 11:36 PM

H5 (HTML5) convient aux applications légères, telles que les pages de campagne de marketing, les pages d'affichage des produits et les micro-Websites de promotion d'entreprise. Ses avantages résident dans la plateformité multi-plateaux et une riche interactivité, mais ses limites résident dans des interactions et des animations complexes, un accès aux ressources locales et des capacités hors ligne.

Comment utiliser l'attribut de forme-extérieur de CSS pour réaliser l'effet d'affichage du raccourcissement progressivement du texte? Comment utiliser l'attribut de forme-extérieur de CSS pour réaliser l'effet d'affichage du raccourcissement progressivement du texte? Apr 05, 2025 pm 10:54 PM

Implémentation de l'effet d'affichage du raccourcissement progressivement du texte dans la conception Web, comment réaliser un effet d'affichage de texte spécial pour faire raccourcir progressivement la longueur du texte? Cet effet ...

Quelle est la raison pour laquelle PS continue de montrer le chargement? Quelle est la raison pour laquelle PS continue de montrer le chargement? Apr 06, 2025 pm 06:39 PM

Les problèmes de «chargement» PS sont causés par des problèmes d'accès aux ressources ou de traitement: la vitesse de lecture du disque dur est lente ou mauvaise: utilisez Crystaldiskinfo pour vérifier la santé du disque dur et remplacer le disque dur problématique. Mémoire insuffisante: améliorez la mémoire pour répondre aux besoins de PS pour les images à haute résolution et le traitement complexe de couche. Les pilotes de la carte graphique sont obsolètes ou corrompues: mettez à jour les pilotes pour optimiser la communication entre le PS et la carte graphique. Les chemins de fichier sont trop longs ou les noms de fichiers ont des caractères spéciaux: utilisez des chemins courts et évitez les caractères spéciaux. Problème du PS: réinstaller ou réparer le programme d'installation PS.

Comment résoudre le problème du chargement lorsque PS est démarré? Comment résoudre le problème du chargement lorsque PS est démarré? Apr 06, 2025 pm 06:36 PM

Un PS est coincé sur le "chargement" lors du démarrage peut être causé par diverses raisons: désactiver les plugins corrompus ou conflictuels. Supprimer ou renommer un fichier de configuration corrompu. Fermez des programmes inutiles ou améliorez la mémoire pour éviter une mémoire insuffisante. Passez à un entraînement à semi-conducteurs pour accélérer la lecture du disque dur. Réinstaller PS pour réparer les fichiers système corrompus ou les problèmes de package d'installation. Afficher les informations d'erreur pendant le processus de démarrage de l'analyse du journal d'erreur.

See all articles