AlphaСode, une IA de génération de code

DeepMind, connu pour ses développements dans le domaine de l'intelligence artificielle et la construction de réseaux de neurones capables de jouer à des jeux informatiques et de société au niveau humain, récemment dévoilés le projet AlphaCode qui décrit comment un système d'apprentissage automatique pour la génération de code que vous pouvez participer à des concours de programmation sur la plateforme Codeforces et démontrer un résultat moyen.

Il est mentionné que le projet utilise l'architecture de réseau de neurones "Transformer" en combinaison avec d'autres méthodes d'échantillonnage et de filtrage pour générer diverses variantes de code imprévisibles correspondant au texte en langage naturel.

La méthode comment ça marche Alphacode est basé sur le filtrage, le regroupement et le tri, après quoi il procède ensuite à la sélection du code de travail le plus optimal à partir du flux d'options généré, qui est ensuite vérifié pour s'assurer que le résultat correct est obtenu (dans chaque tâche du concours, un exemple de données d'entrée et un résultat correspondant) à cet exemple, qui devrait être obtenu après l'exécution du programme).

Nous détaillons AlphaCode, qui utilise des modèles de langage basés sur des transformateurs pour générer du code à une échelle sans précédent, puis filtre intelligemment un petit ensemble de programmes prometteurs.

Nous validons nos performances à l'aide de compétitions hébergées sur Codeforces, une plate-forme populaire qui organise régulièrement des compétitions qui attirent des dizaines de milliers de participants du monde entier qui viennent tester leurs compétences en codage. Nous avons sélectionné 10 concours récents pour évaluation, chacun plus récent que nos données d'entraînement. AlphaCode était à peu près au même niveau que le concurrent moyen, marquant la première fois qu'un système de génération de code IA atteignait un niveau de performance compétitif dans les compétitions de programmation.

Pour une formation système approximative apprentissage automatique, il est souligné que le code de base disponible dans les référentiels publics GitHub a été utilisé. Après avoir préparé le modèle initial, une phase d'optimisation a été réalisée sur la base d'une collection de code avec des exemples de problèmes et de solutions proposés aux participants des concours Codeforces, CodeChef, HackerEarth, AtCoder et Aizu.

Au total, pour la formation d'AlphaCode 715 Go de code GitHub utilisés et plus d'un million d'exemples de solutions aux problèmes typiques de la concurrence. Avant de procéder à la génération de code, le texte de la tâche est passé par une phase de normalisation, dans laquelle tout ce qui est superflu a été exclu et seules les parties significatives sont restées.

Pour tester le système, 10 nouveaux concours Codeforces avec plus de 5.000 XNUMX participants ont été sélectionnés, organisés après avoir terminé la formation du modèle d'apprentissage automatique.

Je peux dire en toute sécurité que les résultats d'AlphaCode ont dépassé mes attentes. J'étais sceptique car même dans des problèmes compétitifs simples, il faut souvent non seulement implémenter l'algorithme, mais aussi (et c'est le plus dur) l'inventer. AlphaCode a réussi à performer au niveau d'un nouveau concurrent prometteur. J'ai hâte de voir ce qui va arriver !

MIKE MIRZAYANOV

FONDATEUR DE CODEFORCES

Les résultats des devoirs autorisés pour que le système AlphaCode entre environ au milieu de la qualification de ces compétitions (54,3%). Le score global prévu d'AlphaCode était de 1238 points, garantissant l'entrée dans le Top 28% parmi tous les participants Codeforces qui ont participé à des compétitions au moins une fois au cours des 6 derniers mois.

Il convient de noter qu'il est observé que le projet est encore au stade initial de développement et qu'il est prévu à l'avenir d'améliorer la qualité du code généré, ainsi que de développer AlphaСode vers des systèmes qui aident à écrire du code, ou des outils de développement d'applications que les personnes sans compétences en programmation peuvent utiliser.

Enfin si vous souhaitez en savoir plus, vous devez savoir qu'une fonctionnalité clé du développement est la possibilité de générer du code en Python ou C++, en prenant comme entrée de texte un énoncé du problème en anglais.

Vous pouvez vérifier les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.