Microsoft lance un outil de révision de code AI qui augmente la précision à> 80%

Microsoft a annoncé Jigsaw, un nouvel outil qui peut améliorer les performances des grands modèles de langage. "De grands modèles de langage pré-formés (comme GPT-3, Codex, etc.) qui peuvent être réglés pour générer du code à partir d'une spécification en langage naturel de l'intention du programmeur. De tels modèles automatisés ont le potentiel d'augmenter la productivité de chaque programmeur dans le monde ; mais, comme ces modèles peuvent avoir des difficultés à comprendre la sémantique des programmes, la qualité du code généré ne peut être garantie."

Selon la présentation, Jigsaw déploie une technologie de post-traitement qui comprend la syntaxe et la sémantique du programme, puis exploite les commentaires des utilisateurs pour améliorer les performances futures ; l'outil est conçu pour synthétiser le code de l'API Python Pandas à l'aide d'une entrée multimodale. Pandas est une API largement utilisée en science des données avec des centaines de fonctions pour manipuler des dataframes ou des tableaux avec des lignes et des colonnes.

Microsoft affirme que son expérience montre que Jigsaw peut jouer un rôle important dans l'amélioration de la précision du système à mesure que ces grands modèles de langage évoluent pour synthétiser du code basé sur l'intention.

Les modèles de langage à grande échelle comme le Codex d'OpenAI redéfinissent le domaine de la programmation. Les développeurs de logiciels peuvent fournir des descriptions en anglais pour les extraits de code attendus lors de la résolution de tâches de programmation, et Codex peut synthétiser le code attendu dans des langages tels que Python ou JavaScript. Mais le code synthétisé peut ne pas être correct et peut même ne pas se compiler ou s'exécuter. Les utilisateurs du Codex sont tenus d'examiner le code avant de l'utiliser. L' équipe de Jigsaw a expliqué qu'avec  Project Jigsaw , son objectif est d'automatiser certaines parties de la révision afin d'améliorer la productivité des développeurs qui utilisent de grands modèles de langage tels que Codex pour la synthèse de code.

Microsoft pense que Jigsaw peut "complètement automatiser" l'ensemble du processus de vérification de la compilation du code, de la gestion des messages d'erreur et du test de ce code qui produit ce que le développeur s'attend à produire . "Jigsaw prend en entrée une description en anglais du code attendu avec une instance d'E/S. De cette façon, il associe l'entrée à la sortie associée ; et fournit l'assurance qualité que le code Python de sortie se compilera sur l'entrée fournie et produira la sortie attendue."

Dans son   article  ICSE 2022 Jigsaw: Large Language Models meet Program Synthesis  , Microsoft a évalué cette approche sur Python Pandas. À l'aide de Jigsaw, l'utilisateur peut fournir une description en anglais de la transformation attendue, une trame de données d'entrée et une trame de données de sortie correspondante, puis laisser Jigsaw synthétiser le code attendu.

Jigsaw prend les requêtes en anglais et les prétraite avec le contexte approprié pour créer des entrées qui peuvent être introduites dans de grands modèles de langage. Microsoft a découvert dans des expériences que Jigsaw pouvait créer la sortie correcte 30% du temps. Si le code échoue, le processus de réparation commence à l'étape de post-traitement.

Pendant le post-traitement, Jigsaw a appliqué trois transformations pour corriger le code. Chacune de ces transitions était motivée par les modes de défaillance observés dans GPT-3 et Codex. GPT-3 et Codex échouent tous les deux de manière similaire, donc le post-traitement de Jigsaw pour traiter ces modes de défaillance est utile pour les deux.

Microsoft a évalué Codex et Jigsaw (avec Codex) sur divers ensembles de données et mesuré la précision. Codex donne une précision d'environ 30 % prête à l'emploi, Jigsaw augmente la précision à plus de 60 % ; avec les commentaires des utilisateurs, la précision peut être augmentée à plus de 80 %. À l'avenir, ils continueront à travailler sur l'amélioration de Jigsaw, en étendant leur expérience avec l'API Python Pandas à d'autres API et à d'autres langages ; jouant un rôle important dans l'augmentation de la productivité des programmeurs grâce à l'automatisation.

Plus de détails peuvent être trouvés sur le blog officiel .

Je suppose que tu aimes

Origine www.oschina.net/news/190978/microsoft-jigsaw-ai-code-fix
conseillé
Classement