Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    juin 2016
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 813
    Points : 23 618
    Points
    23 618

    Par défaut Deep TabNine : un autocompléteur basé sur l’IA et l'apprentissage profond

    Deep TabNine : un autocompléteur basé sur l’IA et l'apprentissage profond
    serait comme le Smart Compose de Gmail pour les codeurs

    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.

    Nom : z1.png
Affichages : 5610
Taille : 86,8 Ko

    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.

    Nom : z2.png
Affichages : 4916
Taille : 88,0 Ko

    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
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    janvier 2011
    Messages
    2 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : janvier 2011
    Messages : 2 792
    Points : 8 067
    Points
    8 067

    Par défaut

    Intéressant mais en lisant l'article et en allant sur le site je trouve des contradictions qui me font dire que je n'ai pas tout compris...

    La version gratuite permet d'indexer jusqu'à 100kio du code de notre projet, mais l'article indique qu'il ne fait pas comme les autres auto-compléteur et ne se base pas sur ce que l'on a tapé (donc indexé)...

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    décembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2008
    Messages : 55
    Points : 459
    Points
    459

    Par défaut

    Si l'IA est entraînée par le code de l'utilisateur, le risque est, si l'utilisateur produit un mauvais code, de proposer de mauvais choix.... J'ai vu un exemple dans LinkedIn où, en Python, l'IA ne proposait pas :
    • de faire de bloc "with" pour ouvrir les fichiers
    • d'utiliser scandir mais listdir
    • ...

    Le rôle d'un autocompléteur est d'aider pas de conforter le développeurs dans ses mauvais choix...

  4. #4
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    novembre 2011
    Messages
    2 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 2 006
    Points : 6 461
    Points
    6 461
    Billets dans le blog
    3

    Par défaut

    1s/min de codage, c'est 1.7% de temps de gagné. Sachant que le codage est loin d'occuper tout mon temps de travail (il faut penser design, revue de code, réunions en tout genre, etc.) on doit être en dessous des 1% de temps de gagné. À ce tarif là, je ne vois même pas l'intérêt de prendre du temps à installer le bousin et risquer de perdre du temps avec des bugs potentiels. Le risque de consommer le peu de temps gagné est élevé.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    février 2007
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : février 2007
    Messages : 804
    Points : 1 450
    Points
    1 450

    Par défaut

    C'est exactement ce que fait deja IntelliCode dans visual studio et ce gratuitement (https://marketplace.visualstudio.com....VSIntelliCode) ...

    Si c'est integre a l'IDE et gratuit c'est toujours un plus. Pour des junior cela peut etre assez utile, ensuite pour des profils plus experimentes, cela releve plus de l'accessoire.

    Enfin comme le souligne Matthieu Vergne, ecrire du code est un details dans les taches du quotidien, on passe en moyenne 5 fois plus de temps a lire du code, c'est donc la dessus qu'il faudrait ameliorer l'environement en priorite.

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/02/2019, 03h15
  2. Réponses: 2
    Dernier message: 21/08/2018, 23h49
  3. Réponses: 2
    Dernier message: 27/05/2017, 00h00
  4. Réponses: 1
    Dernier message: 30/05/2005, 17h02
  5. [forms] Bloc basé sur une clause from
    Par plaineR dans le forum Forms
    Réponses: 11
    Dernier message: 16/12/2004, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo