CodeFusion: Ein vortrainiertes Diffusionsmodell für die Code-Generierung
CodeFusion: A Pre-trained Diffusion Model for Code Generation
October 26, 2023
papers.authors: Mukul Singh, José Cambronero, Sumit Gulwani, Vu Le, Carina Negreanu, Gust Verbruggen
cs.AI
papers.abstract
Stellen Sie sich einen Entwickler vor, der nur die letzte Zeile ihres Codes ändern kann. Wie oft müsste sie eine Funktion von Grund auf neu schreiben, bevor sie korrekt ist? Auto-regressive Modelle zur Code-Generierung aus natürlicher Sprache haben eine ähnliche Einschränkung: Sie erlauben es nicht leicht, zuvor generierte Tokens zu überdenken. Wir stellen CodeFusion vor, ein vortrainiertes Diffusionsmodell zur Code-Generierung, das diese Einschränkung adressiert, indem es iterativ ein vollständiges Programm unter Berücksichtigung der kodierten natürlichen Sprache denoisiert. Wir evaluieren CodeFusion für die Aufgabe der Code-Generierung aus natürlicher Sprache für Bash, Python und Microsoft Excel Conditional Formatting (CF)-Regeln. Experimente zeigen, dass CodeFusion (75M Parameter) in der Top-1-Genauigkeit mit state-of-the-art auto-regressiven Systemen (350M-175B Parameter) gleichzieht und sie in der Top-3- und Top-5-Genauigkeit aufgrund seiner besseren Balance zwischen Diversität und Qualität übertrifft.
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.