Table des matières
Cliquez pour participer au questionnaire sur le contenu du site Web 51CTO " >Cliquez pour participer au questionnaire sur le contenu du site Web 51CTO
1. Evolution : L'origine de l'algorithme de tri
2. Le point fort : Comment utiliser AlphaDev pour générer un nouvel algorithme de tri ?
3. jouer à des jeux Meilleur algorithme
8. Utilisateurs : C'est peut-être juste un gadget
Maison Périphériques technologiques IA DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à jour !

DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à jour !

Jun 12, 2023 pm 12:04 PM
算法 c++库

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.

DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à jour !

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.

DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à 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.

1. Evolution : L'origine de l'algorithme de tri

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.​​​​

DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à jour !

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.

2. Le point fort : Comment utiliser AlphaDev pour générer un nouvel algorithme de tri ?

Les chercheurs ont initialement utilisé AlphaDev pour générer de nouveaux algorithmes afin d'accomplir efficacement une tâche donnée.

DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à jour !

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."

3. jouer à des jeux Meilleur algorithme

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) ). DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à jour !

Le modèle récompense AlphaDev pour son ordonnancement correct des chiffres et son efficacité. Finalement, AlphaDev a remporté le concours en découvrant un programme plus précis et plus rapide.

4. Innovation en matière d'algorithme : échanger les séquences d'instructions de déplacement et de copie

AlphaDev a non seulement généré un algorithme plus rapide, mais a également innové avec deux séquences d'instructions.

Plus précisément, l'algorithme de tri qu'il génère comprend deux nouvelles séquences d'instructions : le déplacement d'échange et le déplacement de copie, et une instruction sera enregistrée à chaque utilisation. Les chercheurs l’appellent « le mouvement d’échange et le mouvement de copie d’AlphaDev ».

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. DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à jour !

5. Test : Promouvoir et améliorer les algorithmes de hachage

Après que les chercheurs ont découvert un algorithme de tri plus rapide, ils ont essayé de l'appliquer à un autre algorithme informatique—— Sur la promotion et l'amélioration d'algorithmes de hachage.

L'algorithme de hachage est un algorithme de base 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 localiser un livre donné, les algorithmes de hachage aident les utilisateurs à savoir ce qu'ils recherchent et où le trouver.

