Quel est le souci avec l’assistant au codage GitHub Copilot?
GitHub a dévoilé Copilot, une solution d’assistance à la programmation développée en collaboration avec OpenAI. L’outil fait polémique dans la communauté des développeurs et experts de l’IA, tant sur des questions de droits d'auteurs que de qualité du code automatiquement généré.
L’intelligence artificielle (IA) sera-t-elle un jour en mesure de faire de la programmation informatique de qualité au point de pouvoir remplacer les développeurs? Pour y parvenir, les modèles devront dans tous les cas être entraînés à l’aide de millions de lignes de code, si possible de sans bugs… Mais est-ce réalisable sans violation de droits d'auteur? Voilà certaines des épineuses questions qui entourent le lancement de la preview technique de Copilot par GitHub, une solution d’assistance à la programmation dans la mouvance low-code, développée en collaboration avec OpenAI.
Connu pour son puissant modèle de traitement de langage naturel GPT-3, Open AI bénéficie de l'important soutien financier (à hauteur d’un milliard de dollars) de Microsoft, propriétaire de GitHub. Pour Copilot, conçu comme une extension de Visual Studio Code, le modèle d’IA inédit OpenAI Codex a été spécialement créé. Ce dernier est décrit par le CEO de GitHub comme «nettement plus performant que GPT-3 en matière de génération de code, en partie parce qu'il a été entraîné sur un ensemble de données comprenant une concentration beaucoup plus importante de code source public». GitHub Copilot promet de faire gagner du temps aux développeurs en interprétant à la fois les commentaires et le code en tant que tel, afin de suggérer des lignes de code voire des fonctions complètes.
Pratique commune vs. usage équitable
Le fait que Copilot soit formé à partir de code public ne résout toutefois par les problématiques de copyright, selon un certain nombre de développeurs et spécialistes de la question. Sur Twitter, Alex Champandard, expert en IA et cofondateur de Creative AI, indique avoir noté un subtil changement dans les conditions d’utilisation de l’outil. Le 29 juin, GitHub notait: «entraîner des modèles de machine learning sur des données disponibles publiquement est une pratique commune dans la communauté du machine learning». Quelques jours plus tard, la formule «pratique commune» a été remplacée par «considéré comme un usage équitable» («fair use»). Selon le spécialiste, cette redéfinition crée un précédent suggérant que les conditions de licence de code open source (par exemple la licence GPL) ne s’appliquent pas dans ce cas. Or, ce prétendu «usage équitable» ne fait pas consensus dans la communauté open source. Il faut savoir que le code open source peut-être utilisé et réutilisé selon certaines conditions, telles que la permission d’en faire ou non une utilisation commerciale ou l’obligation d’attribuer le contenu original. Mais comment considérer le code généré par Copilot?
Un développeur surnommé Eevee résume dans un tweet le courroux suscité par l’outil en ces termes: «GitHub Copilot a [...] été formé sur des montagnes de code GPL, donc je ne vois pas bien en quoi ce n'est pas une forme de blanchiment de code open source dans des œuvres commerciales». Ce type d’accusations de blanchiment de droits d’auteur n’est pas nouveau concernant les technologies d’IA. Alex Champandard avait par exemple déjà soulevé le problème suite à la présentation de DALL.E, l’intelligence artificielle qui crée une image à partir de n’importe quel texte. En guise de réaction aux critiques, GitHub renvoie vers la FAQ de Copilot, qui précise que celui-ci est un synthétiseur de code, pas un moteur de recherche: «la grande majorité du code qu'il suggère est généré de manière unique et n'a jamais été vu auparavant». Avant d’admettre que dans de très rares cas, «la suggestion peut contenir des extraits tirés directement de l'ensemble [des données] d'apprentissage».
«Les bugs seront transmis plus vite que la vitesse de la pensée»
Outre les préoccupations liées aux droits d'auteur, GitHub Copilot fait débat quant à la qualité du code suggéré. Sur son blog, le développeur Maxim Khailo estime que les performances de l'outil seront globalement inférieures à celles d’un codeur humain. «C'est plus rapide que le copier-coller de bouts de code, car Copilot complétera automatiquement le code qui sera probablement compilé et nécessitera moins de corrections humaines. Tous les programmeurs comprennent pourquoi le copier-coller de code est mauvais. Cela introduit probablement des bugs. Avec Copilot, les bugs seront transmis plus vite que la vitesse de la pensée», fait observer le développeur.
Connu pour ses contributions autour de l’IA sur la plateforme Medium, le blogueur et développeur surnommé Chris The Data Guy estime lui aussi que Copilot ne remplacera jamais la créativité des experts de la programmation informatique. En revanche, il note que ce type d’outil low code/no code pourraient empêcher les débutants d'aiguiser leurs savoir-faire en créant des applications à la complexité limitée. En outre, si les meilleurs développeurs peuvent booster leur productivité avec ces outils, ils risqueraient de s'accaparer la majorité des contrats, ne laissant que des miettes à leurs confrères moins doués. Enfin, l’expert craint que ces solutions d'assistance au codage transforment les logiciels en boîte noire, car «comment comprendre le code que l'IA écrit si nous n'écrivons plus de code?».
Bref, les enjeux sont complexes et immenses, comme le résume sur Linkedin l’experte en IA et ingénierie logicielle Dagmar Monett: «Je peux vous dire avec une certitude absolue que nous avons devant nous le prochain casse-tête de l'IA. [Ces outils] rendront probablement les avocats riches lorsque les propriétaires de code sous licence sur GitHub commenceront à poursuivre les constructeurs du corpus de Copilot.»