Maison > Périphériques technologiques > IA > L'avenir des programmeurs appartient au « pseudocode » ! Chronique Nature : Trois façons d'utiliser ChatGPT pour accélérer la programmation de la recherche scientifique

L'avenir des programmeurs appartient au « pseudocode » ! Chronique Nature : Trois façons d'utiliser ChatGPT pour accélérer la programmation de la recherche scientifique

WBOY
Libérer: 2023-05-16 22:19:04
avant
1318 Les gens l'ont consulté

L'émergence de chatbots basés sur des outils d'intelligence artificielle générative, tels que ChatGPT, Bard, et la manière d'utiliser les outils d'IA pour la recherche universitaire a suscité une énorme controverse, mais en même temps, le code généré par l'IA est utilisé La valeur pour la recherche scientifique a été ignorée.

Par rapport au problème de plagiat causé par le texte généré par ChatGPT, l'utilisation de l'IA pour copier du code est évidemment moins controversée. La science ouverte encourage même le « partage de code » et la « réutilisation de code ». . Il est également très pratique de tracer la source. Par exemple, utiliser "import" en Python pour importer les packages dépendants compte comme référence.

Récemment publié un article de synthèse dans Nature, l'équipe d'auteurs a discuté des Les trois capacités potentielles de ChatGPT dans le domaine de la programmation scientifique, dont Brainstorm, décomposez les tâches complexes et abordez les tâches simples mais chronophages.

Lavenir des programmeurs appartient au « pseudocode » ! Chronique Nature : Trois façons dutiliser ChatGPT pour accélérer la programmation de la recherche scientifique

Lien de l'article : https://www.nature .com/articles/s41559-023-02063-3

Des chercheurs ont exploré l'utilisation de ChatGPT pour traduire le langage naturel en code lisible par ordinateur. L'IA générative pour améliorer les capacités et les limites du codage scientifique.

Les exemples de l'expérience ont principalement exploré des tâches courantes pouvant être liées à l'écologie, à l'évolution et à d'autres domaines. Les chercheurs ont découvert que 80 à 90 % peuvent être réalisés en utilisant. Tâches de codage ChatGPT.

ChatGPT peut générer du code très utile si la tâche est décomposée en petits morceaux de code gérables avec des indices précis sous forme de requêtes.

Il convient de noter que réaliser la même expérience avec Bard de Google donne généralement des résultats similaires, mais avec plus de bugs dans le code, donc cet article utilise principalement l'expérimentation avec ChatGPT.

Le premier auteur, Cory Merow, est un écologiste quantitatif dont la principale direction de recherche est de construire des modèles mécanistes pour prédire les réponses des populations et des communautés aux changements environnementaux. Même les meilleurs ensembles de données sont imparfaits pour prédire les réponses au changement global. Des outils doivent donc être développés pour combiner les sources de données et explorer les ensembles de données afin de mieux comprendre les changements possibles dans les systèmes biologiques.

ChatGPT aide au codage scientifique

ChatGPT est basé sur le modèle de régression GPT-3 et s'adapte à d'énormes pages Web, livres et autres textes . Entraînez-vous à générer du texte sans chercher.

Donc, ChatGPT est meilleur en interpolation (prédire un texte similaire aux données d'entraînement), mais pas bon en extrapolation (prédire un texte différent de l'échantillon d'entraînement) nouveau texte).

La taille même de l'ensemble de formation est un avantage et signifie que GPT-3 a vu un grand nombre de modèles de langage, lui permettant d'interpoler et d'augmenter la génération de possibilité de réponses utiles à l’homme.

Mais pour la tâche de génération de code, GPT-3 ne sait pas programmer, il sait juste à quoi ressemble le code et quels mots sont les plus susceptibles d'apparaître ensuite Position, son principe de fonctionnement est similaire à la complétion automatique, prédisant le prochain bloc de code (morceau) sur la base d'un modèle de probabilité. Les morceaux sont généralement plus petits que les mots (mot) et peuvent également être appelés jeton

#. 🎜🎜## 🎜🎜#La probabilité de générer le jeton correct est basée sur le produit de probabilité de tous les jetons, c'est-à-dire qu'augmenter le nombre de jetons prédits ou réduire la certitude du jeton sélectionné augmentera la difficulté de la tâche, ce qui réduisant la probabilité d’obtenir le bon jeton.

Par conséquent, si vous souhaitez augmenter la probabilité d'obtenir le bon jeton, vous devez raccourcir la durée de la tâche générée ou fournir des instructions plus spécifiques.

Enfin, les chercheurs ont rappelé qu'une partie du texte généré par ChatGPT ressemble à du code, mais peut ne pas être exécutable, une observation et un débogage attentifs sont donc nécessaires pendant le processus de codage. .

Outil de brainstorming#🎜 🎜 # ChatGPT peut très bien récupérer plusieurs sources de données. Par exemple, dans le domaine écologique, il peut obtenir simultanément des caractéristiques des plantes, des aires de répartition des espèces et des données météorologiques.

Bien que certaines des données fournies par ChatGPT soient incorrectes, ces erreurs peuvent être rapidement corrigées grâce aux liens qu'il fournit.

Cependant, ChatGPT ne peut pas écrire de robot pour télécharger des données à partir du site Web. Cela peut être dû au fait que les packages de langage R et les interfaces de programmation d'application sous-jacentes (telles que le protocole R d'accès à la base de données) sont mis à jour trop rapidement. les données de formation de ChatGPT sont construites en 2021.

