publicité

Mauvaise nouvelle pour les développeurs : l'IA de DeepMind tient de mieux en mieux son code

Technologie : La filiale de Google DeepMind dévoile de nouveaux progrès de son IA en termes de programmation. De quoi aider les développeurs à coder plus efficacement... pour mieux les remplacer ?

Mauvaise nouvelle pour les développeurs : l'IA de DeepMind tient de mieux en mieux son code

Décider quel langage de programmation apprendre est une question importante que doivent se poser les développeurs en herbe en raison de l'énorme investissement en temps que cela demande. Cette question pourrait toutefois vite devenir superflue alors que les modèles d'intelligence artificielle (IA) ne cessent de s'améliorer et pourraient à terme effectuer tout le travail, de la description du problème à l'exécution d'un code pour le solutionner.

Des chercheurs de DeepMind, l'unité de Google spécialisée dans l'IA, viennent de poser un nouveau caillou dans le jardin des développeurs en affirmant que leur système AlphaCode est désormais capable d'exprimer des solutions à des problèmes dans un code jusqu'à obtenir un score médian dans les concours de programmation organisés pour les nouveaux programmeurs. Autant de concours qui demandent aux humains de comprendre un problème décrit en langage naturel, puis de coder un algorithme de manière efficace.

Dans un nouvel article (non révisé par des pairs), les chercheurs de DeepMind expliquent comment AlphaCode a obtenu un classement moyen parmi les 54,3 % de participants les mieux placés dans 10 concours de programmation organisés précédemment et comptant plus de 5 000 participants. Les compétitions étaient hébergées sur la plateforme de compétition de code Codeforces. DeepMind affirme qu'AlphaCode est le premier système de génération de code d'IA qui obtient des résultats compétitifs dans les concours de code destinés aux développeurs humains. Cette recherche pourrait améliorer la productivité des programmeurs et aider les non-programmeurs à exprimer une solution sans savoir comment écrire du code.

Un concurrent de taille

Les concurrents humains, et donc AlphaCode, devaient analyser la description d'un défi ou d'une énigme et écrire rapidement un programme pour les résoudre. Cette tâche est plus difficile que l'entraînement d'un modèle utilisant les données de GitHub pour résoudre un simple défi de codage. Comme les humains, AlphaCode devait comprendre une description en langage naturel du problème en plusieurs paragraphes, des détails narratifs et une description de la solution souhaitée en termes d'entrée et de sortie.

Pour résoudre le problème, chaque participant devait créer un algorithme, puis le mettre en œuvre de manière efficace, ce qui pouvait l'obliger à choisir, par exemple, un langage de programmation plus rapide comme C++ plutôt que Python pour surmonter ces contraintes. L'ensemble de données de pré-formation d'AlphaCode comprenait 715 Go de code provenant de fichiers issus de dépôts GitHub écrits en langage C++, C#, Go, Java, JavaScript/TypeScript, Lua, Python, PHP, Ruby, Rust et Scala. L'équipe a affiné le modèle en utilisant des ensembles de données de problèmes de programmation compétitifs extraits de Codeforces et d'autres ensembles de données similaires.

L'impulsion donnée par DeepMind à AlphaCode a été obtenue en combinant des modèles de transformation à grande échelle. Parmi ces modèles, citons le GPT-3 d'OpenAI et le modèle de langage BERT de Google. DeepMind a utilisé des modèles de langage basés sur des transformateurs pour générer du code puis filtrer la sortie vers un petit ensemble de « programmes prometteurs » qui ont été soumis à l'évaluation.

publicité

DeepMind se veut rassurant

« Au moment de l'évaluation, nous créons une quantité massive de programmes C++ et Python pour chaque problème, des ordres de grandeur plus importants que les travaux précédents », explique l'équipe AlphaCode de DeepMind dans un billet de blog. « Ensuite, nous filtrons, regroupons et reclassons ces solutions en un petit ensemble de 10 programmes candidats que nous soumettons à une évaluation externe. Ce système automatisé remplace le processus d'essai et d'erreur des concurrents, qui consiste à déboguer, compiler, passer des tests et finalement soumettre. »

Cette nouvelle percée de DeepMind n'est pas sans défauts. Par exemple, les modèles peuvent générer du code avec des faiblesses exploitables, notamment « des vulnérabilités non intentionnelles provenant d'un code obsolète ou des vulnérabilités intentionnelles injectées par des acteurs malveillants dans l'ensemble d'entraînement ». Le modèle a également un impact environnemental certain, son entraînement ayant nécessité des « centaines de jours pétaFLOPS » dans les centres de données de Google. Mais la génération de code d'IA pourrait à long terme « conduire à des systèmes capables d'écrire et de s'améliorer de manière récursive, ce qui conduirait rapidement à des systèmes de plus en plus avancés ».

Se pose évidemment la question de l'automatisation de tâches aujourd'hui assurées par les développeurs. DeepMind se veut rassurant en soulignant les limites des outils actuels de complétion de code qui améliorent considérablement la productivité de la programmation, mais qui sont jusqu'à maintenant limités à des suggestions d'une seule ligne et restreints à certains langages ou à de courts extraits de code. Pour DeepMind, ses recherches sont loin de constituer une menace pour les développeurs et doivent au contraire être perçues comme un outil pour renforcer les capacités de résolution de problèmes à la disposition de l'humanité.

« Notre exploration de la génération de code laisse une vaste marge d'amélioration et laisse entrevoir des idées encore plus passionnantes qui pourraient aider les développeurs à améliorer leur productivité et ouvrir le domaine à des personnes qui n'écrivent pas de code actuellement », font valoir les chercheurs de DeepMind.

Source : ZDNet.com

A lire aussi :

Les fameux CNN sont poussés vers la sortie par de nouvelles approches qui permettent de mieux comprendre les objets de...

Suivez toute l'actualité de ZDNet sur Google Actualités.

Articles relatifs
Contenus partenaires
Contenus sponsorisés
Réagissez à l'article
Connectez vous ou Enregistrez-vous pour commencer la discussion
publicité