


Die Zukunft der Programmierer gehört dem „Pseudocode'! Kolumne „Natur': Drei Möglichkeiten, ChatGPT zu nutzen, um die Programmierung wissenschaftlicher Forschung zu beschleunigen
Das Aufkommen von Chatbots, die auf Tools für generative künstliche Intelligenz wie ChatGPT und Bard basieren, und die Verwendung von KI-Tools für die akademische Forschung haben große Kontroversen ausgelöst, aber gleichzeitig hat auch der Wert von KI-generiertem Code für die wissenschaftliche Forschung zugenommen ignoriert worden.
Verglichen mit dem Plagiatsproblem, das durch ChatGPT-generierten Text verursacht wird, ist die Verwendung von KI zum Kopieren von Code offensichtlich weniger umstritten und fördert sogar das „Sharing von Code“ und die „Wiederverwendung von Code“, und es ist auch sehr praktisch, die Quelle zu verfolgen. Beispielsweise importiert „Importieren“ abhängige Pakete auch als Referenzen.
Ein Übersichtsartikel wurde kürzlich in Nature veröffentlicht. Das Autorenteam diskutierte die drei potenziellen Fähigkeiten von ChatGPT im Bereich der wissenschaftlichen Programmierung, darunter Brainstorming, Zerlegung komplexer Aufgaben und Verarbeitung einfacher, aber zeitaufwändiger Aufgaben.
Link zum Artikel: https://www.nature.com/articles/s41559-023-02063-3
Forscher übersetzen natürliche Sprache mithilfe von ChatGPT-Code in computerlesbare Sprache, erforscht die Möglichkeiten und Grenzen des Einsatzes generativer KI zur Verbesserung der wissenschaftlichen Codierung.
Die Beispiele im Experiment untersuchten hauptsächlich allgemeine Aufgaben, die sich auf Ökologie, Evolution und andere Bereiche beziehen können. Die Forscher fanden heraus, dass 80–90 % der Codierungsaufgaben mit ChatGPT erledigt werden können.
ChatGPT kann sehr nützlichen Code generieren, wenn die Aufgabe in kleine, überschaubare Codeblöcke mit präzisen Hinweisen als Abfragen unterteilt wird.
Es ist erwähnenswert, dass die Durchführung des gleichen Experiments mit Bard von Google normalerweise zu ähnlichen Ergebnissen führt, jedoch mit mehr Fehlern im Code. Daher wird in diesem Artikel hauptsächlich ChatGPT für Experimente verwendet.
Der Erstautor Cory Merow ist ein quantitativer Ökologe, dessen Hauptforschungsrichtung darin besteht, Mechanismusmodelle zu entwickeln, um die Reaktion von Populationen und Gemeinschaften auf Umweltveränderungen vorherzusagen. Selbst die besten Datensätze sind nicht in der Lage, Reaktionen auf globale Veränderungen vorherzusagen. Daher müssen Tools entwickelt werden, um Datenquellen zu kombinieren und Datensätze zu untersuchen, um Einblicke in mögliche Veränderungen in biologischen Systemen zu gewinnen.
ChatGPT hilft beim wissenschaftlichen Codieren
ChatGPT basiert auf dem Regressionsmodell GPT-3 und führt Anpassungstraining für umfangreiche Webseiten, Bücher und andere Texte durch und kann Text ohne Suche generieren.
ChatGPT ist also besser in der Interpolation (Vorhersage von Text, der den Trainingsdaten ähnelt), aber nicht gut in der Extrapolation (Vorhersage von neuem Text, der sich vom Trainingsbeispiel unterscheidet).
Die schiere Größe des Trainingssatzes ist ein Vorteil und bedeutet, dass GPT-3 eine große Anzahl von Sprachmustern gesehen hat, was ihm die Interpolation ermöglicht und die Wahrscheinlichkeit erhöht, Antworten zu generieren, die für Menschen nützlich sind.
Bei Codegenerierungsaufgaben weiß GPT-3 jedoch nicht, wie man programmiert. Es weiß nur, wie der Code aussieht und welche Wörter am wahrscheinlichsten an der nächsten Position erscheinen. Vervollständigung, basierend auf Das Wahrscheinlichkeitsmodell, das den nächsten Codeblock (Chunk) vorhersagt, ist normalerweise kleiner als Wörter (Wörter), die auch als Token bezeichnet werden können. Die Wahrscheinlichkeit, den richtigen Token zu generieren, basiert auf dem Produkt der Wahrscheinlichkeiten aller Das heißt, die Anzahl der vorhergesagten Token zu erhöhen oder die Auswahl des Tokens zu verringern, erhöht die Schwierigkeit der Aufgabe und verringert dadurch die Wahrscheinlichkeit, den richtigen Token zu erhalten.
Wenn Sie also die Wahrscheinlichkeit des richtigen Tokens erhöhen möchten, müssen Sie die Dauer der Generierungsaufgabe verkürzen oder spezifischere Anweisungen bereitstellen.
Abschließend erinnert der Forscher daran, dass einige der von ChatGPT generierten Texte wie Code aussehen, aber möglicherweise nicht ausführbar sind, sodass während des Codierungsprozesses sorgfältige Beobachtung und Fehlerbehebung erforderlich sind.
Brainstorming-Tool
ChatGPT kann sehr gut mehrere Datenquellen abrufen. Im ökologischen Bereich können beispielsweise Pflanzenmerkmale, Artenverbreitungsgebiete und meteorologische Daten gleichzeitig erfasst werden.
Auch wenn einige der von ChatGPT bereitgestellten Daten falsch sind, können diese Fehler über die bereitgestellten Links schnell behoben werden.
ChatGPT kann jedoch keinen Crawler schreiben, um Daten von der Website herunterzuladen. Dies kann daran liegen, dass das R-Sprachpaket und die zugrunde liegende Anwendungsprogrammierschnittstelle (z. B. das Protokoll für R um auf die Datenbank zuzugreifen) wurden schnell aktualisiert, schließlich wurden die Trainingsdaten von ChatGPT im Jahr 2021 erstellt.
ChatGPT kann bei spezifischen Problemen verschiedene statistische Techniken vorschlagen, auf der Grundlage von Benutzerannahmen weitere Anleitungen generieren und einen anfänglichen Code bereitstellen.
Der Syntheseprozess eignet sich jedoch nur zum Vorschlagen und Kommunizieren von Ideen, und eine Faktenprüfung anhand traditioneller Datenquellen (wie Papiere usw.) ist weiterhin erforderlich.
Es sollte beachtet werden, dass einige Websites behaupten, dass ChatGPT die Fähigkeit besitzt, Zusammenfassungen von Büchern zu schreiben. Den Testergebnissen der Forscher zufolge sind die Ergebnisse jedoch Die zusammenfassende Synthese ist völlig falsch, möglicherweise weil die zum Testen verwendeten Bücher nicht im GPT-3-Trainingssatz enthalten sind.
Schwierigere Aufgaben erfordern mehr Debugging# 🎜🎜## 🎜🎜#
ChatGPT eignet sich sehr gut zum Generieren von Vorlagencode und stellt einen kurzen Skriptcode bereit, der eine kleine Anzahl von Funktionen unter bestimmten Anweisungen enthält.Beispielsweise haben die Forscher ChatGPT im folgenden Beispiel gebeten, die Eingaben und Ausgaben von vier häufig verwendeten Funktionen aneinanderzureihen. und stellen Sie einen Beispielcode bereit, der diese Funktion für simulierte Daten verwendet.
Sie können sehen, dass die von ChatGPT generierten Ergebnisse nahezu perfekt sind. Das Debuggen des Codes hat nur wenige Minuten gedauert, aber Sie müssen bei der Abfrage sehr genau sein in der Eingabeaufforderung, einschließlich der Angabe eines Namens und der verwendeten Funktionen. Forscher fanden heraus, dass der Schlüssel zum Erfolg ist: 🎜🎜#
1. Zerlegen Sie komplexe Aufgaben vorzugsweise in nur wenigen Schritten. Schließlich basiert der von ChatGPT generierte zu den Ergebnissen des probabilistischen Textvorhersagemodells.
2 ChatGPT schneidet am besten ab, wenn vorhandene Funktionen verwendet werden, da es sich nur um Interpolation und nicht um Extrapolation handelt.
Zum Beispiel ist Code, der reguläre Ausdrücke (Regex) verwendet, um Informationen aus Text zu extrahieren, für viele Entwickler sehr schwierig, aber weil es bereits Regex-Websites gibt, die dies bereitstellen Es gibt eine große Anzahl von Online-Beispielen und kann in ChatGPT-Beispielen vorkommen, sodass die Leistung von ChatGPT beim Schreiben regulärer Ausdrücke immer noch gut ist.
3 Einer der größten Kritikpunkte an ChatGPT in der Wissenschaft ist die mangelnde Transparenz seiner Informationsquellen.
Für Codegenerierungsaufgaben kann ein gewisses Maß an Transparenz durch die Angabe eines „Namespace“ erreicht werden, also durch den expliziten Aufruf des Paketnamens bei Verwendung der Funktion.
ChatGPT kann jedoch den öffentlichen Code einer Person direkt kopieren, ohne ihn zu zitieren, und die Forscher sind weiterhin für die Überprüfung der korrekten Codezuordnung verantwortlich.
Wenn Sie gleichzeitig ein längeres Skript erstellen müssen, werden dadurch einige ChatGPT-Fehler aufgedeckt, z. B. das Fälschen von Funktionsnamen oder Parametern usw. Dies ist der Fall Warum StackOverflow ChatGPT deaktiviert, um Code zu generieren?
Aber wenn der Benutzer einen klaren Satz von Ausführungsschritten bereitstellt, kann ChatGPT dennoch eine nützliche Workflow-Vorlage generieren, die die Eingabe und Ausgabe zwischen den Schritten definiert die nützlichste Möglichkeit, neuen Code mit GPT-3-Extrapolation zu generieren.
Derzeit kann ChatGPT keinen Pseudocode (in einfacher Sprache beschriebene Algorithmusschritte) in perfekten computerausführbaren Code umwandeln, aber das ist möglicherweise nicht weit von der Realität entfernt.
ChatGPT ist besonders hilfreich für Anfänger und unbekannte Programmiersprachen, da Anfänger nur einige kürzere Skripte schreiben können, was das Debuggen komfortabler macht.
ChatGPT eignet sich besser für nicht kreative Aufgaben.
ChatGPT eignet sich am besten für die Lösung zeitaufwändiger Formelaufgaben, die zum Debuggen, Erkennen und Erklären von Fehlern im Code verwendet werden können.
ChatGPT ist auch beim Schreiben von Funktionsdokumenten sehr effektiv. Die Verwendung der Inline-Dokumentsyntax von roxygen 2 ist beispielsweise sehr effizient bei der Identifizierung aller Parameter und Klassen, erklärt jedoch selten, wie Funktionen verwendet werden.
Eine wesentliche Einschränkung besteht darin, dass die ChatGPT-Generierung auf etwa 500 Wörter begrenzt ist und sich nur auf die Generierung kleinerer Codeblöcke konzentrieren kann, während gleichzeitig Komponententests generiert werden, um die Codefunktionalität automatisch zu bestätigen.
Die meisten Vorschläge von ChatGPT sind hilfreich bei der Definition der Teststruktur und der Überprüfung der erwarteten Objektklassen.
Schließlich ist ChatGPT sehr effektiv bei der Neuformatierung von Code, um standardisierten (z. B. Google) Codestilen zu folgen.
Die Zukunft gehört Pseudocode
ChatGPT und andere KI-gesteuerte Tools zur Verarbeitung natürlicher Sprache sind bereit, einfache Aufgaben für Entwickler zu automatisieren, wie das Schreiben kurzer Funktionen, Syntax-Debugging, Anmerkungen und Formatierung, während die Komplexität je nach Benutzer skaliert wird Bereitschaft zum Debuggen (und ihr Kompetenzniveau).
Die Forscher haben die Funktionen von ChatGPT in der Codegenerierung zusammengefasst, die den Code-Schreibprozess im wissenschaftlichen Bereich vereinfachen können. Eine manuelle Überprüfung bedeutet jedoch nicht unbedingt, dass der Code die erwarteten Aufgaben ausführen kann. Daher sind Unit-Tests oder informelle interaktive Tests immer noch von entscheidender Bedeutung.
In Situationen, in denen eine Lösung von Menschen entwickelt und durch eine einfache Kopie von ChhatGPT generiert werden kann, ist es entscheidend sicherzustellen, dass der Person der richtige Code zugeordnet wird.
Es gibt bereits Chatbots, die damit beginnen, automatisch Links zu ihren Quellen bereitzustellen (z. B. Microsofts Bing), obwohl dieser Schritt noch in den Kinderschuhen steckt.
Im Vergleich zu herkömmlichen Methoden bietet ChatGPT eine alternative Möglichkeit, Programmierkenntnisse zu erlernen, indem es die Hürden der anfänglichen Schreibaufgabe durch die direkte Umwandlung von Pseudocode in Code verringert.
Die Forscher vermuten, dass zukünftige Fortschritte Tools wie ChatGPT verwenden werden, um den geschriebenen Code automatisch zu debuggen und basierend auf den aufgetretenen Fehlern iterativ neuen Code zu generieren, auszuführen und vorzuschlagen. Während des Experiments entdeckten die Forscher die Möglichkeit, den Code begrenzt zu korrigieren , nur gelegentlich erfolgreich, wenn sehr spezifische Anweisungen auf kleine Codeblöcke abzielen, ist der Debugging-Prozess weitaus weniger effizient als das manuelle Debuggen.
Forscher vermuten, dass sich das automatisierte Debugging mit fortschreitender Technologie verbessern wird (wie beispielsweise beim kürzlich veröffentlichten GPT-4-Modell, das angeblich zehnmal größer ist als das GPT-3-Modell).
Die Zukunft kommt und jetzt ist es an der Zeit, dass Entwickler technische Fähigkeiten erlernen, um die Vorteile neuer KI-Tools zu nutzen. Forscher gehen davon aus, dass die Verwendung von KI-generiertem Code in allen Aspekten der Softwareentwicklung zu einer immer wertvolleren Fähigkeit werden wird sind die Grundlage wissenschaftlicher Entdeckungen und Erkenntnisse.
Das obige ist der detaillierte Inhalt vonDie Zukunft der Programmierer gehört dem „Pseudocode'! Kolumne „Natur': Drei Möglichkeiten, ChatGPT zu nutzen, um die Programmierung wissenschaftlicher Forschung zu beschleunigen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



DALL-E 3 wurde im September 2023 offiziell als deutlich verbessertes Modell gegenüber seinem Vorgänger eingeführt. Er gilt als einer der bisher besten KI-Bildgeneratoren und ist in der Lage, Bilder mit komplexen Details zu erstellen. Zum Start war es jedoch exklusiv

Open AI macht endlich seinen Vorstoß in die Suche. Das Unternehmen aus San Francisco hat kürzlich ein neues KI-Tool mit Suchfunktionen angekündigt. The Information berichtete erstmals im Februar dieses Jahres über das neue Tool, das treffend SearchGPT heißt und über ein c

Die ChatGPT-Mac-Anwendung von Open AI ist jetzt für alle verfügbar, während sie in den letzten Monaten nur denjenigen mit einem ChatGPT Plus-Abonnement vorbehalten war. Die App lässt sich wie jede andere native Mac-App installieren, sofern Sie über ein aktuelles Apple S verfügen

Python ist aufgrund seiner einfachen Erlernbarkeit und leistungsstarken Funktionen eine ideale Einführungssprache in die Programmierung für Anfänger. Zu seinen Grundlagen gehören: Variablen: werden zum Speichern von Daten (Zahlen, Zeichenfolgen, Listen usw.) verwendet. Datentyp: Definiert den Datentyp in der Variablen (Ganzzahl, Gleitkomma usw.). Operatoren: werden für mathematische Operationen und Vergleiche verwendet. Kontrollfluss: Kontrollieren Sie den Fluss der Codeausführung (bedingte Anweisungen, Schleifen).

