Deepmind a dévoilé les progrès de sa plateforme AlphaCode, un système basé sur l’IA dont l’objectif est d’apprendre à programmer toute seule sur la base d’instructions humaines. Et apparemment, elle se porte comme un charme : elle serait aujourd’hui à peu près aussi douée que le programmeur humain moyen.
Pour comprendre ce qui rend cette annonce intéressante, il faut d’abord remonter jusqu’à l’institution qui en est à l’origine. Il s’agit de DeepMind, une entreprise satellite de Google qui fait partie des références absolues dans la recherche en intelligence artificielle. Et ce n’est pas une exagération; en quelques années, ces véritables sorciers se sont construit une réputation extrêmement solide; partout où ils passent, des problèmes d’une complexité immense trépassent.
Jusqu’à présent, leurs systèmes ont déjà mis les stars du poker au tapis, oblitéré les meilleurs joueurs de Starcraft, et même brisé psychologiquement le meilleur joueur de l’histoire du Go au point de lui faire prendre sa retraite. Et il ne s’agit pas que de divertissement, loin de là. DeepMind s’est également illustré avec des contributions scientifiques sensationnelles, notamment dans le domaine médical et pharmaceutique. Très récemment, nous vous parlions par exemple d’AlphaFold, un système révolutionnaire qui a déjà commencé à redéfinir la biologie moléculaire.
La créativité humaine, pièce manquante du puzzle
Mais contrairement à ce dernier, AlphaCode n’a que faire de l’origami moléculaire. Son domaine à lui, c’est la programmation. Et pas question de se contenter d’un vulgaire système d’autocomplétion comme l’IntelliSense de VisualStudio, ou d’un système de suggestion basé sur l’IA comme le Copilot d’OpenAI. Ici, nous parlons d’un système qui récolte les informations initiales en rapport avec un problème, puis produit lui-même un programme pour le résoudre.
C’est une activité qui est extrêmement complexe par nature, mais c’est encore pire pour une intelligence artificielle. En effet, ces dernières doivent fonctionner sans l’intuition humaine; un désavantage certain, puisque cet élément permet aux développeurs de prendre de nombreux raccourcis sans même s’en rendre compte.
Il est donc extrêmement difficile de développer une IA capable d’assumer cette tâche. Lui inculquer les rudiments de la syntaxe et de la logique ne suffit pas; il faut aussi lui apprendre à interpréter correctement tous les éléments de contexte. Et ça, c’est une autre paire de manches. “C’est très difficile à faire, car cela nécessite à la fois des compétences solides en programmation, mais aussi une capacité à résoudre des problèmes de façon créative”, explique Petr Mitrichev, ingénieur chez Google.
Au niveau du programmeur moyen
Mais rien ne semble décourager les équipes de DeepMind, qui ont déjà prouvé qu’elles étaient friandes de problèmes en apparence insurmontables. Au bout du compte, ils sont arrivés à leurs fins avec un système entraîné sur Codeforces.
Il s’agit d’ une plateforme de programmation compétitive, sur laquelle les programmeurs de tout poil peuvent tester leurs capacités à résoudre des problèmes divers et variés. Les résultats sont compilés dans un classement qui récompense les développeurs les plus rapides et astucieux. Et il ne s’agit pas que d’un outil éducatif; les entreprises, en particulier américaines, utilisent souvent ce genre de plateformes pour tester leurs candidats au moment du recrutement. De plus, on y trouve de nombreux problèmes uniques, sur lesquels l’IA ne pourrait pas “tricher” en réutilisant une solution générique. C’est donc un environnement de test extrêmement pertinent pour ce genre de travaux.
Pendant plusieurs semaines, AlphaCode s’est fait les dents sur un ensemble de problèmes soigneusement sélectionnés par les ingénieurs. Pour vérifier ses progrès, ces derniers l’ont ensuite confronté à une “quantité massive” de problèmes en Python et C++, nécessitant chacun des approches et des raisonnements très différents. Satisfait des performances de son système, DeepMind a jeté son bébé directement dans le grand bain en l’inscrivant à dix compétitions Codeforces, où il a dû lutter contre des humains en chair et en os.
Et contre toute attente, AlphaCode s’en est bien sorti; il a été classé dans le 54e percentile, ce qui signifie qu’il a fait à peu près aussi bien que le développeur humain moyen. Seul point noir global : environ 40% des solutions produites contenaient des vulnérabilités qui auraient pu être exploitées par un pirate. Mais il s’agit d’une problématique différente et encore plus complexe, à laquelle DeepMind s’attaquera dans un second temps.
De la “simple” programmation au développement autonome
“Je peux affirmer sans risque qu’AlphaCode a surpassé toutes mes attentes”, affirme Mike Mirzayanov, la tête pensante de Codeforces. “J’étais sceptique parce que même dans un problème compétitif simple, il faut non seulement implémenter l’algorithme, mais aussi l’inventer de toute pièce — et c’est ça qui est très difficile.”, souffle-t-il.
Évidemment, AlphaCode est encore loin d’être aussi dominant dans sa discipline que ses frères et sœurs; AlphaGo ou AlphaStar, pour ne citer qu’eux, dominent outrageusement leurs disciplines. Mais ces travaux représentent néanmoins une avancée significative et même assez spectaculaire dans la capacité des systèmes basés sur l’IA à résoudre des problèmes humains. Et ce dernier point est très important. Il s’agit en effet d’une composante indispensable pour exploiter tout le potentiel concret de cette technologie.
S’ils continuent à progresser ainsi, des systèmes de ce genre pourraient aider les développeurs à produire des solutions astucieuses et élégantes à des problèmes fastidieux, voire hors de portée pour notre cerveau humain. À terme, cela pourrait ouvrir la voie à des systèmes de programmation entièrement automatisés; les développeurs en deviendraient alors à la fois les pilotes et les garants.
L’aube d’un nouveau paradigme
Une approche qui promet de démultiplier les capacités, l’efficacité et la productivité d’un tas de systèmes dans l’industrie. Mais ce n’est pas tout; AlphaCode dispose également d’un vrai potentiel pour la recherche, notamment en intelligence artificielle. Et c’est bien là l’implication la plus importante de ces travaux. Car une fois sera mature, l’approche exploratoire d’AlphaCode pourrait constituer une source d’inspiration intarissable pour les développeurs humains. À terme, on peut même imaginer qu’il soit capable de produire une nouvelle version encore plus aboutie de lui-même. Cela démarerrait alors un cycle d’innovation perpétuelle et automatisée, dans un environnement contrôlé par des humains.
Évidemment, cela fait aussi resurgir le spectre de certains scénarios dystopiques; si elle état pilotée par un pirate, une IA de ce type serait par exemple tout à fait capable de disséminer du code malveillant, comme des portes dérobées, dans le système ciblé. Mais cela ne doit pas occulter le potentiel invraisemblable de ces systèmes; connaissant le pedigree académique de DeepMind, il sera donc très intéressant de suivre la suite de ces travaux qui pourraient un jour redéfinir notre rapport à la technologie.
Le papier de recherche est disponible ici.
🟣 Pour ne manquer aucune news sur le Journal du Geek, abonnez-vous sur Google Actualités. Et si vous nous adorez, on a une newsletter tous les matins.