L’intelligence artificielle a beaucoup progressé ces dernières années surtout dans les domaines comme la génération d’images et la génération de textes. Cela a permis de mettre au point des systèmes d’autocomplétion basés sur l’IA pour augmenter la productivité et la vitesse de travail des développeurs. TabNine fait partie de cette catégorie de logiciels, mais avec une particularité. Deep TabNine est un autocompléteur de codage. En plus d’être basé sur l’IA, il ajoute désormais un modèle d’apprentissage profond, ce qui augmente considérablement sa qualité de suggestion.
L’intelligence artificielle et l'apprentissage profond ont transformé beaucoup de domaines de l’informatique, et de la vie en général, au cours des dernières années. Les réseaux de neurones sont à la pointe de la technologie dans de nombreux domaines académiques et ils ont été déployés dans la production pour des tâches telles que la conduite autonome, la synthèse de la parole et l'ajout de bouchons d'oreilles au visage humain. Jacob Jackson, étudiant du premier cycle en informatique à l'Université de Waterloo, a décidé de combiner ces technologies dans les outils de développement pour augmenter les performances et la productivité des développeurs, en mettant au point Deep TabNine. Deep TabNine est un autocompléteur de codage.
Deep TabNine peut être ajouté en tant qu'add-on dans un éditeur de texte
Les programmeurs peuvent l'installer en tant qu'add-on dans l'éditeur de texte de leur choix. Ensuite, quand ils commenceront à écrire, Deep TabNine suggérera comment continuer chaque ligne, en offrant de petites portions à la fois. Deep TabNine est formé sur environ 2 millions de fichiers de GitHub. Pendant l’entraînement, son objectif est de prédire chaque jeton à partir des jetons qui le précèdent. Pour atteindre cet objectif, il apprend des comportements complexes, tels que l'inférence de type dans des langages à typage dynamique. Selon son créateur, l’expérience avec Deep TabNine ressemble à peu près à celle que vous pourrez avoir en utilisant la fonctionnalité Smart Compose du service Gmail de Google.
Deep TabNine est un projet qui date de février de l’année dernière, mais vers le milieu de ce mois, Jackson a publié une version plus améliorée (en bêta) de son outil qui utilise désormais un algorithme d’apprentissage profond appelé GPT-2, qui utilise lui-même le réseau Transformer de l’université de Cornell pour améliorer ses capacités de prédiction et de suggestion. Cette architecture a d'abord été développée pour résoudre des problèmes de traitement du langage naturel. Bien que la modélisation du code et la modélisation du langage naturel puissent sembler être des tâches non liées, la modélisation du code nécessite une compréhension inattendue de l'anglais.
Le modèle utilise également une documentation écrite en langage naturel pour déduire les noms de fonction, les paramètres et les types de retours. GPT-2 est conçu par le laboratoire de recherche en intelligence artificielle générale OpenAI. Selon Jackson, le logiciel offre de meilleures suggestions, car il fonctionne sur une bonne base prédictive. En effet, la plupart des autocompléteurs doivent analyser ce que l'utilisateur a déjà écrit pour faire des suggestions, en utilisant leur code comme si vous suiviez les étapes d'une formule mathématique. Deep TabNine, par comparaison, s’appuie sur la capacité de l’apprentissage automatique à trouver des modèles statistiques dans les données pour effectuer ses prédictions.
Deep TabNine se base sur l’apprentissage profond pour faire ses suggestions
Selon Jacob Jackson, les outils d’autocomplétion qui sont basés sur l’IA ne sont pas nouveaux, mais dans le cas de Deep TabNine, l’apprentissage profond a énormément amélioré ce qu’il peut offrir. « Utiliser un apprentissage profond pour créer un logiciel d'autocomplétion offre plusieurs avantages. Cela a résolu un problème pour moi », a-t-il expliqué. De plus, ajoute-t-il, cela facilite l’ajout de la prise en charge de nouvelles langues, pour commencer. Le logiciel n'est pas parfait, explique-t-il, mais dans son état actuel, Deep TabNine prend tout de même en charge environ 22 langages de codage différents, alors que la plupart des alternatives ne fonctionnent qu'avec un seul.
Actuellement, Deep TabNine prend en charge les langages suivants : Python, JavaScript, Java, C ++, C, PHP, Go, C#, Ruby, Objective-C, Rust, Swift, TypeScript, Haskell, OCaml, Scala, Kotlin, Perl , SQL, HTML, CSS et Bash. Contrairement aux autres autocompléteurs, Deep TabNine ne consulte pas le code des utilisateurs pour faire des suggestions, ce qui signifie qu’il peut commencer dès le départ à aider les projets, au lieu d'attendre quelques indications du code écrit par l'utilisateur. Cependant, selon ce qu’explique Jacob Jackson sur son outil d’autocomplétion, Deep TabNine peut faire des erreurs dans ses suggestions et n'est pas totalement utile pour tous les types de codage.
Les utilisateurs qui l’ont essayé n’ont pas manqué de partager leurs avis sur les différents sites communautaires et de commentaires, certains le qualifiant « d’incroyable » ou « d'absolument hallucinant ». Mais certains commentaires ont souligné quelques limites à l’outil. Sur ce point, une des plaintes que Jackson juge légitimes est que Deep TabNine est plus adapté à certains types de codage. Il est moins capable d'écrire du code exploratoire, où l'utilisateur résout un nouveau problème. Cela est logique étant donné que le logiciel tire ses connaissances des modèles trouvés dans les données d'archives. Alors,
À quel point Deep TabNine peut être utile pour un codeur moyen ?
Jacob Jackson a indiqué que cela dépend de nombreux facteurs comme le langage de programmation utilisé et les objectifs recherchés. Il ajoute également que c'est plus une méthode de saisie plus rapide qu'un partenaire de codage humain (une pratique courante connue sous le nom de programmation par paires). D’après lui, le fait d’être capable de créer un programme comme celui-ci en utilisant un logiciel open source montre que l'avenir est prometteur pour le codage assisté par l'IA. « C’est l’objectif de tous ceux qui travaillent dans cet espace de dire à l’ordinateur le code que vous voulez écrire et il le fait pour vous. Nous sommes loin de cela pour le moment, mais je vois cela comme un outil qui est un peu plus pratique pour vous d'exprimer vos pensées », a-t-il déclaré.
À l'heure actuelle, une licence pour TabNine coûte 49 USD pour un usage personnel et 99 USD pour un usage professionnel. Les utilisateurs doivent s'inscrire à la version bêta de Deep TabNine pour avoir accès aux nouvelles fonctionnalités basées sur l’apprentissage profond. Sur le site Web officiel de l'outil, Jackson justifie le prix comme ceci : « Deep TabNine vous fera gagner au moins 1 seconde par minute. Si vous valorisez votre temps au-dessus de 1,40 USD/heure, le paiement sera rentabilisé en moins d'un an ». Enfin, explique Jackson, notez que le logiciel améliore la rapidité avec laquelle vous pouvez entrer des informations, ce qui vous rend plus productif. Mais il n'écrira pas votre code pour vous, et vous aurez besoin de garder un œil dessus.
Source : Deep TabNine
Et vous ?
Qu'en pensez-vous ?
Avez-vous déjà testé cet outil ? Comment le trouvez-vous ?
Voir aussi
Microsoft propose de nouvelles fonctionnalités aux développeurs Java sur Visual Studio Code concernant le refactoring et la sélection sémantique
Microsoft annonce la disponibilité générale de Visual Studio 2019 sur Windows et macOS. Petit tour d'horizon sur les nouveautés et améliorations
Apprendre à configurer Visual Studio Code pour déboguer une application ASP.NET Core. Un billet d'Hinault Romaric
Deep TabNine : un autocompléteur basé sur l'IA et l'apprentissage profond
Serait comme le Smart Compose de Gmail pour les codeurs
Deep TabNine : un autocompléteur basé sur l'IA et l'apprentissage profond
Serait comme le Smart Compose de Gmail pour les codeurs
Le , par Bill Fassinou
Une erreur dans cette actualité ? Signalez-nous-la !