Root NationNouvellesActualités informatiquesIBM a créé l'ensemble de données Project CodeNet : 14 millions d'échantillons de code apprendront à l'IA à programmer

IBM a créé l'ensemble de données Project CodeNet : 14 millions d'échantillons de code apprendront à l'IA à programmer

-

Unité IBM de recherche sur l'intelligence artificielle (IA) a présenté un ensemble de données de 14 millions d'échantillons pour développer des modèles d'apprentissage automatique qui peuvent aider à la programmation de tâches. Un jeu de données nommé Projet CodeNet, tire son nom d'ImageNet, le célèbre référentiel d'images qui a révolutionné la vision par ordinateur et l'apprentissage en profondeur.

Les programmeurs découvrent de nouveaux problèmes et explorent différentes solutions, en utilisant de nombreux mécanismes de pensée consciente et subconsciente. La plupart des algorithmes d'apprentissage automatique nécessitent des tâches bien définies et de grandes quantités de données annotées pour développer des modèles capables de résoudre les mêmes problèmes.

Projet IBM CodeNet
Project CodeNet est un énorme ensemble de données d'environ 14 millions d'exemples de code dispersés dans des dizaines de langages de programmation.

Beaucoup d'efforts ont été consacrés à la création d'ensembles de données et de références pour le développement et l'évaluation de systèmes d'IA pour code par la communauté d'experts. Mais, étant donné la nature créative et ouverte du développement de logiciels, il est très difficile de créer l'ensemble de données parfait pour la programmation. Avec le projet CodeNet, les chercheurs d'IBM ont tenté de créer un ensemble de données polyvalent pouvant être utilisé pour former des modèles d'apprentissage automatique sur une variété de tâches. Les créateurs de CodeNet le décrivent comme "un ensemble de données à très grande échelle, diversifié et de haute qualité pour accélérer les avancées algorithmiques de l'IA pour le code".

L'ensemble de données contient 14 millions d'exemples de 500 millions de lignes de code écrites dans 55 langages de programmation différents. Des échantillons de code ont été obtenus à partir de près de 4000 XNUMX tâches soumises publiées sur les plateformes de codage en ligne AIZU et AtCoder. Les exemples de code incluent à la fois des réponses correctes et incorrectes aux tâches données.

Intéressant aussi :

L'une des principales caractéristiques de CodeNet est la quantité d'annotations ajoutées aux exemples. Chacune des tâches de codage incluses dans l'ensemble de données a une description textuelle, ainsi que des limites de temps CPU et de mémoire. Chaque soumission de code contient une douzaine d'informations, y compris la langue, la date de soumission, la taille, le temps d'exécution, l'acceptation et les types d'erreur. Les chercheurs d'IBM se sont également donné beaucoup de mal pour s'assurer que l'ensemble de données était équilibré sur une variété de paramètres, y compris le langage de programmation, l'acceptabilité et les types d'erreurs.

Projet IBM CodeNet

CodeNet n'est pas le seul ensemble de données pour former des modèles d'apprentissage automatique sur des tâches de programmation. Mais plusieurs caractéristiques le distinguent. Le premier est la taille même de l'ensemble de données, y compris le nombre d'échantillons et la diversité des langues. Mais ce qui est peut-être plus important, ce sont les métadonnées fournies avec les exemples de code. Les riches annotations ajoutées à CodeNet le rendent adapté à un ensemble diversifié de tâches, contrairement à d'autres ensembles de données de codage spécialisés dans des tâches de programmation spécifiques.

Il existe plusieurs façons d'utiliser CodeNet. L'un d'eux est la traduction linguistique. Étant donné que chaque tâche de codage dans l'ensemble de données contient des représentations de différents langages de programmation, les scientifiques des données peuvent l'utiliser pour créer des modèles d'apprentissage automatique qui traduisent le code d'un langage à un autre. Cela peut être pratique pour les organisations qui souhaitent porter l'ancien code vers de nouveaux langages et les rendre accessibles aux nouvelles générations de programmeurs.

Lisez aussi:

S'inscrire
Avertir de
invité

2 Commentaires
Les plus récents
Les plus anciens Le plus populaire
Avis intégrés
Voir tous les commentaires
Viktor
Viktor
Il y a 2 ans

La tradition et l'hérédité devraient jouer ensemble avec une pensée différente, avec les plus jeunes générations d'algorithmes de type neuronal et de méthodes ML pour poser des problèmes, s'améliorant mutuellement

Aasd
Aasd
Il y a 2 ans

Au fil du temps, le niveau des programmeurs diminuera encore plus (par rapport à maintenant). C'est-à-dire qu'il sera possible d'écrire du code oblique et tordu dans le "langage de merde". Et puis la machine s'optimisera, et vous pourrez éventuellement obtenir le code optimisé d'un programmeur assembleur professionnel (ou même mieux).