DeepMind a présenté un système d'apprentissage automatique pour générer du code à partir d'une description textuelle d'une tâche

La société DeepMind, connue 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é à l'échelle humaine, a présenté le projet AlphaCode, qui développe un système d'apprentissage automatique pour générer du code pouvant participer aux concours de programmation sur la plateforme Codeforces et démontrer un résultat moyen. Une caractéristique clé du développement est la capacité de générer du code en Python ou C++, en prenant en entrée un texte avec un énoncé du problème en anglais.

Pour tester le système, 10 nouveaux concours Codeforces avec plus de 5000 54.3 participants ont été sélectionnés, organisés après l'achèvement de la formation du modèle d'apprentissage automatique. Les résultats de l'accomplissement des tâches ont permis au système AlphaCode d'entrer approximativement au milieu du classement de ces compétitions (1238 %). La note globale prévue d'AlphaСode était de 28 points, ce qui garantit l'entrée dans le Top 6 % parmi tous les participants de Codeforces ayant participé à des compétitions au moins une fois au cours des XNUMX derniers mois. Il est à noter que le projet en est encore au stade initial de développement et qu'à l'avenir, il est prévu d'améliorer la qualité du code généré, ainsi que de développer AlphaCode vers des systèmes aidant à l'écriture de code ou des outils de développement d'applications pouvant être utilisé par des personnes sans compétences en programmation.

Le projet utilise l'architecture de réseau neuronal Transformer en combinaison avec des techniques d'échantillonnage et de filtrage pour générer diverses variantes de code imprévisibles qui correspondent au texte en langage naturel. Après filtrage, regroupement et classement, le code de travail le plus optimal est éliminé du flux d'options généré, qui est ensuite vérifié pour garantir que le résultat correct est obtenu (chaque tâche du concours indique un exemple de données d'entrée et le résultat correspondant à cet exemple , qui devrait être obtenu après l'exécution du programme).

DeepMind a présenté un système d'apprentissage automatique pour générer du code à partir d'une description textuelle d'une tâche

Pour former grossièrement le système d'apprentissage automatique, nous avons utilisé une base de code disponible dans les référentiels publics GitHub. Après avoir préparé le modèle initial, une phase d'optimisation a été réalisée, basée sur un ensemble de codes avec des exemples de problèmes et de solutions proposés par les participants aux concours Codeforces, CodeChef, HackerEarth, AtCoder et Aizu. Au total, 715 Go de code de GitHub et plus d'un million d'exemples de solutions à des problèmes de compétition typiques ont été utilisés pour la formation. Avant de passer à la génération de code, le texte de la tâche a traversé une phase de normalisation, au cours de laquelle tout ce qui était inutile a été éliminé et seules les parties importantes ont été laissées.

DeepMind a présenté un système d'apprentissage automatique pour générer du code à partir d'une description textuelle d'une tâche


Source: opennet.ru

Ajouter un commentaire