Facebook lance TransCoder : une IA qui convertit un langage de programmation en un autre avec une grande précision

Facebook lance TransCoder : une IA qui convertit un langage de programmation en un autre avec une grande précision

Les chercheurs de Facebook viennent d'annoncer avoir développé avec succès un convertisseur de langage de programmation pour les applications d'intelligence artificielle . Cet outil appelé TransCoder peut convertir le code source d'un langage de programmation de haut niveau à un autre. Par exemple, passer du C++ à Java, Python et vice versa.

Construit sur un apprentissage non supervisé, TransCoder recherche des modèles jusqu'alors inconnus dans des ensembles de données, qui ne sont pas étiquetés et avec une supervision humaine minimale. Selon les calculs, TransCoder est de loin supérieur aux outils commerciaux existants.

Facebook lance TransCoder : une IA qui convertit un langage de programmation en un autre avec une grande précision

Facebook TransCoder peut convertir le code source d'un langage de programmation à un autre avec une grande précision

La conversion du code source utilisant d'anciens langages vers des langages de programmation plus modernes et efficaces tels que Java et C++ est souvent coûteuse en temps et en argent. En outre, ceux qui entreprennent ce travail doivent avoir une connaissance approfondie des langues anciennes et nouvelles. Par exemple, la Commonwealth Bank d'Australie a mis 5 ans et un coût de 750 millions de dollars pour convertir le code source de l'ensemble de son système de COBOL en Java.

En théorie, les convertisseurs de langage de programmation peuvent grandement prendre en charge le processus ci-dessus, aidant ainsi les programmeurs à ne pas avoir à réécrire le code source à partir de zéro. Cependant, en pratique, il est très difficile de construire et de perfectionner un convertisseur car les langages de programmation peuvent utiliser différents ensembles de syntaxes et s'appuyer sur des plates-formes API, des bibliothèques de fonctions standards et des types de variables différents.

Cependant, grâce à un apprentissage non supervisé, le TransCoder de Facebook peut convertir entre C++, Java et Python avec un haut niveau de précision. TransCoder est formé en enregistrant et en mappant des segments de code similaires qui partagent les mêmes fonctions de langages de programmation. Le code source utilisé pour entraîner TransCoder est même masqué par des extraits de code aléatoires afin que TransCoder puisse les prédire en fonction du contexte.

Un autre processus appelé débruitage par auto-encodage entraînera TransCoder à générer automatiquement des lignes de code valides lorsqu'il reçoit des données d'entrée incohérentes et peu claires. Enfin, le processus de décompilation du code source permet à TransCoder de créer un système de données parallèle pouvant être utilisé pour de futures formations.

La nature multilingue de TransCoder est en outre « nourrie » par un ensemble d'« ancres » communes à tous les langages de programmation , telles que les mots-clés communs « for », « while », « if » et « try », les nombres, les opérateurs mathématiques et Cordes anglaises. Le processus de décompilation aidera également TransCoder à améliorer sa qualité au fil du temps.

Les chercheurs de Facebook ont ​​formé TransCoder sur l'ensemble de données publiques de GitHub, qui contient 2,8 millions de référentiels open source. L'objectif de ce processus de formation est d'aider TransCoder à convertir un langage de programmation en un autre au niveau des fonctions. Après que TransCoder ait été pratiqué sur tout le code source disponible, seuls les composants de débruitage utilisant l'autoencodage et la décompilation ont été formés davantage aux fonctions, entrecoupés de composants travaillant sur 6 000 jetons de langages de programmation.

Pour évaluer TransCoder, les chercheurs ont extrait 852 fonctions parallèles de C++, Java et Python de GeeksforGeeks, une plateforme en ligne qui compile les problèmes de programmation et fournit des solutions dans plusieurs langages de programmation différents. De cette manière, ils ont développé un nouveau système de mesure, la précision informatique, pour tester si, avec la même entrée, la fonction hypothétique produit la même sortie qu'une référence.

Facebook admet que même la meilleure version de TransCoder ne produit pas encore de nombreuses structures de fonctions précises par rapport à l'entrée. Cependant, en général, les résultats de conversion de cet outil ont une grande précision de calcul. Vous trouverez ci-dessous les statistiques de précision de TransCoder calculées par Facebook :

  • Lors de la traduction de C++ vers Java, TransCoder a obtenu 74,8 % des résultats attendus
  • Lors de la traduction de C++ vers Python, TransCoder a obtenu 67,2 % des résultats attendus
  • Lors de la traduction de Java vers C++, TransCoder a obtenu 91,6 % des résultats attendus
  • Lors de la traduction de Python vers Java, TransCoder a obtenu 56,1 % des résultats attendus
  • Lors de la traduction de Python vers C++, TransCoder a obtenu 57,8 % des résultats attendus
  • Lors de la traduction de Java vers Python, TransCoder a obtenu 68,7 % des résultats attendus

Selon les chercheurs, TransCoder a démontré une compréhension claire de la syntaxe spécifique de chaque langage ainsi que des structures de données et des méthodes du langage. TransCoder peut également adapter précisément les bibliothèques de chaque langage tout en s'adaptant à de petites modifications, par exemple une variable d'entrée renommée. Malgré cela, TransCoder n'a pas encore identifié certaines variables dans le processus de conversion. Cependant, les chercheurs considèrent toujours TransCoder comme supérieur aux frameworks créés en réécrivant manuellement des règles basées sur des connaissances spécialisées.

Facebook lance TransCoder : une IA qui convertit un langage de programmation en un autre avec une grande précision

Outre Facebook, de nombreuses grandes entreprises s'intéressent également au développement d'une IA capable d'« écrire du code » pour le compte des humains.

"TransCoder se généralise facilement à n'importe quel langage de programmation, sans nécessiter aucune connaissance approfondie. En termes d'efficacité, TransCoder est de loin supérieur aux solutions commerciales existantes" , affirment les chercheurs de Facebook. "Nos résultats expérimentaux montrent que de nombreux bogues de TransCoder peuvent être facilement corrigés en ajoutant de simples contraintes au décodeur pour garantir que les fonctions générées sont syntaxiquement correctes. Nous pouvons également créer des architectures spécialisées pour ce problème."

Outre Facebook, un certain nombre d'autres géants souhaitent également développer des systèmes d'IA capables d'« écrire du code » à la place des humains. Lors de la conférence Microsoft Build plus tôt cette année, OpenAI a démontré une intelligence artificielle formée sur GitHub avec la capacité d'écrire des logiciels entièrement fonctionnels basés sur des commentaires en anglais. Il y a deux ans, l'Université Rice a créé un système appelé Bayou, capable d'écrire son propre logiciel en synthétisant des « volontés » dans des lignes de code partagées publiquement.

"Ces systèmes d'IA aideront à éliminer les détails du processus de développement logiciel ", a déclaré Justin Gottschlich, directeur d'Intel Labs. "Ils peuvent aider les programmeurs à accélérer le développement de logiciels en résolvant des bogues. En outre, ils contribuent à augmenter le nombre d'emplois dans l'industrie technologique, auxquels peuvent également accéder des personnes sans formation en programmation. Ces personnes assumeront des tâches créatives et quitteront la partie codage. à l'IA."

Que pensez-vous de cette nouvelle IA de Facebook ? N'hésitez pas à laisser vos commentaires dans la section commentaires sous l'article !


Le groupe de travail ChatGPT sera créé par l’Europe

Le groupe de travail ChatGPT sera créé par l’Europe

L'organisme qui rassemble les organismes nationaux de surveillance de la vie privée en Europe a annoncé jeudi avoir créé un groupe de travail dédié à ChatGPT.

LIA prédit lheure de la mort humaine avec une précision de 78 %

LIA prédit lheure de la mort humaine avec une précision de 78 %

Des scientifiques danois et américains ont collaboré pour développer un système d'IA appelé life2vec, capable de prédire l'heure de la mort humaine avec une grande précision.

L’IA prédit les maladies urinaires rien qu’au son de l’urine

L’IA prédit les maladies urinaires rien qu’au son de l’urine

Un algorithme d’IA appelé Audioflow peut écouter le bruit de la miction pour identifier efficacement et avec succès les flux anormaux et les problèmes de santé correspondants du patient.

Barmans, attention : ce robot peut préparer un cocktail en 1 minute seulement

Barmans, attention : ce robot peut préparer un cocktail en 1 minute seulement

En raison du vieillissement et du déclin de la population japonaise, le pays manque d'un nombre important de jeunes travailleurs, notamment dans le secteur des services.

Des centaines de personnes ont été déçues lorsqu’elles ont appris que la fille qu’ils aimaient était un produit de l’IA

Des centaines de personnes ont été déçues lorsqu’elles ont appris que la fille qu’ils aimaient était un produit de l’IA

Un utilisateur de Reddit nommé u/LegalBeagle1966 est l'un des nombreux utilisateurs amoureux de Claudia, une fille ressemblant à une star de cinéma qui partage souvent des selfies séduisants, même nus, sur cette plateforme.

12 autres entreprises potentielles rejoignent « lalliance IA » de Microsoft.

12 autres entreprises potentielles rejoignent « lalliance IA » de Microsoft.

Microsoft vient d'annoncer que 12 autres entreprises technologiques participeront à son programme AI for Good.

LIA recrée les personnages de Dragon Ball en chair et en os

LIA recrée les personnages de Dragon Ball en chair et en os

L'utilisateur @mortecouille92 a mis à profit la puissance de l'outil de conception graphique Midjourney et a créé des versions réalistes uniques de personnages célèbres de Dragon Ball comme Goku, Vegeta, Bulma et l'aîné Kame. .

7 techniques pour améliorer les réponses ChatGPT

7 techniques pour améliorer les réponses ChatGPT

En ajoutant simplement quelques conditions ou en mettant en place des scénarios, ChatGPT peut donner des réponses plus pertinentes à vos requêtes. Examinons quelques façons d'améliorer la qualité de vos réponses ChatGPT.

Émerveillez-vous devant les magnifiques peintures dessinées par lintelligence artificielle

Émerveillez-vous devant les magnifiques peintures dessinées par lintelligence artificielle

Midjourney est un système d'intelligence artificielle qui a récemment provoqué une "fièvre" dans la communauté en ligne et dans le monde des artistes en raison de ses peintures extrêmement belles qui ne sont pas inférieures à celles de vrais artistes.

Ce modèle dIA a été lun des premiers « experts » à découvrir des nouvelles sur lépidémie de pneumonie de Wuhan.

Ce modèle dIA a été lun des premiers « experts » à découvrir des nouvelles sur lépidémie de pneumonie de Wuhan.

Quelques jours après que la Chine a annoncé l'épidémie, grâce à l'accès aux données mondiales sur les ventes de billets d'avion, le système d'IA de BlueDot a continué à prédire avec précision la propagation du virus Corona de Wuhan à Bangkok, Séoul, Taipei et Tokyo.