Können KI-Sprachmodelle wie GPT-4 zuverlässig Programmcode generieren? Neue Tests und Benchmarks geben interessante Einblicke.
Können KI-Sprachmodelle zuverlässig programmieren?
Die Qualität von KI-generiertem Programmcode war bisher schwer zu messen. Trotz oft guter Ergebnisse sind Fehler und sogenannte Halluzinationen, bei denen die Modelle falsche Informationen liefern, keine Seltenheit. Um diese Herausforderungen anzugehen, wurde die Chatbot Arena von LMSYS ins Leben gerufen. Hier werden Sprachmodelle unter Beteiligung von Menschen bewertet und Qualitätskriterien systematisch gemessen.
Systematische Überprüfung und Ergebnisse
Spezialisierte Sprachmodelle, die Programmcode generieren können, bieten interessante Möglichkeiten. Der Anbieter Symflower hat dies mit seiner Software zur automatischen Testgenerierung untersucht und in einer ausführlichen Blog-Serie dokumentiert. Dabei wurden Programme in Java und Go analysiert, jedoch noch nicht in weitverbreiteten Sprachen wie Python oder JavaScript.
Einige Erkenntnisse der Tests:
- Nur 58 Prozent der generierten Ergebnisse waren direkt nutzbar.
- Manuelle Nacharbeiten sind oft erforderlich.
- Modelle wie GPT-4o, deepseek-coder und claude-3-opus konnten für Java immer übersetzbaren Code erzeugen, bei Go jedoch nicht.
- Größere Trainingsmengen führen tendenziell zu besseren Ergebnissen.
Die Untersuchungen zeigen auch, dass menschliche Programmierer weiterhin unverzichtbar sind. Die Code-Generierung für Java funktionierte besser als für Go, was auf größere Trainingsmengen zurückzuführen ist. Bei dynamisch typisierten Sprachen wie Python und JavaScript ist die Messung von Metriken schwieriger und anfälliger für Fehler.
Herausforderungen und Optimierungen Einige Modelle generieren synchrone statt asynchrone Methoden, was zu längeren Laufzeiten führt. Auch das Logging von Permutationen kann riesige Logfiles erzeugen, die die Stabilität der gesamten Software gefährden. Der Artikel von Symflower dokumentiert genau, wie Modelle und Sandboxes ausgewählt wurden und welche Herausforderungen dabei auftraten.