Le dernier projet de l’équipe de recherche DeepMind au Royaume-Uni, AlphaCode, implique un moyen d’alléger le fardeau de l’écriture de programmes pour effectuer des tâches simples. Cette intelligence artificielle a démontré sa valeur face aux meilleurs programmeurs lors d’une compétition de programmation sur Codeforces, une plate-forme hébergeant des batailles de « codage rapide ». L’intelligence artificielle peut-elle surpasser l’intelligence humaine pour de telles tâches ? Explications.
DeepMind, appartenant à Google, est une entreprise spécialisée dans l’intelligence artificielle. Son objectif, ambitieux, est de « résoudre l’intelligence » en créant des machines intelligentes capables d’apprendre et d’acquérir de nouvelles connaissances à la manière des êtres humains. Pour ce faire, DeepMind développe de puissants algorithmes d’apprentissage général pouvant être combinés pour créer un système d’IA. Citons AlphaGo, le modèle d’IA qui a battu le champion humain Lee Sedol en 2016 dans un match du jeu de Go et AlphaFold, permettant de prédire la structure des protéines à partir de leurs séquences en acides aminés.
Émulation entre intelligence artificielle et intelligence humaine
Aider les programmeurs à générer du code pour des tâches simples est l’objectif commun d’AlphaCode et de son concurrent Copilot, de Microsoft. Néanmoins, ce dernier ne teste pas le code qu’il suggère. Cela rend particulièrement complexe la génération de code par IA : il est difficile d’évaluer à quel point une sortie particulière est proche du succès. Une solution parfaitement fonctionnelle peut « planter » à cause d’un seul caractère. AlphaCode va donc plus loin que Copilot, en se mesurant directement à l’intelligence humaine au travers de compétitions !
Tout comme l’intelligence humaine, l’intelligence artificielle doit passer par une phase d’apprentissage et de tests. L’entrainement et la compétition permettent de développer les capacités créatives en matière de résolution de problèmes. La programmation compétitive est considérée comme un sport intellectuel se déroulant généralement sur Internet ou sur un réseau local. Elle permet de maintenir à jour et d’accroitre les compétences.
Généralement, un ensemble de problèmes logiques ou mathématiques est présenté aux participants. Les plus typiques incluent : trouver des moyens de placer les routes et les bâtiments dans certaines contraintes, ou créer des stratégies pour gagner à des jeux de société personnalisés. Les participants sont ensuite classés principalement en fonction du nombre de problèmes résolus.
Participer à ces concours nécessite, pour une IA, de pouvoir extraire du sens à l’énoncé. Elle doit combiner compréhension du langage naturel, pensée critique, logique, algorithmes et codage. AlphaCode est ainsi la première IA à rivaliser avec l’intelligence humaine dans ce que nous appelons la réflexion critique éclairée par l’expérience.
AlphaCode, super programmeur ?
En combinant les avancées des modèles de transformateurs à grande échelle (de nombreux réseaux neuronaux mis en parallèle) avec un échantillonnage et un filtrage à grande échelle, les progrès sont significatifs.
Alphacode est préformé à l’aide du code accessible au public de GitHub puis ajusté sur un ensemble de données de compétition de codage relativement petit. Pour chaque problème du concours, les chercheurs ont construit « une quantité massive de programmes C++ et Python », bien plus importante que les travaux précédents. Ces solutions sont filtrées, regroupées et reclassées dans un petit ensemble de 10 programmes candidats soumis à une évaluation externe, sur Codeforces.
Créer des solutions à des problèmes imprévus est une seconde nature de l’intelligence humaine, mais pour les machines, mener une réflexion critique est un challenge presque impossible à relever. DeepMind est donc le premier à produire une IA dont les capacités ont été classées parmi les 54% des meilleurs participants aux compétitions sur Codeforces.
Mike Mirzayanov, fondateur de Codeforces, déclare sur le site de DeepMind : « je peux dire, avec certitude, que les résultats d’AlphaCode ont dépassé mes attentes. J’étais sceptique, car même dans des problèmes compétitifs simples, il faut non seulement implémenter l’algorithme, mais aussi (et c’est la partie la plus difficile) l’inventer. AlphaCode a réussi à performer à un niveau prometteur ».
En effet, le point sensible est la possibilité de plagiat de code préexistant, étant donné qu’AlphaCode puise ses données dans des problèmes résolus, tout comme Copilot. Riza Theresa Batista-Navarro de l’Université de Manchester, au Royaume-Uni, souligne qu’à travers les données fournies dans l’étude, AlphaCode « semble résoudre les problèmes tout en ne reproduisant qu’un peu plus de code que les humains ».
Le type de codage automatisé développé par DeepMind pourra aider à alléger certaines tâches subalternes pour les programmeurs. Il reste encore du chemin avant que l’IA ne surpasse réellement l’intelligence humaine et sa capacité de réflexion critique, mais elle reste un appui fort pour entrevoir des idées novatrices aidant les programmeurs à améliorer leur productivité.