ChatGPT peut proposer diverses techniques statistiques lorsque vous rencontrez des problèmes spécifiques. Dans les questions suivantes, il peut générer davantage de conseils basés sur les hypothèses de l'utilisateur et fournir un code initial.

Cependant, le processus de synthèse ne convient que pour proposer et communiquer des idées. La vérification des faits doit encore être effectuée via des sources de données traditionnelles (telles que des articles, etc.).

Il convient de noter que certains sites Web prétendent que ChatGPT a la capacité d'écrire des résumés de livres. Cependant, à en juger par les résultats des tests des chercheurs, les résultats complets de ce résumé sont peut-être complètement faux. utilisés pour le test ne sont pas dans GPT-3 apparaît dans l'ensemble de formation.

Les tâches plus difficiles nécessitent plus de débogage

ChatGPT est très efficace pour générer du code de modèle, fournissant un code de script court contenant un petit nombre de fonctions sous des instructions spécifiques.

Par exemple, dans l'exemple ci-dessous, le chercheur a demandé à ChatGPT d'enchaîner les entrées et les sorties de quatre fonctions couramment utilisées. et fournissez un exemple de code qui utilise cette fonction sur des données simulées.

Vous pouvez voir que les résultats générés par ChatGPT sont presque parfaits. Le débogage du code n'a pris que quelques minutes. Cependant, vous devez être très précis sur la requête dans l'invite, notamment en fournissant le nom et les fonctions utilisées. .

Lavenir des programmeurs appartient au « pseudocode » ! Chronique Nature : Trois façons dutiliser ChatGPT pour accélérer la programmation de la recherche scientifique

Les chercheurs ont découvert que la clé du succès est la suivante :

1. Décomposer les tâches complexes en plusieurs sous-tâches ne devrait idéalement nécessiter que quelques étapes. Le code est basé sur les résultats d’un modèle probabiliste de prédiction de texte.

2. ChatGPT fonctionne mieux lors de l'utilisation de fonctions existantes, car cela implique uniquement une interpolation plutôt qu'une extrapolation.

Par exemple, le code qui utilise des expressions régulières (regex) pour extraire des informations d'un texte est très difficile pour de nombreux développeurs, mais parce qu'il existe déjà des sites Web d'expressions régulières qui fournissent un grand nombre d'exemples en ligne, et peuvent apparaître dans l'exemple ChatGPT , donc les performances de ChatGPT dans l'écriture d'expressions régulières sont toujours bonnes.

3. L'une des plus grandes critiques de ChatGPT par les universitaires est le manque de transparence de ses sources d'information.

Pour les tâches de génération de code, un certain degré de transparence peut être atteint en spécifiant un "espace de noms", c'est-à-dire en appelant explicitement le nom du package lors de l'utilisation de la fonction.

Cependant, ChatGPT peut copier directement le code public d'un individu sans le citer, et les chercheurs sont toujours responsables de vérifier l'attribution correcte du code.

Dans le même temps, si vous devez générer des scripts plus longs, certaines failles de ChatGPT seront exposées, telles que la falsification de noms de fonctions ou de paramètres, etc. C'est pourquoi StackOverflow désactive la génération de code ChatGPT.

