Focus sur GitHub Copilot ! L'assistant de coding intelligent.

Notre équipe toujours enthousiaste de tester les dernières innovations a pu tester ses premières fonctionnalités afin de découvrir le potentiel de ce nouvel outil..

...
Ugo DANY
Partager:
  • ...
  • ...

Github plateforme mondialement connu d'hébergement de code pour les développeurs, à lancer dans le courant du mois de Juin une version technical preview (version diffusée à un groupe restreint dans le but d'obtenir des retours et effectuer des tests) de Github Copilot.

En collaboration avec l’entreprise américaine Open AI,entreprise phare dans le développement d'Intelligence Artificielle avancée fondée par Elon Musk. Github Copilot est un outil qui vous permet de générer du code en analysant le contexte de votre projet (autrement dit, votre code) et ses connaissances afin de vous fournir un panel de suggestions adéquats. De plus, GitHub Copilot intègre la possibilité de générer du code à partir d'un langage naturel, ce qui signifie que vous pouvez par exemple décrire une fonction en anglais et copilot vous suggère du code correspondant à votre description.

cp-head-square size.png

Qu’est ce que Github Copilot ?

Cet été, le numéro un mondial de l'hébergement de codes sources, GitHub a lancé une version “technical preview” de son premier assistant de codage qui se nomme Copilot. Copilot vous permet de générer plusieurs suggestions de codes, il se base sur le contexte de votre document notamment en prenant en compte les éléments déjà inscrit et s’adapte à la situation en fonction de ses connaissances.

Copilot, ne vous propose pas seulement une suggestion mais dans la plupart des cas une multitude de propositions vous permettant d’évaluer les différentes possibilités émises par l’assistant, vous gardez le contrôle sur vos codes tout en gagnant du temps.Cela vous permettra de ne plus rester dans l’impasse en cas d’imprévu. Cela vous permettra de ne plus rester dans l’impasse en cas d’imprévu.

De plus, il est compatible avec les codes en Python, JavaScript, TypeScript, Ruby, Go pour lesquels il s'avère être le plus efficace mais se veut compatible avec d'avantages de langages de programmation.

Dans l’optique de vous faciliter la vie, Copilot vous propose de convertir vos commentaires en code, le remplissage automatique pour le code répétitif, des suggestions de test correspondant à votre code ou encore des solutions alternatives en cas de nécessité.

github-copilot-header.jpg

Une IA de suggestion instantanée, comment ca marche ?

En collaboration avec Open AI,, la plateforme a pu utiliser ses bases de données pour alimenter le récent GPT-3 (Generative pre-trained Transformer 3) de Open AI.

Cette dernière à adapter son algorithme afin d'intégrer les ressources de Github qui compte plus de 73 millions d’utilisateurs et plus de 200 millions de projets regroupés sur la plateforme, cela représente plusieurs milliards de lignes de code à analyser pour l’IA dénommé Codex. Copilot a profité d’une base de données plus que conséquente pour apprendre et imiter votre manière de coder dans le but de vous suggérer les meilleures propositions.

Cet IA de 3e génération utilise un immense réseau neuronal avec 175 milliards de paramètres comparé à la génération précédente qui n’en possédait que 1,5 milliards. Ce nombre plus élevé de paramètres lui confère une précision et un potentiel d’apprentissage plus abouti que les versions précédentes.

ess-parameters_transformer_based_language_models-f.png

Représentation comparative du nombre de paramètres parmi les modèles linguistiques pré-entraînés les plus populaires.

GPT-3 est à la base un modèle linguistique, il est capable de générer des phrases en fonction du contexte et de ses connaissances. Un modèle linguistique est un programme qui calcule la probabilité qu’un mot apparaisse dans un texte par rapport aux autres mots du texte. De plus, il est capable d’effectuer des tâches de traduction d’une langue à une autre ou encore de transformer un texte juridique en langage courant.