Ces algorithmes sont capables de prendre des données pour une clé spécifique (par exemple, le nom d'utilisateur "Jane Doe") et de les trier par hachage - en convertissant les données brutes en une chaîne unique (par exemple, 1234ghty).

L'ordinateur utilise ce hachage pour récupérer rapidement les données liées à la clé, plutôt que de rechercher dans toutes les données.

Les chercheurs ont appliqué AlphaDev à l'un des algorithmes de hachage les plus couramment utilisés dans les structures de données dans le but de découvrir un algorithme plus rapide. Lorsqu'il est appliqué à la plage de 9 à 16 octets de la fonction de hachage, AlphaDev a produit un algorithme 30 % plus rapide.

Plus tôt cette année, le nouvel algorithme de hachage généré par AlphaDev a été publié dans la bibliothèque open source Abseil, le rendant accessible à des millions de développeurs à travers le monde. On estime qu'il est désormais utilisé chaque jour par des milliards. de fois.

6. Prendre de l'ampleur : faire le premier pas dans le développement de l'AGI

En optimisant les "algorithmes de tri et de hachage", AlphaDev a démontré sa capacité à générer différents nouveaux algorithmes pratiques.

C'est également la première étape d'AlphaDev vers le développement d'outils généraux d'intelligence artificielle (AGI). Des outils d'IA similaires peuvent également aider à optimiser l'ensemble de l'écosystème informatique et à résoudre d'autres problèmes qui profitent à la société.

Bien que l'algorithme d'optimisation dans l'espace des instructions d'assemblage de bas niveau soit très puissant, il a également des limites. Actuellement, l'équipe étudie la capacité d'AlphaDev à optimiser les algorithmes dans des langages de haut niveau (comme le C++), ce qui sera plus bénéfique pour les développeurs.

En bref, on espère que ces nouvelles découvertes inciteront les développeurs à créer de nouvelles technologies et méthodes, à optimiser davantage les algorithmes de base et à créer un écosystème informatique plus fort et plus durable.

7. Open source : une avancée majeure dans le code d'optimisation de l'IA

Auparavant, les algorithmes de tri étaient utilisés des milliards de fois chaque jour. Avec la croissance des besoins informatiques, les utilisateurs ont des exigences de performances de plus en plus élevées pour les algorithmes. Bien que les ingénieurs humains aient découvert différents algorithmes de tri, après des décennies d'optimisation, il est difficile de faire des percées et ne peut pas répondre à la demande croissante.

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. DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à jour !

Cela vaut la peine de célébrer que le nouvel algorithme de tri soit open source dans la bibliothèque principale C++. Il est actuellement utilisé par des millions de développeurs et d'entreprises à travers le monde pour le cloud computing, les achats en ligne, la gestion de la chaîne d'approvisionnement, etc.

En bref, utiliser des outils d'intelligence artificielle pour optimiser les algorithmes va complètement changer la manière traditionnelle de programmer. C'est la première fois en plus de dix ans que la bibliothèque de tri est modifiée, et la première fois que des algorithmes conçus par des modèles d'apprentissage par renforcement sont ajoutés à la bibliothèque de tri. C'est donc une avancée majeure dans l'utilisation de l'intelligence artificielle. optimiser le code.

8. Utilisateurs : C'est peut-être juste un gadget

Les utilisateurs ont des opinions mitigées sur les résultats de la recherche, avec des voix majoritairement élogieuses sur Twitter :

DeepMind lance un algorithme de tri révolutionnaire et la bibliothèque C++ est en train de se mettre à jour !# 🎜 🎜#

Apprendre les tâches de tri de base est l'une des compétences que les programmeurs maîtrisent très tôt, et cette compétence augmente la vitesse de 70 %. C'est passionnant de voir tirer parti de l'IA pour fournir une accélération significative des algorithmes et des bibliothèques sur lesquels nous comptons tous. juste un gadget et DeepMind exagère la fonction de l'algorithme. #Tout d'abord, du point de vue de l'efficacité, il ne compte que le retard de l'algorithme, plutôt que de modifier réellement la complexité temporelle. cela ne change pas vraiment le tri. Ce type d'opération est courant dans diverses autres opérations Code base

Références :

1. .deepmind.com/blog/alphadev-discovers-faster-sorting-algorithms

3.https://www.deepmind.com/blog/optimising-computer-systems-with-more-generalised- outils ai

4 https://twitter.com/demishassabis

.

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)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

CLIP-BEVFormer : superviser explicitement la structure BEVFormer pour améliorer les performances de détection à longue traîne CLIP-BEVFormer : superviser explicitement la structure BEVFormer pour améliorer les performances de détection à longue traîne Mar 26, 2024 pm 12:41 PM

Écrit ci-dessus et compréhension personnelle de l'auteur : À l'heure actuelle, dans l'ensemble du système de conduite autonome, le module de perception joue un rôle essentiel. Le véhicule autonome roulant sur la route ne peut obtenir des résultats de perception précis que via le module de perception en aval. dans le système de conduite autonome, prend des jugements et des décisions comportementales opportuns et corrects. Actuellement, les voitures dotées de fonctions de conduite autonome sont généralement équipées d'une variété de capteurs d'informations de données, notamment des capteurs de caméra à vision panoramique, des capteurs lidar et des capteurs radar à ondes millimétriques pour collecter des informations selon différentes modalités afin d'accomplir des tâches de perception précises. L'algorithme de perception BEV basé sur la vision pure est privilégié par l'industrie en raison de son faible coût matériel et de sa facilité de déploiement, et ses résultats peuvent être facilement appliqués à diverses tâches en aval.

Implémentation d'algorithmes d'apprentissage automatique en C++ : défis et solutions courants Implémentation d'algorithmes d'apprentissage automatique en C++ : défis et solutions courants Jun 03, 2024 pm 01:25 PM

Les défis courants rencontrés par les algorithmes d'apprentissage automatique en C++ incluent la gestion de la mémoire, le multithread, l'optimisation des performances et la maintenabilité. Les solutions incluent l'utilisation de pointeurs intelligents, de bibliothèques de threads modernes, d'instructions SIMD et de bibliothèques tierces, ainsi que le respect des directives de style de codage et l'utilisation d'outils d'automatisation. Des cas pratiques montrent comment utiliser la bibliothèque Eigen pour implémenter des algorithmes de régression linéaire, gérer efficacement la mémoire et utiliser des opérations matricielles hautes performances.

Explorez les principes sous-jacents et la sélection d'algorithmes de la fonction de tri C++ Explorez les principes sous-jacents et la sélection d'algorithmes de la fonction de tri C++ Apr 02, 2024 pm 05:36 PM

La couche inférieure de la fonction de tri C++ utilise le tri par fusion, sa complexité est O(nlogn) et propose différents choix d'algorithmes de tri, notamment le tri rapide, le tri par tas et le tri stable.

L'intelligence artificielle peut-elle prédire la criminalité ? Explorez les capacités de CrimeGPT L'intelligence artificielle peut-elle prédire la criminalité ? Explorez les capacités de CrimeGPT Mar 22, 2024 pm 10:10 PM

La convergence de l’intelligence artificielle (IA) et des forces de l’ordre ouvre de nouvelles possibilités en matière de prévention et de détection de la criminalité. Les capacités prédictives de l’intelligence artificielle sont largement utilisées dans des systèmes tels que CrimeGPT (Crime Prediction Technology) pour prédire les activités criminelles. Cet article explore le potentiel de l’intelligence artificielle dans la prédiction de la criminalité, ses applications actuelles, les défis auxquels elle est confrontée et les éventuelles implications éthiques de cette technologie. Intelligence artificielle et prédiction de la criminalité : les bases CrimeGPT utilise des algorithmes d'apprentissage automatique pour analyser de grands ensembles de données, identifiant des modèles qui peuvent prédire où et quand les crimes sont susceptibles de se produire. Ces ensembles de données comprennent des statistiques historiques sur la criminalité, des informations démographiques, des indicateurs économiques, des tendances météorologiques, etc. En identifiant les tendances qui pourraient échapper aux analystes humains, l'intelligence artificielle peut donner du pouvoir aux forces de l'ordre.

Algorithme de détection amélioré : pour la détection de cibles dans des images de télédétection optique haute résolution Algorithme de détection amélioré : pour la détection de cibles dans des images de télédétection optique haute résolution Jun 06, 2024 pm 12:33 PM

01Aperçu des perspectives Actuellement, il est difficile d'atteindre un équilibre approprié entre efficacité de détection et résultats de détection. Nous avons développé un algorithme YOLOv5 amélioré pour la détection de cibles dans des images de télédétection optique haute résolution, en utilisant des pyramides de caractéristiques multicouches, des stratégies de têtes de détection multiples et des modules d'attention hybrides pour améliorer l'effet du réseau de détection de cibles dans les images de télédétection optique. Selon l'ensemble de données SIMD, le mAP du nouvel algorithme est 2,2 % meilleur que YOLOv5 et 8,48 % meilleur que YOLOX, permettant ainsi d'obtenir un meilleur équilibre entre les résultats de détection et la vitesse. 02 Contexte et motivation Avec le développement rapide de la technologie de télédétection, les images de télédétection optique à haute résolution ont été utilisées pour décrire de nombreux objets à la surface de la Terre, notamment des avions, des voitures, des bâtiments, etc. Détection d'objets dans l'interprétation d'images de télédétection

