DeepMind a créé une IA d’écriture logicielle qui rivalise avec un codeur humain moyen
La société d’intelligence artificielle DeepMind a construit un outil capable de créer un code fonctionnel pour résoudre des problèmes logiciels complexes
La technologie
2 février 2022
DeepMind, une société d’IA basée au Royaume-Uni, a appris à certaines de ses machines à écrire des logiciels informatiques et elle fonctionne presque aussi bien qu’un programmeur humain moyen lorsqu’elle est jugée en compétition.
Le nouveau système AlphaCode est revendiqué par DeepMind comme étant capable de résoudre des problèmes logiciels qui nécessitent une combinaison de logique, de pensée critique et de capacité à comprendre le langage naturel. L’outil a été inscrit en 10 tours sur le site Web du concours de programmation Codeforces, où les participants humains testent leurs compétences en codage. Dans ces 10 tours, AlphaCode s’est placé à peu près au niveau du concurrent médian. DeepMind affirme que c’est la première fois qu’un système d’écriture de code d’IA atteint un niveau de performance compétitif dans les concours de programmation.
AlphaCode a été créé en formant un réseau de neurones sur de nombreux échantillons de codage, provenant du référentiel de logiciels GitHub et des participants précédents aux compétitions sur Codeforces. Lorsqu’il est confronté à un nouveau problème, il crée un nombre considérable de solutions dans les langages de programmation C++ et Python. Il les filtre ensuite et les classe dans un top 10. Lorsque AlphaCode a été testé en compétition, des humains ont évalué ces solutions et ont soumis la meilleure d’entre elles.
La génération de code est un problème particulièrement épineux pour l’IA car il est difficile d’évaluer à quel point une sortie particulière est proche du succès. Un code qui plante et qui n’atteint donc pas son objectif peut être à un seul caractère d’une solution parfaitement fonctionnelle, et plusieurs solutions fonctionnelles peuvent apparaître radicalement différentes. Résoudre des concours de programmation nécessite également une IA pour extraire le sens de la description d’un problème rédigé en anglais.
GitHub, propriété de Microsoft, a créé l’année dernière un outil similaire mais plus limité appelé Copilot. Des millions de personnes utilisent GitHub pour partager le code source et organiser des projets logiciels. Copilot a pris ce code et formé un réseau de neurones avec lui, lui permettant de résoudre des problèmes de programmation similaires.
Mais l’outil était controversé car beaucoup affirmaient qu’il pouvait directement plagier ces données de formation. Armin Ronacher de la société de logiciels Sentry a découvert qu’il était possible d’inviter Copilot à suggérer un code protégé par le droit d’auteur du jeu informatique de 1999. Arène Quake III, avec les commentaires du programmeur d’origine. Ce code ne peut pas être réutilisé sans autorisation.
Lors du lancement de Copilot, GitHub a déclaré qu’environ 0,1 % de ses suggestions de code pouvaient contenir des extraits de code source textuel de l’ensemble de formation. La société a également averti qu’il est possible pour Copilot de produire des données personnelles authentiques telles que des numéros de téléphone, des adresses e-mail ou des noms, et que le code produit peut offrir des résultats biaisés, discriminatoires, abusifs ou offensants ou inclure des failles de sécurité. Il dit que le code doit être vérifié et testé avant utilisation.
AlphaCode, comme Copilot, a d’abord été formé sur du code accessible au public hébergé sur GitHub. Il a ensuite été affiné sur le code des concours de programmation. DeepMind dit qu’AlphaCode ne copie pas le code des exemples précédents. Compte tenu des exemples fournis par DeepMind dans son article de préimpression, il semble résoudre les problèmes tout en ne copiant qu’un peu plus de code à partir des données de formation que les humains ne le font déjà, déclare Riza Theresa Batista-Navarro de l’Université de Manchester, au Royaume-Uni.
Mais AlphaCode semble avoir été si finement réglé pour résoudre des défis complexes que l’état de l’art antérieur des outils de codage d’IA peut encore le surpasser sur des tâches plus simples, dit-elle.
« Ce que j’ai remarqué, c’est que, bien qu’AlphaCode soit capable de faire mieux que les IA de pointe comme GPT sur les défis de la compétition, il réussit relativement mal sur les défis d’introduction », déclare Batista-Navarro. « L’hypothèse est qu’ils voulaient faire des problèmes de programmation au niveau de la compétition, pour s’attaquer à des problèmes de programmation plus difficiles plutôt qu’à des problèmes d’introduction. Mais cela semble montrer que le modèle était si bien affiné sur les problèmes les plus compliqués que, d’une certaine manière, il a en quelque sorte oublié les problèmes de niveau d’introduction.
DeepMind n’était pas disponible pour un entretien, mais Oriol Vinyals de DeepMind a déclaré dans un communiqué : Je ne m’attendais pas à ML [machine learning] atteindre une moyenne humaine parmi les concurrents. Cependant, cela indique qu’il reste du travail à faire pour atteindre le niveau des plus performants et faire progresser les capacités de résolution de problèmes de nos systèmes d’IA.
En savoir plus sur ces sujets :