CodeFusion: Un Modello di Diffusione Pre-addestrato per la Generazione di Codice
CodeFusion: A Pre-trained Diffusion Model for Code Generation
October 26, 2023
Autori: Mukul Singh, José Cambronero, Sumit Gulwani, Vu Le, Carina Negreanu, Gust Verbruggen
cs.AI
Abstract
Immagina uno sviluppatore che può modificare solo l'ultima riga del proprio codice: quante volte dovrebbe ricominciare a scrivere una funzione da zero prima che sia corretta? I modelli auto-regressivi per la generazione di codice a partire da linguaggio naturale presentano una limitazione simile: non consentono facilmente di riconsiderare i token generati in precedenza. Introduciamo CodeFusion, un modello pre-addestrato di generazione di codice basato su diffusione che supera questa limitazione denoizzando iterativamente un programma completo condizionato dal linguaggio naturale codificato. Valutiamo CodeFusion nel compito di generazione di codice a partire da linguaggio naturale per Bash, Python e regole di formattazione condizionale (CF) di Microsoft Excel. Gli esperimenti dimostrano che CodeFusion (75M parametri) raggiunge prestazioni paragonabili ai sistemi auto-regressivi all'avanguardia (350M-175B parametri) in termini di accuratezza top-1 e li supera nelle accuratezze top-3 e top-5 grazie a un migliore equilibrio tra diversità e qualità.
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.