本文是LLM系列文章,针对《CODEFUSION: A Pre-trained Diffusion Model for Code Generation》的翻译。
摘要
想象一下,一个开发人员只能更改他们的最后一行代码——他们需要多久从零开始编写一个函数才能正确?从自然语言生成代码的自回归模型也有类似的限制:它们不容易重新考虑以前生成的token。我们介绍了CODEFUSION,这是一种预先训练的扩散代码生成模型,通过对以编码的自然语言为条件的完整程序进行迭代去噪来解决这一限制。我们在Bash、Python和Microsoft Excel条件格式(CF)规则的自然语言到代码生成任务中评估了CODEFUSION。实验表明,CODEFUSION(75M参数)在top-1精度上与最先进的自回归系统(350M–175B参数)不相上下,并在top-3和top-5精度上优于它们,因为它在多样性与质量之间有更好的平衡。
1 引言
2 相关工作
3 方法
4 评估设置
5 评估
6 结论
我们提出了第一个扩散自然语言到代码(NL到代码)生成模型CODEFUSION。通过解码器和以代码为中心的预训练,CODEFUSION生成的程序比现有的文本扩散模型在语法上更正确,比现有的自回归代码模型生成的程序更多样。我们的评估表明,CODEFUSION在Python、Bash和Excel条件格式规则上与最先进的转换器代码生成模型竞争。