Cette aisance à comprendre et traduire des informations a permis à GitHub de mettre au point son assistant Copilot en générant du code à partir d'instructions en langage naturel.

De base, le préapprentissage de GPT-3 est composé à 60% du corpus Common Crawl (regroupement de textes, pages web, et données en tout genre disponible en Open Source) ce qui représente 410 milliards unités textuelles. Représentant 22% et 19 milliards d’unités du corpus WebText2, le corpus Books 1 et 2 qui représente 15% ainsi que 3% d’unités provenant de Wikipédia.

Toutes ces données représentent la base de connaissance du système qui pourra être complété par la suite en incorporant de nouvelles données à l’IA afin d’étendre ses fonctionnalités. GPT-3 a été entraîné sur des milliards de mots et est capable de programmer dans différents langages comme CSS, Javascript, Python et bien d’autres.

En pratique, retour d’utilisation de Copilot par l'équipe 53JS

Nous avons eu la chance de tester Copilot et notre équipe de développeurs est revenue sur les points marquants de ce nouvel outil, afin de vous partager leur ressenti.

Francois M.

L'autocomplétion est impressionnante notamment sur le fait que Copilot analyse le contexte dans lequel il se trouve (variables, nom des fonctions etc.). Cela évite les tâches répétitives et donc fait gagner en productivité.

Pour la partie génération de code à partir de commentaires ou d'une fonction : j'apprécie particulièrement le fait que plusieurs suggestions sont proposées. Mon utilisation est pour l'instant limitée aux petites fonctions (manipulation de date, regex, string etc.) ou il facile de vérifier rapidement la pertinence de la solution suggérée.

L'intégration à VScode est une réel plus value car elle permet de rester dans le context du code (plus besoin d'aller vérifier sur le Web la méthode ou la syntaxe oubliées ) Copilot risque bien de devenir très vite un outil incontournable, je ne partage pas les réserves de certains qui pensent que cela risque de remplacer les développeurs car l'architecture, le modèle de données, comprendre les demandes des clients ne pourra pas (ou dans un futur très lointain) être fait par une IA.

Dorian C.

Tout comme François, je trouve l'auto-complétion incroyable, cela permet d’obtenir des solutions avec une approche différente et d’avoir des snippets rapidement. D’un autre côté, il faut rester vigilant, Copilot n’est pas infaillible et il arrive que les solutions proposées soient fausses ou inexploitables.

Même si cet outil permet de gagner du temps, il faut néanmoins réaliser des tests de manière régulière. Je me questionne également sur les dérives lors des challenges de coding comme leetcode ou les battledevs. Je pense que les organisateurs doivent réglementer l’utilisation de ce type d’assistant.

Pour conclure:

Les innovations apportées avec Copilot sont prometteuses et une telle technologie pourrait apporter de nouvelles possibilités aux développeurs. Une utilisation à grande échelle permettrait de réduire les temps de développement et d'éviter des bugs.

Cependant, cela prendra du temps avant que le système soit entièrement opérationnel et pour l’instant la plateforme n’a pas fait de communiqué officiel concernant une possible date de lancement. Cette technical preview pourrait bien leur apporter les ressources nécessaires à l’amélioration de Copilot.

L’assistant Copilot de Github ne remplacera pas les développeurs, loin de là, mais il n’en reste pas moins un outil très utile au quotidien de ces derniers. En effet, le gain de temps réalisé, la variété de propositions et la traduction en langage informatique comptent bien faciliter la vie de nombreux développeurs à travers le monde. Nous avons hâte d’en découvrir plus et de voir l'avancement de ce projet !

Copilot est uniquement disponible dans Visual Studio Code à l’heure actuelle et pour un nombre restreint d’utilisateurs, pour avoir accès à l’assistant n'hésitez pas à vous inscrire sur la liste d'attente.

...
Ugo DANY
Partager:
  • ...
  • ...

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies