CodeFusion : Un modèle de diffusion pré-entraîné pour la génération de code
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
Imaginez un développeur qui ne peut modifier que la dernière ligne de son code : combien de fois devrait-il recommencer l'écriture d'une fonction avant qu'elle ne soit correcte ? Les modèles auto-régressifs pour la génération de code à partir de langage naturel présentent une limitation similaire : ils ne permettent pas facilement de reconsidérer les tokens générés précédemment. Nous présentons CodeFusion, un modèle de génération de code par diffusion pré-entraîné qui surmonte cette limitation en débruitant itérativement un programme complet conditionné par le langage naturel encodé. Nous évaluons CodeFusion sur la tâche de génération de code à partir de langage naturel pour Bash, Python et les règles de mise en forme conditionnelle (CF) de Microsoft Excel. Les expériences montrent que CodeFusion (75 millions de paramètres) atteint des performances comparables aux systèmes auto-régressifs de pointe (350 millions à 175 milliards de paramètres) en termes de précision top-1 et les dépasse en précision top-3 et top-5 grâce à un meilleur équilibre entre diversité et 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.