CodeFusion: Un Modelo de Difusión Preentrenado para la Generación 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
Resumen
Imaginen un desarrollador que solo puede cambiar la última línea de su código, ¿con qué frecuencia tendría que empezar a escribir una función desde cero antes de que sea correcta? Los modelos auto-regresivos para la generación de código a partir de lenguaje natural tienen una limitación similar: no permiten reconsiderar fácilmente los tokens generados anteriormente. Presentamos CodeFusion, un modelo preentrenado de generación de código basado en difusión que aborda esta limitación al desruir iterativamente un programa completo condicionado por el lenguaje natural codificado. Evaluamos CodeFusion en la tarea de generación de código a partir de lenguaje natural para Bash, Python y reglas de formato condicional (CF) de Microsoft Excel. Los experimentos muestran que CodeFusion (75M parámetros) tiene un rendimiento comparable con los sistemas auto-regresivos más avanzados (350M-175B parámetros) en precisión top-1 y los supera en precisión top-3 y top-5 debido a su mejor equilibrio entre diversidad y calidad.
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.