O conteúdo deste site foi traduzido usando inteligência artificial (IA) ou tecnologia de tradução automática e pode conter erros.

Skip to content
Artificial Intelligence
Natural Language Processing
Programming Languages

MultiPL-E: Uma abordagem escalável e poliglota para a avaliação comparativa da geração de código neural

View Publication

Author

Federico Cassano (Universidade Northeastern), John Gouwar (Universidade Northeastern), Daniel Nguyen (Escola Secundária de Hanover), Sydney Nguyen (Wellesley College), Luna Phipps-Costin (Universidade Northeastern), Donald Pinckney (Universidade Northeastern), Ming-Ho Yee (Universidade Northeastern), Yangtian Zi (Universidade Northeastern), Carolyn Jane Anderson (Wellesley College), Molly Q Feldman (Oberlin College), Arjun Guha (Roblox + Universidade Northeastern), Michael Greenberg (Instituto de Tecnologia Stevens), Abhinav Jangda (Microsoft)

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.