Pratique et réflexion sur la plateforme multimodale de grands modèles Jiuzhang Yunji DataCanvas Pratique et réflexion sur la plateforme multimodale de grands modèles Jiuzhang Yunji DataCanvas Oct 20, 2023 am 08:45 AM

1. Le développement historique des grands modèles multimodaux. La photo ci-dessus est le premier atelier sur l'intelligence artificielle organisé au Dartmouth College aux États-Unis en 1956. Cette conférence est également considérée comme le coup d'envoi du développement de l'intelligence artificielle. pionniers de la logique symbolique (à l'exception du neurobiologiste Peter Milner au milieu du premier rang). Cependant, cette théorie de la logique symbolique n’a pas pu être réalisée avant longtemps et a même marqué le début du premier hiver de l’IA dans les années 1980 et 1990. Il a fallu attendre la récente mise en œuvre de grands modèles de langage pour découvrir que les réseaux de neurones portent réellement cette pensée logique. Les travaux du neurobiologiste Peter Milner ont inspiré le développement ultérieur des réseaux de neurones artificiels, et c'est pour cette raison qu'il a été invité à y participer. dans ce projet.

Application d'algorithmes dans la construction de 58 plateformes de portraits Application d'algorithmes dans la construction de 58 plateformes de portraits May 09, 2024 am 09:01 AM

1. Contexte de la construction de la plateforme 58 Portraits Tout d'abord, je voudrais partager avec vous le contexte de la construction de la plateforme 58 Portraits. 1. La pensée traditionnelle de la plate-forme de profilage traditionnelle ne suffit plus. La création d'une plate-forme de profilage des utilisateurs s'appuie sur des capacités de modélisation d'entrepôt de données pour intégrer les données de plusieurs secteurs d'activité afin de créer des portraits d'utilisateurs précis. Elle nécessite également l'exploration de données pour comprendre le comportement et les intérêts des utilisateurs. et besoins, et fournir des capacités côté algorithmes ; enfin, il doit également disposer de capacités de plate-forme de données pour stocker, interroger et partager efficacement les données de profil utilisateur et fournir des services de profil. La principale différence entre une plate-forme de profilage d'entreprise auto-construite et une plate-forme de profilage de middle-office est que la plate-forme de profilage auto-construite dessert un seul secteur d'activité et peut être personnalisée à la demande. La plate-forme de mid-office dessert plusieurs secteurs d'activité et est complexe ; modélisation et offre des fonctionnalités plus générales. 2.58 Portraits d'utilisateurs de l'arrière-plan de la construction du portrait sur la plate-forme médiane 58

Ajoutez SOTA en temps réel et montez en flèche ! FastOcc : un algorithme Occ plus rapide et convivial pour le déploiement est là ! Ajoutez SOTA en temps réel et montez en flèche ! FastOcc : un algorithme Occ plus rapide et convivial pour le déploiement est là ! Mar 14, 2024 pm 11:50 PM

Écrit ci-dessus & La compréhension personnelle de l'auteur est que dans le système de conduite autonome, la tâche de perception est un élément crucial de l'ensemble du système de conduite autonome. L'objectif principal de la tâche de perception est de permettre aux véhicules autonomes de comprendre et de percevoir les éléments environnementaux environnants, tels que les véhicules circulant sur la route, les piétons au bord de la route, les obstacles rencontrés lors de la conduite, les panneaux de signalisation sur la route, etc., aidant ainsi en aval modules Prendre des décisions et des actions correctes et raisonnables. Un véhicule doté de capacités de conduite autonome est généralement équipé de différents types de capteurs de collecte d'informations, tels que des capteurs de caméra à vision panoramique, des capteurs lidar, des capteurs radar à ondes millimétriques, etc., pour garantir que le véhicule autonome peut percevoir et comprendre avec précision l'environnement environnant. éléments , permettant aux véhicules autonomes de prendre les bonnes décisions pendant la conduite autonome. Tête

See all articles