Python unterstützt Anfänger bei der Problemlösung. Seine benutzerfreundliche Syntax, umfangreiche Bibliothek und Funktionen wie Variablen, bedingte Anweisungen und Schleifen ermöglichen eine effiziente Codeentwicklung. Von der Datenverwaltung über die Steuerung des Programmablaufs bis hin zur Ausführung wiederkehrender Aufgaben bietet Python

C++-Programmierrätsel behandeln Algorithmen- und Datenstrukturkonzepte wie Fibonacci-Folge, Fakultät, Hamming-Distanz, Maximal- und Minimalwerte von Arrays usw. Durch das Lösen dieser Rätsel können Sie Ihre C++-Kenntnisse festigen und das Algorithmusverständnis und die Programmierkenntnisse verbessern.

C ist eine ideale Wahl für Anfänger, um die Systemprogrammierung zu erlernen. Es enthält die folgenden Komponenten: Header-Dateien, Funktionen und Hauptfunktionen. Ein einfaches C-Programm, das „HelloWorld“ drucken kann, benötigt eine Header-Datei mit der Standard-Eingabe-/Ausgabe-Funktionsdeklaration und verwendet zum Drucken die printf-Funktion in der Hauptfunktion. C-Programme können mit dem GCC-Compiler kompiliert und ausgeführt werden. Nachdem Sie die Grundlagen beherrschen, können Sie mit Themen wie Datentypen, Funktionen, Arrays und Dateihandhabung fortfahren, um ein kompetenter C-Programmierer zu werden.

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.
