MultiPL-E: Ein skalierbarer und polyglotter Ansatz zum Benchmarking der neuronalen Codegenerierung
Author
Venue
IEEE Transactions on Software Engineering (TSE) 2023
Abstract
Große Sprachmodelle haben gezeigt, dass sie sowohl Texte in natürlicher Sprache als auch in Programmiersprachen generieren können. Solche Modelle eröffnen die Möglichkeit der mehrsprachigen Codegenerierung: Könnten Codegenerierungsmodelle Wissen von einer Sprache auf eine andere übertragen? Obwohl moderne Codegenerierungsmodelle semantisch korrekten Python-Code generieren können, ist über ihre Fähigkeiten in anderen Sprachen wenig bekannt. Wir schlagen MultiPL-E vor, ein System zur Übersetzung von unit-test-gesteuerten Codegenerierungs-Benchmarks in neue Sprachen. Wir erstellen den ersten massiv mehrsprachigen Code-Generierungs-Benchmark, indem wir MultiPL-E nutzen, um zwei beliebte Python-Code-Generierungs-Benchmarks in 18 weitere Programmiersprachen zu übersetzen.
Wir nutzen MultiPL-E, um den HumanEval-Benchmark und den MBPP-Benchmark auf 18 Sprachen zu erweitern, die eine Bandbreite an Programmierparadigmen und Beliebtheitsgraden abdecken. Anhand dieser neuen parallelen Benchmarks bewerten wir die mehrsprachige Leistung von drei modernsten Codegenerierungsmodellen: Codex, CodeGen und InCoder. Wir stellen fest, dass Codex seine Leistung in Python bei mehreren anderen Sprachen erreicht oder sogar übertrifft. Die Bandbreite der in MultiPL-E vertretenen Programmiersprachen ermöglicht es uns, den Einfluss der Sprachhäufigkeit und der Sprachmerkmale auf die Modellleistung zu untersuchen. Schließlich ist der MultiPL-E-Ansatz, Code-Generierungs-Benchmarks auf neue Programmiersprachen zu übertragen, sowohl skalierbar als auch erweiterbar, was die Bewertung neuer Modelle, Benchmarks und Sprachen vereinfacht.
