Codeerzeugung per KI 18.04.2024, 10:46 Uhr

Code ist sich viel ähnlicher als erwartet

Die Machbarkeit von KI-erzeugtem Code war zu erwarten.
(Quelle: dotnetpro/EMGenie)
Obwohl viele von der Fähigkeit von Sprachmodellen zur Codeerstellung überrascht waren, deutete eine Reihe von Studien aus der Vergangenheit bereits darauf hin, dass dies möglich sein würde. Forscher haben festgestellt, dass Programmcode ähnliche natürliche Eigenschaften wie menschliche Sprache aufweist, was den Einsatz von Sprachmodellen für Aufgaben wie Codevervollständigung nahelegt.
Die Studie "A Study of the Uniqueness of Source Code" zeigte, dass einzelne Codezeilen zu 98,3 Prozent redundant sind, was darauf hindeutet, dass Programmiersprachen eine einfache Grammatik haben. Die Forscher verwendeten N-Gramm-Modelle, um die Wahrscheinlichkeitsverteilung der Sprache zu lernen und dann vorherzusagen, wie überrascht das Modell von Tokens ist. Dies deutet darauf hin, dass Sprachmodelle durchaus in der Lage sein könnten, Code zu generieren.
Die Forschen verwendeten 420 Millionen Zeilen Code, bereinigten den Datensatz von doppelten Dateien, unterschiedlichen Benennungen für Parameter und Parameterreihenfolgen. 
Das Ergebnis für Java beispielsweise ist überraschend. Eine Zeile Java-Code von etwa 6 Token (Schlüsselwort, Operator, Variablenname etc.) war zu 98,3 Prozent zu anderen Zeilen ähnlich. 20 Token, etwa drei Zeilen Code, immerhin noch zu 60 Prozent. 
Damit war klar, dass große Sprachmodelle (Large Language Models, LLMs) auch auf Code in verschiedenen Programmiersprachen trainiert werden können. Allerdings gibt es derzeit noch keine Mechanismen, die sicherstellen, dass der Output eines LLM korrekt ist, was deren Anwendbarkeit im klinischen Umfeld erheblich einschränkt.


Das könnte Sie auch interessieren