Mais si l'utilisateur fournit un ensemble clair d'étapes d'exécution, ChatGPT peut toujours générer un modèle de flux de travail utile qui définit les connexions entre les entrées et les sorties entre les étapes, qui peuvent être générées avec l'extrapolation GPT-3. L'approche la plus utile pour les nouveaux code.

Actuellement, ChatGPT ne peut pas convertir le pseudocode (étapes de l'algorithme décrites dans un langage simple) en code exécutable par ordinateur parfait, mais cela n'est peut-être pas loin de la réalité.

ChatGPT est particulièrement utile pour les débutants et les langages de programmation peu familiers, car les débutants ne peuvent écrire que des scripts plus courts, ce qui rend le débogage plus pratique.

ChatGPT est meilleur pour les tâches non créatives

#🎜 🎜#

ChatGPT est le meilleur pour résoudre des tâches fastidieuses et peut être utilisé pour déboguer, détecter et expliquer les erreurs dans le code.

ChatGPT est également très efficace lors de l'écriture de documents de fonction. Par exemple, l'utilisation de la syntaxe de document en ligne de roxygen 2 est très efficace pour identifier tous les paramètres et classes, mais elle l'est très moins. explication de la façon d'utiliser les fonctions.

Une limitation clé est que la génération de ChatGPT est limitée à environ 500 mots et ne peut se concentrer que sur la génération de blocs de code plus petits, tout en générant également des tests unitaires pour Fonctionnalité de code de confirmation automatisée. La plupart des conseils donnés par ChatGPT sont utiles pour définir la structure du test et vérifier les classes d'objets attendues.

Enfin, ChatGPT est très efficace pour reformater le code pour suivre les styles de code standardisés (par exemple Google). ChatGPT et d'autres outils de traitement du langage naturel basés sur l'IA sont prêts à automatiser des tâches simples pour les développeurs, telles que l'écriture de fonctions courtes, le débogage de la syntaxe, les commentaires et le formatage, tandis que la complexité de mise à l'échelle dépend de la volonté de l'utilisateur de déboguer (et de ses compétences).

Les chercheurs ont résumé les fonctions de ChatGPT dans la génération de code, ce qui peut simplifier le processus d'écriture de code dans le domaine scientifique, mais une inspection manuelle est toujours nécessaire et un code exécutable est Cela ne signifie pas nécessairement que le code exécute la tâche prévue, les tests unitaires ou les tests interactifs informels restent donc cruciaux.

dans des solutions peuvent être développées par des humains et générées par simple copie de ChhatGPT Dans ce cas, il est crucial de s’assurer que le bon code soit attribué à la bonne personne. Il existe déjà des chatbots qui commencent à fournir automatiquement des liens vers leurs sources (par exemple, Bing de Microsoft), même si cela n’en est qu’à ses balbutiements.

ChatGPT offre une alternative à l'apprentissage des compétences en codage par rapport aux méthodes traditionnelles, en atténuant les barrières à la tâche initiale d'écriture en convertissant le pseudocode directement en code. Les chercheurs soupçonnent que les avancées futures utiliseront des outils tels que ChatGPT pour déboguer automatiquement le code au fur et à mesure de son écriture, générant, exécutant et proposant de manière itérative un nouveau code en fonction des erreurs rencontrées. Au cours de l'expérience, les chercheurs ont constaté que la capacité de corriger le code était limitée, seulement occasionnellement. réussi lorsque des instructions très spécifiques ciblaient de petits blocs de code et que le processus de débogage était beaucoup moins efficace que le débogage manuel.

Lavenir des programmeurs appartient au « pseudocode » ! Chronique Nature : Trois façons dutiliser ChatGPT pour accélérer la programmation de la recherche scientifique

Les chercheurs soupçonnent qu'à mesure que la technologie progresse (comme le modèle GPT-4 récemment publié, qui serait 10 fois plus grand que le modèle GPT-3), automatisé le débogage sera amélioré.

L'avenir approche, il est maintenant temps pour les développeurs d'acquérir des compétences d'ingénierie rapides pour tirer parti des outils d'IA émergents, les chercheurs prédisent que le code généré à l'aide de l'intelligence artificielle deviendra logiciels Développer des compétences de plus en plus précieuses dans tous les aspects fondamentaux de la découverte et de la compréhension scientifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal