MultiPL-E: Uma abordagem escalável e poliglota para a avaliação comparativa da geração de código neural
Author
Venue
IEEE Transactions on Software Engineering (TSE) 2023
Abstract
Modelos de linguagem de grande porte demonstraram a capacidade de gerar tanto texto em linguagem natural quanto em linguagem de programação. Tais modelos abrem a possibilidade de geração de código multilíngue: os modelos de geração de código poderiam generalizar o conhecimento de uma linguagem para outra? Embora os modelos contemporâneos de geração de código possam gerar código Python semanticamente correto, pouco se sabe sobre suas capacidades com outras linguagens. Propomos o MultiPL-E, um sistema para traduzir benchmarks de geração de código orientados por testes unitários para novas linguagens. Criamos o primeiro benchmark de geração de código massivamente multilíngue usando o MultiPL-E para traduzir dois benchmarks populares de geração de código Python para 18 linguagens de programação adicionais.
Utilizamos o MultiPL-E para estender os benchmarks HumanEval e MBPP a 18 linguagens que abrangem uma variedade de paradigmas de programação e popularidade. Usando esses novos benchmarks paralelos, avaliamos o desempenho multilíngue de três modelos de geração de código de última geração: Codex, CodeGen e InCoder. Constatamos que o Codex iguala ou até supera seu desempenho em Python em várias outras linguagens. A variedade de linguagens de programação representadas no MultiPL-E nos permite explorar o impacto da frequência e das características da linguagem no desempenho do modelo. Por fim, a abordagem do MultiPL-E de compilar benchmarks de geração de código para novas linguagens de programação é escalável e extensível, facilitando a avaliação de novos modelos, benchmarks e linguagens.
