本文主要是介绍CODEFUSION: A Pre-trained Diffusion Model for Code Generation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文是LLM系列文章,针对《CODEFUSION: A Pre-trained Diffusion Model for Code Generation》的翻译。
CODEFUSION:预训练扩散模型用于代码生成
- 摘要
- 1 引言
- 2 相关工作
- 3 方法
- 4 评估设置
- 5 评估
- 6 结论
- 7 局限性
摘要
想象一下,一个开发人员只能更改他们的最后一行代码——他们需要多久从零开始编写一个函数才能正确?从自然语言生成代码的自回归模型也有类似的限制:它们不容易重新考虑以前生成的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条件格式规则上与最先进的转换器代码生成模型竞争。
7 局限性
CODEFUSION不是一个全球性的系统,因为我们只考虑英语中的自然语言话语。此外,可以在不同的细节级别提供自然语言规范——细节较少的话语可能会导致较差的性能。我们考虑各种编程语言,但更复杂的语言可能会导致较差的性能。我们还发现,当任务是生成更长的代码片段或具有长范围语法依赖性的程序时,CODEFUSION会遇到困难。由于基于扩散的模型迭代去噪,因此推理延迟很大,随着目标生成长度呈指数级增长。
这篇关于CODEFUSION: A Pre-trained Diffusion Model for Code Generation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!