MultiPL-E: skalowalne i wielojęzyczne podejście do testowania porównawczego generowania kodu neuronowego
Author
Venue
IEEE Transactions on Software Engineering (TSE) 2023
Abstract
Duże modele językowe wykazały zdolność do generowania zarówno tekstu w języku naturalnym, jak i w języku programowania. Modele takie otwierają możliwość wielojęzycznego generowania kodu: czy modele generowania kodu mogą uogólniać wiedzę z jednego języka na inny? Chociaż współczesne modele generowania kodu potrafią generować semantycznie poprawny kod w języku Python, niewiele wiadomo o ich możliwościach w przypadku innych języków. Proponujemy MultiPL-E, system służący do tłumaczenia benchmarków generowania kodu opartych na testach jednostkowych na nowe języki. Tworzymy pierwszy masowo wielojęzyczny benchmark generowania kodu, wykorzystując MultiPL-E do tłumaczenia dwóch popularnych benchmarków generowania kodu w języku Python na 18 dodatkowych języków programowania.
Wykorzystujemy MultiPL-E do rozszerzenia testów porównawczych HumanEval i MBPP na 18 języków, które obejmują szeroki zakres paradygmatów programowania i popularności. Korzystając z tych nowych równoległych testów porównawczych, oceniamy wielojęzyczną wydajność trzech najnowocześniejszych modeli generowania kodu: Codex, CodeGen i InCoder. Stwierdzamy, że Codex dorównuje, a nawet przewyższa swoją wydajność w języku Python w przypadku kilku innych języków. Zakres języków programowania reprezentowanych w MultiPL-E pozwala nam zbadać wpływ częstotliwości występowania języków i ich cech na wydajność modeli. Wreszcie, podejście MultiPL-E polegające na kompilacji testów porównawczych generowania kodu do nowych języków programowania jest zarówno skalowalne, jak i rozszerzalne, co ułatwia ocenę nowych modeli, testów porównawczych i języków.
