Projet CodeNet: IBM apprendre à l’IA coder

- Publicité -

IBM a annoncé le projet CodeNet, un vaste ensemble de données qui vise à apprendre à l’IA à comprendre et même à écrire du code. CodeNet comprend 500 millions de lignes de code, 14 millions d’exemples et couvre 55 langages de programmation y compris Python, C ++, Java, Go, COBOL, Pascal, etc. Des projets tels que GPT-3 d’OpenAI montrent à quel point les IA sont de plus en plus habiles à écrire les langues de nous, humains, mais l’écriture de leur propre code natif nous a été laissée. CodeNet vise à changer cela.

Le projet CodeNet a été annoncé lors de la conférence Think d’IBM cette semaine et prétend être le plus grand ensemble de données open-source pour le code (environ 10 fois la taille du plus proche.). «Les informaticiens ont longtemps été fascinés par la possibilité que les ordinateurs programment des ordinateurs», selon l’annonce, mais le problème n’est pas facilement résolu. Si, par exemple, la traduction du langage de programmation était facile, les langages hérités comme COBOL auraient été convertis en alternatives modernes à présent. Si les langages de programmation ont un contexte et une complexité qui vont au-delà d’une simple approche de traduction basée sur des règles, le projet CodeNet, cependant, ”peut stimuler l’innovation algorithmique pour extraire ce contexte avec des modèles séquence à séquence, … pour faire une brèche plus significative dans la compréhension machine du code par opposition au traitement machine du code”.

Une lueur d’espoir pour les développeurs humains

Dans un avenir prévisible, des projets comme GPT-3 seront un outil pour les humains qui peuvent augmenter leur productivité en fournissant une norme de base qui nécessitera encore quelques modifications pour aplanir les erreurs et compenser les domaines où les humains ont encore un avantage, tels que créativité, émotion et compassion.

- Publicité -

CodeNet sera similaire, du moins dans un premier temps, en ce sens qu’il conduira à des outils améliorés qui aident à accélérer l’écriture et la vérification du code par les humains en améliorant la propre compréhension de l’’Intelligence Artificielle (IA) sur la façon d’effectuer de telles tâches. «Compte tenu de la richesse de ses programmes écrits dans une multitude de langues, nous pensons que Project CodeNet peut servir de jeu de données de référence pour la traduction source-source et faire pour l’’Intelligence Artificielleet coder ce que le jeu de données ImageNet a fait il y a des années pour la vision par ordinateur», déclare IBM. Mais faut être réaliste. Ce produit d’apprentissage automatique est, certes, fondé par IBM sur l’intégralité des données CodeNet. Toutefois, les chances qu’il prenne la place des programmeurs quitte à les rendre obsolètes restent minces. Dans tous les cas, ce modèle a l’avantage d’influer positivement sur la productivité des développeurs.

Normaliser la programmation grâce à l’intelligence artificielle

Les progrès surprenants rencontrés au sein de l’apprentissage automatique datent de 2010. Dès lors, l’engouement de l’homme par rapport à l’intelligence artificielle n’a cessé de croître. Elle permet effectivement de robotiser plusieurs activités. Parmi celles-ci, s’affichent la programmation. Cependant, l’intégration de l’Intelligence Artificielle dans l’élaboration des logiciels demeure limitée. Les experts en programmation rencontrent effectivement de nouveaux obstacles. Afin de contourner ces difficultés, ils se lancent dans l’exploration de solutions de tous genres. Cela inclut l’utilisation excessive de la matière grise. En ce qui concerne les algorithmes d’apprentissage automatique, ces derniers requièrent des problèmes définis ainsi qu’une pléthore de données. Cela servira à concevoir des modèles efficients, aptes à résoudre des problèmes identiques.

IBM s’investit pleinement dans le projet CodeNet

De nombreux efforts ont été fournis afin de pouvoir développer des procédures «IA pour code». Néanmoins, élaborer un ensemble de données taillé pour une programmation reste assez compliqué. Les attentes des chercheurs d’IBM vis-à-vis du projet CodeNet sont conséquentes. En effet, ils ont cherché à créer un ensemble de données polyvalent. Ces datas seront exploitées pour constituer des modèles d’apprentissage automatiques destinés à réaliser des tâches. Pour le fondateur de CodeNet, il s’agit d’un « ensemble de données à très grande échelle, diversifié et de haute qualité pour accélérer les progrès algorithmiques de l’IA pour le code ». Celui-ci recèle 14 millions d’échantillons de code. Il possède, par ailleurs, 500 millions de lignes de code qui sont transcrites sous 55 langages différents de la programmation. Ces modèles ont été acquis grâce à des soumissions obtenues sur près de 4 000 défis que l’on a publié sur les interfaces de codage en ligne AtCoder et AIZU. Les exemples de code présentent aussi bien des résultats corrects qu’incorrects aux défis proposés.

- Publicité -

L’entrepreneur américain Marc Andreesen a écrit en 2011, à juste titre, que «les logiciels mangent le monde». Avance rapide jusqu’à aujourd’hui et même les voitures comportent désormais plus de 100 millions de lignes de code (et en croissance rapide, avec l’avènement des véhicules autonomes.) IBM affirme qu’un de ses grands clients automobiles a récemment contacté la société pour l’aider à mettre à jour un actif de 200 millions de dollars composé de 3 500 fichiers Java multi-générations. Ces fichiers contenaient plus d’un million de lignes de code. En appliquant sa pile AI for Code, IBM a réduit le processus de migration de code d’un an du client à quatre semaines seulement. Cet exemple sera certainement le premier parmi tant d’autres dans les années à venir qui auront été considérablement accélérés et améliorés grâce au projet CodeNet. Vous pouvez trouver l’ensemble de données Project CodeNet complet sur GitHub ici.

 

Liens Utiles : (1) https://research.ibm.com/, (2) https://www.fosslife.org/, (3) https://www.lebigdata.fr/, …

Sur les mêmes sujets

-- Annonce --
Total
0
Share