CodeFusion: A Pre-trained Diffusion Model for Code Generation
This addresses the problem of inflexible code generation for developers by enabling reconsideration of earlier tokens, though it is incremental as it builds on diffusion models applied to a new domain.
The paper tackles the limitation of auto-regressive models in code generation by introducing CodeFusion, a pre-trained diffusion model that iteratively denoises complete programs, achieving on-par top-1 accuracy and better top-3 and top-5 accuracy compared to state-of-the-art auto-regressive systems with fewer parameters.
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.