Redian新闻
>
ChatGPT代码生成飙升10%!北大华人一作:细化prompt,大幅改进大模型代码能力

ChatGPT代码生成飙升10%!北大华人一作:细化prompt,大幅改进大模型代码能力

公众号新闻



  新智元报道  

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

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

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

然而,现实中,程序员们不会精炼表达需求,因此误导、限制了LLM生成优秀代码的能力。

说白了,大模型代码能力行不行,取决于你的提示妙不妙。

对此,来自北大实验室的研究团队提出了,通过与LLM聊天来细化需求的方法——ChatCoder。

论文地址:https://arxiv.org/pdf/2311.00272.pdf

具体来说,他们设计了一种聊天方案,大模型引导用户细化需求表达,进而比以前更精确、更完整,同时提高了大模型的性能。

大模型是「码农」,你就是「产品经理」


这里先举个例子,如下图,用户提出了需求:

数据集#MBPP/443,要求ChatGPT编写一个python函数从给定的列表中找到「最大的负数」。

基于原始需求,ChatGPT生成一个程序,该程序可以正确提取实际值最大的负数。

然而,sanitized-MBPP的作者认为「最大负数」应该是指「绝对值最大的数」。

因此由于「最大」这个表达不明确,导致LLM生成了错误的代码。

而这里,可以通过需求细化(requirements refinement)来解决这个问题。

需求细化就是揭示需求中的隐含依赖和隐藏结构的过程。通过提供更多细节,在需求细化的过程中可以补充不完整的信息,消除模糊不清的地方。

在前面举的例子中,我们可以简单地向大语言模型说明「最大的」在这里特指「绝对值最大的」,揭示了「最大」这个词的隐藏结构。

有了这一改进后的需求,大模型就可以生成符合MBPP作者期望的代码。

不得不提的是,需求细化,需要人类用户和大模型的协作。

一般来说,在需求工程的背景下,需求细化是通过软件供应商(编码人员)和软件客户(用户)之间的一系列交互来执行的。

软件供应商分析客户需求的初始表达,并提出细化点。软件客户则需要根据这些点来作出响应,供应商才能完成一轮需求细化。

无论是软件客户还是软件供应商,任何一方都不具备单独进行需求细化的资格。

这样的劣势在于,客户通常不够了解软件设计和开发过程,无法撰写可用的需求说明;而供应商通常也不够了解客户的问题和业务领域,无法为满意的系统制定需求。

而现在,在大模型时代,人类用户是客户,LLM是「供应商」。

为了通过需求细化让大模型生成更好地满足用户需求的代码,就需要研发人类和LLM协作的方法。

ChatCoder:聊天细化,生成代码


北大提出了ChatCoder,这是通过聊天进行需求细化的大模型代码生成的新方法。

整体框架如下图,非常简洁,通过聊天来辅助LLM和人类在需求细化方面的协作。

关键是,如何与大型语言模型聊天。

ChatCoder便提供了一个全新的聊天模式,其设计灵感来自IEEE SRS。

接下来,我们具体看下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




微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
实战总结|记一次迭代需求中的微型代码重构AI早知道|Gemini推理能力强于GPT-3.5;美图AI视觉大模型将向公众开放;Meta推全新视频生成模型FlowVid王者GPT-4已来,32k上下文!OpenAI首届开发者大会最新爆料,全新UI可定制GPT,xAI大模型大范围可用对标GPT-4代码解释器!港中大让模型写代码解决数学难题,得分超越GPT-4大模型RAG问答技术架构及核心模块回顾:从Embedding、prompt-embedding到Reranker兵败如山倒系列:我们惨败于推娃大妈OpenAI回应ChatGPT服务故障;新研究以99%准确率识别ChatGPT生成化学论文;三星发布自研大模型丨AIGC日报人手一个编程助手!北大最强代码大模型CodeShell-7B开源,性能霸榜,IDE插件全开源Diving Controversy Prompts Sports Fandom Criticism大语言模型击败扩散模型!视频图像生成双SOTA,谷歌CMU最新研究,一作北大校友代码能力超越GPT-4,这个模型登顶Big Code排行榜,YC创始人点赞清华系大模型新秀获20亿投资;AI教父加入初创公司;套壳ChatGPT不是长久之计;百图生科拿下10亿美元大模型订单大型游戏平台 Roblox 通过蜂窝基础设施架构来改进大规模用户游戏体验苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型幻觉处理国内最优!530亿参数Baichuan2推理能力飙升100%,首次开放API商用大模型幻觉排行榜GPT-4夺冠,英伟达科学家强力打假!Meta版ChatGPT一作发长文鸣冤红色日记 计划盖房 4.1-30四喜烤麸—全素营养美味的家常菜DeepMind让大模型学会归纳和演绎,GPT-4准确率提升13.7%400万token,大模型推理飙升22倍!清华校友爆火一作,GitHub狂揽1.8k星长文本信息准确率超过ChatGPT,Meta提出降低大模型幻觉新方法数学能力超过ChatGPT!上海交大计算大模型登开源榜首阿斯麦尔能听命多久?ChatGPT让ChatGPT吐槽宕机;OpenAI对竞争对手Anthropic的合并要约被拒丨AIGC日报“精细化雕琢城市新空间,品质化建设焕新城市”2023“上海-东京”中日城市管理精细化研讨会顺利召开自动生成prompt:Automatic prompt engineeringPowder Valley自然保护区DALL·E 3辣眼图流出!OpenAI 22页报告揭秘:ChatGPT自动改写Prompt华为提出Sorted LLaMA:SoFT代替SFT,训练多合一大语言模型微软发布基于LLM的代码生成神器,动动嘴就能写代码!AI早知道|自定义ChatGPT商店下周上线;腾讯推出语音识别大模型;美图大模型上线代码生成:基于 AI 大模型的挑战与前景OpenAI祭出绘画神器,Midjourney一夜下台!DALL·E 3联手ChatGPT,无需prompt一笔成神编码数据集生成框架 UnitGen 0.4.0:代码文档生成、测试代码生成小米正式发布小米澎湃OS;​腾讯混元开放文生图功能,代码能力提升20%;荣耀重返中国第三季度智能手机出货量第一……
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。