HyperAIHyperAI
vor 13 Tagen

Das Lehren von Großsprachmodellen, sich selbst zu debuggen

Xinyun Chen, Maxwell Lin, Nathanael Schärli, Denny Zhou
Das Lehren von Großsprachmodellen, sich selbst zu debuggen
Abstract

Große Sprachmodelle (LLMs) haben beeindruckende Leistungen bei der Codegenerierung erzielt. Für komplexe Programmieraufgaben wird es jedoch zunehmend schwierig, die korrekte Lösung in einem einzigen Schritt zu generieren. Daher haben einige vorherige Arbeiten Programmreparaturansätze entwickelt, um die Leistung der Codegenerierung zu verbessern. In dieser Arbeit stellen wir Self-Debugging vor, ein Ansatz, der ein großes Sprachmodell durch wenige Beispiele (few-shot demonstrations) lehrt, seine vorhergesagten Programme selbst zu debuggen. Insbesondere zeigen wir, dass Self-Debugging das große Sprachmodell in die Lage versetzt, eine sogenannte „Rubber Duck Debugging“-Strategie anzuwenden: Ohne jegliche menschliche Rückmeldung zur Codekorrektheit oder Fehlermeldungen kann das Modell seine Fehler identifizieren, indem es die Ausführungsergebnisse analysiert und den generierten Code in natürlicher Sprache erläutert. Self-Debugging erreicht die derzeit beste Leistung auf mehreren Benchmarks für Codegenerierung, darunter das Spider-Dataset für Text-zu-SQL-Generierung, TransCoder für die Übersetzung von C++ nach Python sowie MBPP für Text-zu-Python-Generierung. Auf dem Spider-Benchmark, wo keine Unit-Tests zur Überprüfung der Korrektheit der Vorhersagen zur Verfügung stehen, verbessert Self-Debugging mit Codeerklärungen die Baseline konsistent um 2–3 % und steigert die Genauigkeit bei den schwierigsten Aufgaben um 9 %. Auf TransCoder und MBPP, wo Unit-Tests verfügbar sind, steigert Self-Debugging die Baseline-Genauigkeit um bis zu 12 %. Gleichzeitig verbessert Self-Debugging durch die Nutzung von Feedback-Nachrichten und die Wiederverwendung gescheiterter Vorhersagen die Stichprobeneffizienz erheblich und erreicht oder übertrifft die Leistung von Basismodellen, die mehr als das Zehnfache an Kandidatenprogrammen generieren.

Das Lehren von Großsprachmodellen, sich selbst zu debuggen | Neueste Forschungsarbeiten | HyperAI