CODEFUSION: A Pre-trained Diffusion Model for Code Generation

2023-10-31 07:04

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/313640

相关文章

MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)

1、MVC MVC(Model-View-Controller) 是一种常用的架构模式,用于分离应用程序的逻辑、数据和展示。它通过三个核心组件(模型、视图和控制器)将应用程序的业务逻辑与用户界面隔离,促进代码的可维护性、可扩展性和模块化。在 MVC 模式中,各组件可以与多种设计模式结合使用,以增强灵活性和可维护性。以下是 MVC 各组件与常见设计模式的关系和作用: 1. Model(模型)

Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7

转自 I Installed Cocos Code IDE and created a new Lua Project. When Debugging the Project(F11) the game window pops up and gives me the message waiting for debugger to connect and then freezes. Also a

LLVM入门2:如何基于自己的代码生成IR-LLVM IR code generation实例介绍

概述 本节将通过一个简单的例子来介绍如何生成llvm IR,以Kaleidoscope IR中的例子为例,我们基于LLVM接口构建一个简单的编译器,实现简单的语句解析并转化为LLVM IR,生成对应的LLVM IR部分,代码如下,文件名为toy.cpp,先给出代码,后面会详细介绍每一步分代码: #include "llvm/ADT/APFloat.h"#include "llvm/ADT/S

Python安装llama库出错“metadata-generation-failed”

Python安装llama库出错“metadata-generation-failed” 1. 安装llama库时出错2. 定位问题1. 去官网下载llama包 2.修改配置文件2.1 解压文件2.2 修改配置文件 3. 本地安装文件 1. 安装llama库时出错 2. 定位问题 根据查到的资料,发现时llama包中的execfile函数已经被下线了,需要我们手动修改代码后

VS Code 调试go程序的相关配置说明

用 VS code 调试Go程序需要在.vscode/launch.json文件中增加如下配置:  // launch.json{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information,

使用亚马逊Bedrock的Stable Diffusion XL模型实现文本到图像生成:探索AI的无限创意

引言 什么是Amazon Bedrock? Amazon Bedrock是亚马逊云服务(AWS)推出的一项旗舰服务,旨在推动生成式人工智能(AI)在各行业的广泛应用。它的核心功能是提供由顶尖AI公司(如AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI以及亚马逊自身)开发的多种基础模型(Foundation Models,简称FMs)。

Differential Diffusion,赋予每个像素它应有的力量,以及在comfyui中的测试效果

🥽原论文要点 首先是原论文地址:https://differential-diffusion.github.io/paper.pdf 其次是git介绍地址:GitHub - exx8/differential-diffusion 感兴趣的朋友们可以自行阅读。 首先,论文开篇就给了一个例子: 我们的方法根据给定的图片和文本提示,以不同的程度改变图像的不同区域。这种可控性允许我们再现

code: 400, msg: Required request body is missing 错误解决

引起这个错误的原因是,请求参数按照get方式给。 应该给json字符串才对 补充: 1. @RequestBody String resource 加@RequestBody必须给json字符串,否则会报错400,记如标题错误。 不加这个的进行请求的话,其实post和get就没有什么区别了。 2. List<String> indexCodes=(List<String>)json.

iOS项目发布提交出现invalid code signing entitlements错误。

1、进入开发者账号,选择App IDs,找到自己项目对应的AppId,点击进去编辑, 2、看下错误提示出现  --Specifically, value "CVYZ6723728.*" for key "com.apple.developer.ubiquity-container-identifiers" in XX is not supported.-- 这样的错误提示 将ubiquity

解决服务器VS Code中Jupyter突然崩溃的问题

问题 本来在服务器Anaconda的Python环境里装其他的包,装完了想在Jupyter里写代码验证一下有没有装好,一运行发现Jupyter崩溃了!?报错如下所示 Failed to start the Kernel. ImportError: /home/hujh/anaconda3/envs/mia/lib/python3.12/lib-dynload/_sqlite3.cpython-