> 自媒体 > (AI)人工智能 > ChatGPT代码生成飙升10%!北大华人一作:大幅改进大模型代码能力
ChatGPT代码生成飙升10%!北大华人一作:大幅改进大模型代码能力
来源:新智元
2023-11-17 10:33:56
322
管理

编辑:桃子

【新智元导读】大模型代码生成能力如何,还得看你的「需求表达」好不好。

在大模型时代,高质量的代码生成已经强大到,让人惊叹。

从通过HumEval中67%测试的GPT-4,到近来各种开源大模型,比如CodeLlama,有望成为码农编码利器。

接下来,我们具体看下ChatCoder这个框架。

其整体结构是一个两轮的对话。

第一阶段:Paraphrase和Exend

由于人类用户表达需求可能语意模糊、不完整,ChatCoder使用提示要求LLM从几个角度解释用户的原始需求,即完整的需求规范必须清晰。

对于需要改进的遗漏或有野心的论点,ChatCoder让大语言模型基于它从训练数据中获得的假设来扩展它们。

人类用户需要查看细化的规范并纠正其中的错误。

第二阶段:Going-deep和Loop-back

在这一轮中,ChatCoder要求LLM询问人类用户,关于第一轮Paraphrase和Exend中信息损失,以及需要进一步改进的规范方面的困惑。

人类用户需要回答这些问题,并回环纠正细化后的规范。

经过两轮细化后,得到细化后的需求,然后发送给大型语言模型,得到用户想要的程序。

ChatGPT代码能力10%

实验设置

数据集:Sanitized-MBPP、HumanEval。

基准:gpt-3.5-turbo、gpt-4。

研究问题

为了评估ChatCoder,研究人员提出并测试了以下研究问题:

1)与现有代码生成模型相比,ChatCoder的表现如何?

2)ChatCoder是LLM和人类用户交流以进行需求细化的有效方法吗?

3)人类参与ChatCoder带来了多少改进?

ChatCoder性能表现

首先我们来看第一个问题,主要是为了评估ChatCoder与基线相比的整体代码生成性能。

如表1所示,ChatCoder通过大幅细化的需求,成功帮助LLM提高了其生成程序的执行精度。

例如,对于gpt-3.5-turbo,其在Saniticed-MBPP上的pass@1从57.04%提高到71.25%,提升了14%。

横向比较,对于gpt-3.5-turbo和gpt-4,Saniticed-MBPP上的性能改进比HumEval上的更突出。

沟通效率的表现

第二个问题是,评估ChatCoder是否是大模型和人类进行需求细化交流的有效方式。

根据表2,所有3种与LLM进行需求细化的通信方法都有助于LLM改进其代码生成结果。

这一发现指出,任何形式的需求细化在应用LLM生成代码时都是有用和重要的。

与ChatCoder相比,Free Paraphrase和Free QA不会指示LLM执行某些类型的细化,从而导致较低的改进。

人工干预评估

如下评估了人工干预对ChatCoder的重要性,结果见表3。

由于ChatCoder利用需求细化来提高大语言模型的代码生成性能,因此人工干预是必要的,也是不可忽视的。

ChatCoder的过程是从给定的角度揭示需求的内部结构,这些角度没有明确表达,即使有歧义。解决歧义的答案只有人类用户知道。

案例研究

如下,作者提出了几个真实的测试用例,说明ChatCoder如何帮助LLM生成具有细化需求的代码。

由于页面限制,研究人员从MBPP中选择了3个案例,涵盖了关于输入、输出和目的的细化,因为它们直接影响功能需求。

参考资料:

https://arxiv.org/abs/2311.00272

0
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 凡本网注明 “来源:XXX(非本站)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。 如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。 QQ:617470285 邮箱:617470285@qq.com
关于作者
帝王之星(普通会员)
文章
858
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行

成员 网址收录40394 企业收录2981 印章生成234174 电子证书1033 电子名片60 自媒体46877

@2022 All Rights Reserved 浙ICP备19035174号-7
0
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索