I contenuti di questo sito sono stati tradotti mediante intelligenza artificiale (IA) o tecnologia di traduzione automatica e potrebbero contenere errori.

Skip to content
Artificial Intelligence
Natural Language Processing
Programming Languages

MultiPL-E: un approccio scalabile e poliglotta al benchmarking della generazione di codice neurale

View Publication

Author

Federico Cassano (Northeastern University), John Gouwar (Northeastern University), Daniel Nguyen (Hanover High School), Sydney Nguyen (Wellesley College), Luna Phipps-Costin (Northeastern University), Donald Pinckney (Northeastern University), Ming-Ho Yee (Northeastern University), Yangtian Zi (Northeastern University), Carolyn Jane Anderson (Wellesley College), Molly Q Feldman (Oberlin College), Arjun Guha (Roblox + Northeastern University), Michael Greenberg (Stevens Institute of Technology), Abhinav Jangda (Microsoft)

Venue

IEEE Transactions on Software Engineering (TSE) 2023

Abstract

I modelli linguistici di grandi dimensioni hanno dimostrato la capacità di generare sia testo in linguaggio naturale che in linguaggio di programmazione. Tali modelli aprono la possibilità di generare codice in più lingue: i modelli di generazione di codice potrebbero generalizzare la conoscenza da una lingua all'altra? Sebbene i modelli contemporanei di generazione di codice siano in grado di generare codice Python semanticamente corretto, si sa poco delle loro capacità con altri linguaggi. Proponiamo MultiPL-E, un sistema per tradurre benchmark di generazione di codice basati su test unitari in nuovi linguaggi. Creiamo il primo benchmark di generazione di codice multilingue su larga scala utilizzando MultiPL-E per tradurre due popolari benchmark di generazione di codice Python in 18 linguaggi di programmazione aggiuntivi.


Utilizziamo MultiPL-E per estendere il benchmark HumanEval e il benchmark MBPP a 18 linguaggi che abbracciano una vasta gamma di paradigmi di programmazione e livelli di popolarità. Utilizzando questi nuovi benchmark paralleli, valutiamo le prestazioni multilingue di tre modelli di generazione di codice all'avanguardia: Codex, CodeGen e InCoder. Abbiamo riscontrato che Codex eguaglia o addirittura supera le sue prestazioni su Python per diversi altri linguaggi. La gamma di linguaggi di programmazione rappresentati in MultiPL-E ci permette di esplorare l'impatto della frequenza e delle caratteristiche del linguaggio sulle prestazioni del modello. Infine, l'approccio MultiPL-E di compilare benchmark di generazione di codice per nuovi linguaggi di programmazione è sia scalabile che estensibile, rendendo semplice la valutazione di nuovi modelli, benchmark e linguaggi.