IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intelligence artificielle Discussion :

Des chercheurs publient en open source "PolyCoder", un générateur de code avec 2,7 milliards de paramètres


Sujet :

Intelligence artificielle

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 257
    Points
    66 257
    Par défaut Des chercheurs publient en open source "PolyCoder", un générateur de code avec 2,7 milliards de paramètres
    Des chercheurs publient en open source "PolyCoder", un générateur de code avec 2,7 milliards de paramètres
    qui surpasserait Codex dans la génération de code en C

    Les prouesses réalisées ces dernières années dans le domaine du traitement du langage naturel (NLP) ont ouvert la voie à une série d'IA génératrices de code dans divers langages de programmation. Après GitHub Copilot, AlphaCode et Codex, des chercheurs de l'université Carnegie Mellon ont présenté récemment PolyCoder, un générateur de code basé sur le modèle de langage GPT-2 d'OpenAI qui a été entraîné sur une base de données de 249 Go de code dans 12 langages de programmation. Les auteurs de PolyCoder affirment qu'il est capable d'écrire en C avec une plus grande précision que tous les modèles connus, y compris Codex.

    L'IA génératrice de code - c'est-à-dire une IA capable d'écrire du code source dans différents langages de programmation à partir d'une invite - promet de réduire les coûts liés au développement logiciel tout en permettant aux développeurs de se concentrer sur des tâches créatives et moins répétitives. Mais si des laboratoires de recherche comme OpenAI d'Elon Musk et DeepMind d'Alphabet ont mis au point de puissantes IA génératrices de code, bon nombre des systèmes les plus performants ne sont pas disponibles en open source. Les entreprises à faibles ressources n'y ont pas accès et cette situation limite leurs recherches dans le domaine.

    Par exemple, les données d'entraînement de Codex d'OpenAI, qui alimente la fonction Copilot de GitHub, n'ont pas été rendues publiques, ce qui empêche les chercheurs d'affiner le modèle d'IA ou d'en étudier certains aspects, comme l'interopérabilité. Pour remédier à cela, des chercheurs de l'université Carnegie Mellon (CMU) - Frank Xu, Uri Alon, Graham Neubig et Vincent Hellendoorn - ont développé PolyCoder, un générateur de code basé sur le modèle de langage GPT-2 d'OpenAI. Il dispose d'environ 2,7*milliards de paramètres et a été entraîné sur une base de données de 249 Go de code dans une douzaine de langages de programmation.

    Nom : 1646697052_840_560-696x464.jpg
Affichages : 94988
Taille : 35,5 Ko

    Précisément, PolyCoder a été entraîné sur des données provenant de plusieurs dépôts de GitHub, couvrant 12 langages de programmation populaires : C, C#, C++, Go, Java, JavaScript, PHP, Python, Ruby, Rust, Scala et TypeScript. L'ensemble de données non filtrées totalisait 631 Go de données et 38,9 millions de fichiers. L'équipe a déclaré qu'elle a choisi d'entraîner PolyCoder avec GPT-2 en raison de contraintes budgétaires. PolyCoder est disponible en open source et les chercheurs espèrent qu'il pourra démocratiser la recherche dans le domaine de la génération de code par l'IA, qui est jusqu'à présent dominée par des entreprises bien financées.

    Les chercheurs estiment que PolyCoder est plus performant que les autres modèles dans la génération de code en langage C. Cependant, Codex l'a toujours devancé dans d'autres langages. « PolyCoder surpasse notamment Codex et tous les autres modèles dans le langage C. En comparant uniquement les modèles open source, PolyCoder est plus performant que le modèle GPT-Neo 2.7B de taille similaire en C, JavaScript, Rust, Scala et TypeScript », notent-ils. « Dans les 11 autres langages, tous les autres modèles open source, y compris le nôtre, sont significativement plus mauvais (perplexité plus élevée) que Codex », ont ajouté les chercheurs du CMU.

    Un nombre croissant d'organisations explorent l'IA génératrice de code. Lors de sa conférence des développeurs Build en mai 2021, Microsoft a présenté une nouvelle fonctionnalité de Power Apps qui exploite le modèle de langage GPT-3 d'OpenAI pour aider les gens à choisir des formules. ControlFlag d'Intel est capable de détecter de manière autonome les erreurs dans le code. Et TransCoder de Facebook convertit le code d'un langage de programmation en un autre. Récemment, DeepMind a annoncé AlphaCode, qui, selon le laboratoire, est une IA génératrice de code capable de concurrencer les programmeurs humains.

    DeepMind affirme qu'AlphaCode s'est classé en moyenne parmi les 54,3 % les mieux placés dans les concours récents auxquels ont participé plus de 5 000 personnes. Les concours ont eu lieu sur Codeforces, une plateforme de concours de programmation. Mais son entraînement a nécessité "des centaines de pétaflops/s-jour" dans les centres de données de Google. Un pétaflop/s-jour (pfs-jour) consiste à effectuer 1015 opérations de réseau neuronal par seconde pendant une journée, soit un total d'environ 1020 opérations. Le produit du temps de calcul est une commodité mentale, similaire au kilowattheure pour l'énergie.

    Cependant, les chercheurs du CMU notent que "presque personne", en dehors des entreprises disposant de ressources importantes, ne peut former des modèles de la taille d'AlphaCode ou de Codex. Une étude réalisée en 2020 par la startup AI21 Labs a évalué le coût de la formation d'un modèle de génération de texte avec environ 1,5 milliard de paramètres - soit environ la moitié de la taille de PolyCoder - entre 80 000 et 1,6 million de dollars. Copilot compte 12 milliards de paramètres. « Dans une certaine mesure, nous espérons que nos efforts d'ouverture du code source convaincront les autres de faire de même », ont déclaré les chercheurs.

    « Mais le plus important est que la communauté soit en mesure de former ces modèles elle-même. Notre modèle a repoussé la limite de ce que vous pouvez former sur un seul serveur - tout ce qui est plus grand nécessite un cluster de serveurs, ce qui augmente considérablement le coût », ont-ils ajouté. En outre, PolyCoder a la particularité d'avoir été entraîné non seulement avec des fichiers de code, mais aussi avec des informations en langage naturel provenant de Stack Overflow, le site de questions-réponses pour développeurs. En comparaison, les ensembles de données utilisés pour former Codex n'ont pas été mis à la disposition du public.

    De plus, leur sortie API suit un modèle de "boîte noire", empêchant ainsi les chercheurs d'ajuster le modèle d'IA ou d'étudier certains aspects de celui-ci, comme son interopérabilité. Un autre des objectifs de ces chercheurs lors de la création de PolyCoder en open source est d'empêcher que cette classe de modèles soit poussée à générer des programmes avec des bogues ou du code malveillant (comme c'est déjà le cas avec Copilot), surtout s'ils aboutissent à des vulnérabilités difficiles à détecter.

    Source : Rapport d'étude des chercheurs du CMU (PDF), PolyCoder

    Et vous ?

    Quel est votre avis sur le sujet ?
    Que pensez-vous de la prolifération des IA génératrices de code ?
    Les développeurs ont-ils à craindre pour leurs postes ?
    Pensez-vous qu'elles pourront un jour coder en toute autonomie sans une intervention humaine ?
    Avec la popularisation des générateurs de code et des outils low-code/no-code, à quoi pourrait ressembler l'avenir du développement logiciel ?
    Les entreprises pourraient-elles à l'avenir décider de ne compter que sur ces systèmes afin de réduire les coûts du développement logiciel ?
    Pensez-vous que les générateurs de code basés sur l'IA pourront générer du code plus maintenable que les codeurs humains ? Seront-ils moins sujets aux bogues ?

    Voir aussi

    Project Turing : Microsoft et Nvidia créent un modèle de langage qui a 105 couches et 530 milliards de paramètres et nécessite 280 GPU A100, mais le système est encore biaisé

    Open AI présente DALL-E (comme GPT-3), un modèle qui crée des images à partir de texte pour un large éventail de concepts exprimables en langage naturel

    L'IA Codex d'OpenAI fait ses débuts en programmation et peut déjà coder dans une dizaine de langages. L'IA pourra-t-elle bientôt décharger les développeurs de certaines tâches, voire les remplacer ?

    GPT-3, le système de génération de texte d'OpenAI, produit désormais 4,5 milliards de mots par jour, avec une précision de 91 %

    Copilot, l'outil d'IA commercial de GitHub, est critiqué par la communauté du logiciel open source pour sa reproduction aveugle des blocs de code
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2015
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 450
    Points : 1 970
    Points
    1 970
    Par défaut
    J'aimerais beaucoup avoir l'avis d'un utilisateur expérimenté de ces systèmes. J'aimerais comprendre pratiquement comment les choses se passent, ce qu'on fournit au système, jusqu'où il faut spécifier et quoi.
    Accessoirement, pourquoi générer du code source de haut niveau et pas directement un assembleur ?

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 93
    Points : 207
    Points
    207
    Par défaut
    "pourquoi générer du code source de haut niveau et pas directement un assembleur" je pense que c'est pour pouvoir relire : une IA est très capable de se "tromper", généralement de manière inattendue (c'est justement là le pb). Et aussi pour figer le code une fois qu'il est obtenu et l'améliorer, comme un fork.

    Ceci dit pareil, comment on l'utilise ? Il me semble comprendre qu'il serait adapté plus pour des programmes résultants utilisant des frameworks d'IA ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2014
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2014
    Messages : 606
    Points : 1 447
    Points
    1 447
    Par défaut
    Rien en COBOL ni en PASCAL ?

Discussions similaires

  1. Réponses: 25
    Dernier message: 21/05/2017, 13h59
  2. Pourquoi avoir choisi des logiciels Libres ou Open source ?
    Par zoom61 dans le forum Logiciels Libres & Open Source
    Réponses: 101
    Dernier message: 29/09/2014, 17h06
  3. Réponses: 27
    Dernier message: 23/09/2010, 10h42
  4. Compiler des projets C/C++ Open Source
    Par Lucas Panny dans le forum C++
    Réponses: 4
    Dernier message: 28/11/2008, 08h18
  5. État des lieux de l'Open Source Business Intelligence
    Par ygrim dans le forum Approche théorique du décisionnel
    Réponses: 15
    Dernier message: 30/07/2008, 17h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo