AlphaCode, la nouvelle IA de Google, peut-elle remplacer les développeurs ?

5 min
137
0
0
Publié le

AlphaCode est un modèle d’IA capable de générer du code source. Basée sur l’apprentissage automatique et le deep learning, cette IA serait selon la filiale britannique de Google « DeepMind » qui l’a conçu, capable d’utiliser une « combinaison de pensée critique, de logique, d’algorithmes, de codage et de compréhension du langage naturel ». Toujours selon ses créateurs, AlphaCode pourrait écrire des programmes informatiques similaires à ceux conçus par des développeurs informatiques « humains ». Pour la tester, ils ont ainsi fait concourir leur modèle d’intelligence artificielle à des compétitions de codage notamment sur la plateforme Codeforces. AlphaCode a obtenu des résultats remarquables en se classant parmi les 54 % des meilleurs participants humains. Alors, ce modèle d’IA va-t-il bouleverser la programmation et la conception de logiciels ? Et surtout l’IA d’Alphacode peut-elle remplacer les développeurs IT ? Les éléments de réponse dans cet article…

AlphaCode, la nouvelle IA qui développe du code compétitif 

Qu’est-ce que la programmation compétitive ?

La programmation compétitive consiste à résoudre des problématiques généralement posées sous la forme de casse-têtes ou de puzzle incluant de la logique et/ou des mathématiques. Les développeurs appelés « programmeurs sportifs » s’affrontent sur ces compétitions pour tenter de solutionner le plus rapidement possible la problématique grâce à leurs compétences en algorithmie et en développement.

À l’origine présentée comme un jeu ou un sport de l’esprit, la programmation compétitive est désormais reconnue et soutenue par plusieurs sociétés multinationales de logiciels, Facebook et Google en tête. De nombreuses sociétés organisent aussi leur propre concours pour entraîner leur équipe ou recruter de nouveaux talents.

AlphaCode rivalise avec les programmeurs logiciels

Les performances d’AlphaCode dans cette programmation compétitive devraient donc fortement intéresser les entreprises de logiciels. L’IA s’est en effet placée en milieu de peloton dans les différentes compétitions auxquelles elle a participé. Cette position équivaut au niveau d’un développeur humain moyen. Selon ses créateurs, il s’agissait de plus du premier essai de l’IA qui est destiné à continuer son apprentissage pour s’améliorer.

Lors de ces premières compétitions de code, elle a toutefois été, capable :

  • d’analyser les informations dont elle disposait ;

  • de proposer des milliers, voire, millions de solutions à la problématique en inventant et implémentant des algorithmes ;

  • de filtrer, grâce à un algorithme de recoupement ces solutions jusqu’à n’en retenir 10 qu’elle a proposé au concours.

Ce processus distingue AlphaCode des autres outils de codage IA, tels que OpenAI Codex, qui sont capables de générer des extraits de code spécifiques sur commande. L’IA de DeepMind aurait notamment la capacité de « résoudre des problèmes de programmation beaucoup plus complexes que les systèmes précédents », selon Ernest Davis, professeur du département d’informatique de l’Université de New York.

De quoi menacer le métier de développeur informatique ? Pas si sûr, car la programmation compétitive reste un domaine bien spécifique du développement et surtout, car AlphaCode a encore largement besoin d’être complété par des humains pour être efficace. 

L’IA de DeepMind, surtout un assistant de programmation ?

AlphaCode, des compétences limitées en programmation 

Un point important de la programmation compétitive est que les développeurs ne sont pas jugés sur la qualité de leur code ni sur sa réutilisabilité. Ce qui compte pour gagner des places dans le classement c’est la vitesse de résolution du problème et la complexité de la solution mise en place. La rapidité est justement le domaine dans lequel peut excéder une intelligence artificielle entraînée. 

Avant de lancer son IA sur les concours, DeepMind a notamment utilisé une combinaison d’apprentissage automatique non supervisée et supervisée pour former les modèles d’IA qui constituent l’architecture d’AlphaCode. Le système a d’abord absorbé 715 gigaoctets de données du référentiel de codage GitHub, avant que l’équipe de DeepMind ne l’ajuste à l’aide d’une base de données qu’elle avait créée à partir d’énoncés de problèmes, de cas de test et d’exemples de soumissions (correctes et incorrectes) issues d’autres concours de codage. 

En situation réelle de programmation de logiciel, AlphaCode aurait donc bien du mal à pouvoir prendre en compte toutes les problématiques et les analyses de besoins. Sans intervention humaine, le modèle d’apprentissage automatique et pour l’instant incapable de prendre en compte les besoins non mathématiques ou logiques par exemple en ce qui concerne :

  • l’expérience utilisateur ;

  • l’optimisation des performances ;

  • l’intégration avec les autres programmes et applicatifs existants ;

  • les exigences de sécurité ;

  • les problématiques de sauvegarde et d’intégrité des données utilisées ;

  • le green computing ;

  • la clarté, la lisibilité et la réutilisabilité du code source. 

De plus, selon la complexité des problèmes à résoudre, le modèle d’apprentissage automatique pourrait nécessiter au préalable une quantité énorme d’échantillons de données à analyser.

Un code superficiel de DeepMind

Au niveau du développement lui-même, la différence est majeure entre le code réalisé par l’IA ou par un développeur humain. Les programmeurs humains vont utiliser leur intuition et leur logique pour exploiter les ressources informatiques vers une solution optimale et optimisée. Ils vont utiliser les phases de débogage, d’analyse et de révision pour affiner leur code. Le travail en équipe peut également les aider à proposer des solutions innovantes.

De son côté, AlphaCode va générer des milliers d’échantillons de code à partir de données préexistantes et les filtrer uniquement a posteriori pour identifier ceux qui sont fonctionnels.

Jeevan Kalanithi, co-fondateur et PDG d’Open Space a ainsi déclaré que le type de codage automatisé de l’IA de Deepmind peut aider à alléger certaines tâches subalternes pour les programmeurs, mais ne permettra pas d’automatiser le travail des développeurs et ingénieurs logiciels. En l’état des choses AlphaCode représente donc plus un assistant de programmation basé sur l’intelligence artificielle qu’une menace pour les professionnels de l’IT.

Et vous, en tant que développeurs, programmeurs ou autres professionnels de l’IT que pensez vous de AlphaCode ? Considérez-vous que les progrès de l’IA sont une menace pour les métiers du digital ? N'hésitez pas à nous partager vos avis sur le forum IT !

Source et liens utiles

Boostez votre carrière

Les meilleures offres d’emploi sont chez Free-Work

Notre CVthèque est la première source de recherche de talents pour + 1 000 entreprises. Déposez votre CV et postulez en un clic !

Continuez votre lecture autour des sujets :
# Actualités
# Programmation
# IA

Commentaire

Dans la même catégorie