CodeFusion: Um Modelo de Difusão Pré-treinado para Geração de Código
CodeFusion: A Pre-trained Diffusion Model for Code Generation
October 26, 2023
Autores: Mukul Singh, José Cambronero, Sumit Gulwani, Vu Le, Carina Negreanu, Gust Verbruggen
cs.AI
Resumo
Imagine um desenvolvedor que só pode alterar a última linha de código que escreveu. Com que frequência ele precisaria começar a escrever uma função do zero antes de acertá-la? Modelos autorregressivos para geração de código a partir de linguagem natural têm uma limitação semelhante: eles não permitem reconsiderar facilmente os tokens gerados anteriormente. Apresentamos o CodeFusion, um modelo de geração de código baseado em difusão pré-treinado que aborda essa limitação ao desnudar iterativamente um programa completo condicionado à linguagem natural codificada. Avaliamos o CodeFusion na tarefa de geração de código a partir de linguagem natural para Bash, Python e regras de formatação condicional (CF) do Microsoft Excel. Os experimentos mostram que o CodeFusion (75 milhões de parâmetros) tem desempenho equivalente aos sistemas autorregressivos de última geração (350 milhões a 175 bilhões de parâmetros) em precisão top-1 e os supera em precisão top-3 e top-5 devido ao seu melhor equilíbrio entre diversidade e qualidade.
English
Imagine a developer who can only change their last line of code, how often
would they have to start writing a function from scratch before it is correct?
Auto-regressive models for code generation from natural language have a similar
limitation: they do not easily allow reconsidering earlier tokens generated. We
introduce CodeFusion, a pre-trained diffusion code generation model that
addresses this limitation by iteratively denoising a complete program
conditioned on the encoded natural language. We evaluate CodeFusion on the task
of natural language to code generation for Bash, Python, and Microsoft Excel
conditional formatting (CF) rules. Experiments show that CodeFusion (75M
parameters) performs on par with state-of-the-art auto-regressive systems
(350M-175B parameters) in top-1 accuracy and outperforms them in top-3 and
top-5 accuracy due to its better balance in diversity versus quality.