您当前的位置:首页 > 新闻资讯 > 科技

上海交大发布大模型双语编程评估基准,机器开始挑战人类写代码了?

时间:2023-09-06 09:50:39  来源:  作者:机器之心Pro

作者:上海交通大学 APEX 实验室

“Write the code. Change the world.”
If computers can write code, then it is a new world.

打造能自己写代码的机器,这是计算机科学和人工智能先锋者一直在追寻的目标。而随着 GPT 类大模型的快速发展,这样的目标正在从遥不可及开始变得近在咫尺。

大语言模型 (Large Language Models) 的出现,让模型的编程能力越来越受到研究者的关注。在此态势下,上海交通大学 APEX 实验室推出了 CodeApex-- 一个专注于评估 LLMs 的编程理解和代码生成能力的双语基准数据集。

在评估大语言模型的编程理解能力上,CodeApex 设计了三种类型的选择题:概念理解、常识推理和多跳推理。此外,CodeApex 也利用算法问题和相应的测试用例来评估 LLMs 的代码生成能力。CodeApex 总共评估了 14 个大语言模型在代码任务上的能力。其中 GPT3.5-turbo 表现出最好的编程能力,在这两个任务上分别实现了大约 50% 和 56% 的精度。可以看到,大语言模型在编程任务上仍有很大的改进空间,打造能自己写代码的机器,这样的未来十分可期。

  • 网站:https://apex.sjtu.edu.cn/codeapex/
  • 代码:https://Github.com/APEXLAB/CodeApex.git
  • 论文:https://apex.sjtu.edu.cn/codeapex/paper/

简介

编程理解和代码生成是软件工程中的关键任务,在提高开发人员生产力、增强代码质量和自动化软件开发过程中起着关键作用。然而,由于代码的复杂性和语义多样性,这些任务对于大模型来说仍然具有挑战性。与普通的自然语言处理相比,使用 LLMs 生成代码需要更加强调语法、结构、细节处理和上下文理解,对生成内容的准确度有着极高要求。传统的方法包括基于语法规则的模型、基于模板的模型和基于规则的模型,它们通常依赖于人工设计的规则和启发式算法,这些规则和算法在覆盖范围和准确性方面受到限制。

近年来,随着 CodeBERT 和 GPT3.5 等大规模预训练模型的出现,研究人员开始探索这些模型在编程理解和代码生成任务中的应用。这些模型在训练期间集成了代码生成任务,使它们能够理解并生成代码。然而,由于缺乏标准的、公开可用的、高质量的、多样化的基准数据集,对 LLMs 在代码理解和生成方面的进步进行公平的评估是很困难的。因此,建立一个广泛覆盖代码语义和结构的基准数据集对于促进编程理解和代码生成的研究至关重要。

现有的代码基准数据集在应用于 LLMs 时,存在着适用性和多样性的问题。例如,部分数据集更适用于评估 Bert 类型的、双向语言建模的 LLMs。而现存的多语言代码基准数据集(例如 Human-Eval)包含的问题比较简单、缺乏多样性、只能实现一些基本的功能代码。

为了弥补以上空白,上海交通大学 APEX 数据与知识管理实验室构建了一个新的大模型代码理解与生成的评测基准 --CodeApex。作为一个开创性的双语(英语,汉语)基准数据集,CodeApex 专注于评估 LLMs 的编程理解和代码生成能力。

CodeApex 的整体实验场景如上图所示。

第一个任务编程理解包括 250 道单项选择题,分为概念理解、常识推理和多跳推理。用于测试的题目选自高校的不同课程 (编程、数据结构、算法) 的期末考试题目,大大降低了数据已经在 LLMs 训练语料库中的风险。CodeApex 在 0-shot、2-shot、5-shot 三种场景下测试了 LLMs 的代码理解能力,并同时测试了 Answer-Only 和 ChAIn-of-Thought 两种模式对于 LLMs 能力的影响。

第二个任务代码生成包括 476 个基于 C++ 的算法问题,涵盖了常见的算法知识点,如二分搜索、深度优先搜索等。CodeApex 给出了问题的描述和实现问题的函数原型,并要求 LLMs 完成函数的主要部分。CodeApex 还提供了 function-only 和 function-with-context 两种场景,它们的区别是:前者只有目标函数的描述,而后者除了目标函数的描述之外,还被提供了目标函数的调用代码、时间空间限制、输入输出描述。

实验结果表明,不同模型在代码相关任务中的表现不同,GPT3.5-turbo 表现出卓越的竞争力和明显的优势。此外,CodeApex 比较了 LLMs 在双语场景下的表现,揭示了不同的结果。总体而言,在 CodeApex 排行榜中,LLMs 的准确性仍有很大的提高空间,这表明 LLMs 在代码相关任务中的潜力尚未被完全开发。

代码理解

要将大语言模型完全集成到实际代码生产场景中,编程理解是必不可少的。编程理解需要从各个方面理解代码的能力,例如对语法的掌握、对代码执行流程的理解以及对执行算法的理解。

CodeApex 从高校期末考试题目中抽取了 250 道选择题作为测试数据,这些测试数据被分成了三类:概念理解、常识推理、多跳推理。

测试模式包括两类:Answer-Only 和 Chain-of-Thought。

实验结果与结论

CodeApex 在代码理解任务上的中英评测结果如以下两表所示。(表现最好的模型加粗显示;表现好的模型用下划线标注。)

从中可以得到以下结论:

  • 双语能力比较。中文版的得分高于英文版。主要有两个原因:(1)源题描述来源于中国高校的期末考试,因此试题最初是用中文呈现的。即使翻译成英文,它们仍然包含了一些中国人特有的语言习惯。因此,当将这些带有偏差的英语问题输入到 LLMs 中时,可能会在模型的编码结果中引入一些噪声。(2)大多数被评估的模型主要是在中文数据上进行训练的,这导致了较差的结果。
  • 不同题型的能力比较。在这三个问题类别中,大约有一半的模型在概念理解方面表现最好,这表明它们在被训练期间可能包含了编程概念的知识。与多跳推理相比,大多数模型在常识推理方面得分更高,这表明 LLMs 的能力随着推理步骤的增加而显著降低。
  • CoT 思维链模式的作用。大多数模型在 CoT 模式下的准确度接近或低于 Answer-Only 模式。出现这种现象的原因有两个方面:(1)评估的模型规模没有达到具有 CoT 涌现能力的模型尺寸。此前的研究认为,CoT 的出现要求 LLMs 至少具有 60B 个参数。当参数数量不够时,CoT 设置可能会引入额外的噪声,LLMs 生成的响应不稳定。而 GPT3.5-turbo 已经达到了涌现能力出现点,在 CoT 设置上可以达到更高的精度。(2)在回答概念理解和常识性推理问题时,不太需要多步推理。因此,LLMs 的 CoT 能力并不能为这类问题提供帮助。然而,对于多跳推理问题,某些模型 (如 ChatGLM2、educhat 和 GPT3.5-turbo) 在 CoT 场景中的准确性有明显提高。(由于 CodeT5 无法通过思维链生成响应,CodeApex 将其排除在 CoT 设置之外。)

代码生成

训练大语言模型生成准确且可执行的代码是一项具有挑战性的任务。CodeApex 主要评估 LLMs 基于给定描述生成算法的能力,并通过单元测试自动评估生成代码的正确性。

CodeApex 的代码生成任务包括 476 个基于 C++ 的算法问题,涵盖了常见的算法知识点,如二分搜索和图算法等。CodeApex 给出了问题的描述和实现问题的函数原型,并要求 LLMs 完成函数的主要部分。

CodeApex 提供了 Function-only 和 Function-with-context 两种场景。Function-only 场景只提供了目标函数的描述,而 Function-with-context 场景不仅提供了目标函数描述,还提供了目标函数的调用代码、 时间空间限制、输入输出描述。

实验结果与结论

每种语言版本都采用了两种 Prompt 策略 (Function-Only 和 Function-with-Context)。为了和人类代码测试场景对齐,评估指标包括了 AC@1, AC@all 和 AC 率。

各模型的代码生成任务结果如以下两张表格所示。(表现最好:加粗;表现次好:下划线。)

可以得到以下结论:

  • GPT3.5-turbo 表现优于其他 11 个 LLMs,平均得分超过 50%。
  • WizardCoder 和 StarCoder 排名第二和第三,突出了通过基于代码的微调在代码生成能力方面的显著改进。
  • 在代码生成任务上,目前测试的模型在中英文题型上无明显性能差异。

此外,CodeApex 还提供了每种场景中可编译代码的比例。在将生成函数和主函数连接起来之后,可编译的代码再去通过测试用例进行检查。

可以看到:

  • 大多数模型能够生成超过 50% 的可编译代码,这证明了 LLMs 理解函数原型的能力。
  • 通常,提供有关函数的上下文信息可以帮助 LLMs 生成可编译代码。

结论

CodeApex 作为一个关注 LLMs 编程能力的双语基准,评估了大语言模型的编程理解和代码生成能力。在编程理解上,CodeApex 在三类选择题中评估了不同模型的能力。在代码生成上,CodeApex 利用测试代码用例的通过率来评估模型的能力。对于这两个任务,CodeApex 精心设计了 Prompt 策略,并在不同的场景下进行了比较。CodeApex 在 14 个 LLMs 上进行了实验评估,包括通用 LLMs 和基于代码微调的专用 LLMs 模型。

目前,GPT3.5 在编程能力方面达到了比较良好的水平,在编程理解和代码生成任务上分别实现了大约 50% 和 56% 的精度。CodeApex 显示,大语言模型在编程任务上的潜力尚未被完全开发。我们期待在不久的将来,利用大型语言模型生成代码将彻底改变软件开发领域。随着自然语言处理和机器学习的进步,这些模型在理解和生成代码片段方面将变得更加强大和熟练。开发人员将发现他们在编码工作中拥有了一个前所未有的盟友,因为他们可以依靠这些模型来自动化繁琐的任务,提高他们的生产力,并提高软件质量。

在未来,CodeApex 将发布更多用于测试大语言模型代码能力的测试(例如代码校正),CodeApex 的测试数据也会持续更新,加入更多元的代码问题。同时,CodeApex 榜单也会加入人类实验,将大语言模型的代码能力和人类水平做对比。CodeApex 为大语言模型编程能力的研究提供了基准与参考,将促进大语言模型在代码领域的发展与繁荣。

APEX 实验室简介

上海交大 APEX 数据与知识管理实验室成立于 1996 年,其创办人为 ACM 班总教头俞勇教授。实验室致力于探索将数据有效挖掘和管理并总结出知识的人工智能技术,发表 500 篇以上国际学术论文,并追求在实际场景中的落地应用。27 年来,APEX 实验室在多次世界技术浪潮中成为全球范围内的先锋者,实验室于 2000 年开始研究语义网(现称知识图谱)核心技术,于 2003 年开始研究个性化搜索引擎和推荐系统技术,于 2006 年开始研究迁移学习理论与算法,于 2009 年开始探索深度学习技术并基于 GPU 开发神经网络训练库。产出丰硕的科研和落地成果的同时,APEX 实验室也锻炼出了一支功底扎实的数据科学与机器学习研究团队,走出了包括薛贵荣、张雷、林晨曦、刘光灿、王昊奋、李磊、戴文渊、黎珍辉、陈天奇、张伟楠、杨笛一等人工智能领域杰出校友。



Tags:写代码   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
谷歌创始人亲自给Gemini写代码,很核心那种
西风 发自 凹非寺量子位 | 公众号 QbitAI身价1050亿美元,每天还在亲自动手敲代码!?就连谷歌最新大招Gemini大模型的核心贡献者名单中,也有他的名字。没错,他就是谷歌联合创始人谢...【详细内容】
2023-12-26  Search: 写代码  点击:(106)  评论:(0)  加入收藏
这样用ChatGPT写代码,省时省力又高效!
译者 | 李睿审校 | 重楼生成代码是ChatGPT和其他遵循指令运行的大型语言模型(LLM)一个功能强大的应用。如果得到正确的提示,大型语言模型(LLM)可以生成程序员可能需要数小时...【详细内容】
2023-10-10  Search: 写代码  点击:(255)  评论:(0)  加入收藏
为什么写代码注释应该是注释 Why,而不是 How 和什么 What
代码注释在软件开发过程中扮演着重要的角色,它可以提供对代码的解释、设计意图和使用方法等信息。然而,很多开发者在编写代码注释时倾向于过多地关注如何(How)和什么(What),而忽略...【详细内容】
2023-09-26  Search: 写代码  点击:(225)  评论:(0)  加入收藏
上海交大发布大模型双语编程评估基准,机器开始挑战人类写代码了?
作者:上海交通大学 APEX 实验室“Write the code. Change the world.”If computers can write code, then it is a new world.打造能自己写代码的机器,这是计算机科学和人工...【详细内容】
2023-09-06  Search: 写代码  点击:(54)  评论:(0)  加入收藏
GPT-4写代码不如ChatGPT,误用率高达62%!加州大学两位华人开源代码可靠性基准RobustAPI
新智元报道编辑:LRS【新智元导读】代码能否跑起来的不是判断可靠性的标准,用语言模型写代码还需要考虑生产环境下的预期外输入。大型语言模型(LLM)在理解自然语言和生成程序代码...【详细内容】
2023-09-05  Search: 写代码  点击:(238)  评论:(0)  加入收藏
五个IntelliJ IDEA插件,高效编写代码
人工智能AI是当前广受认可的未来趋势和发展方向。虽然有些人担心AI可能会取代所有的工作,但实际上只会取代那些重复性高、产出低的工作。因此,我们应该学会更加聪明地工作,而不...【详细内容】
2023-07-06  Search: 写代码  点击:(287)  评论:(0)  加入收藏
开始用Rust编写代码!
作者 | Ukeje译者 | 布加迪审校 | 重楼 Rust是一种强大的语言,但从哪里开始入手呢?如果您习惯使用另一种语言,就应该知道Rust如何处理这些熟悉的概念。1、梳理Rust 自2015年发...【详细内容】
2023-06-20  Search: 写代码  点击:(160)  评论:(0)  加入收藏
AI写代码准确率高达80% 离自动生成程序还有多远?
每经记者:谭玉涵 孙宇婷 每经编辑:高涵日前,全球最大开源代码托管平台GitHub的CEO托马斯·多梅克(Thomas Dohmke)亲自演示了人工智能(AI)写代码。他现场仅花15分钟就制作完成...【详细内容】
2023-06-06  Search: 写代码  点击:(319)  评论:(0)  加入收藏
团队写代码,为什么要遵循coding guideline?
最近我在思考这样一个问题,顺便看一下gpt对这个问题的解释。搜索发现:团队写代码,为什么要遵循coding guideline?1. 一致性:编码准则确保整个团队的代码风格和格式是一致的,这使得...【详细内容】
2023-05-25  Search: 写代码  点击:(288)  评论:(0)  加入收藏
身为程序员,你有哪些提高写代码效率的黑科技?
首先,每个程序员都是会利用工具的人,也有自己囊里私藏的好物。独乐了不如众乐乐,今天笔者整理了3个辅助我们写代码的黑科技,仅供参考。If你有更好的工具,欢迎评论区分享。1、Goog...【详细内容】
2023-05-06  Search: 写代码  点击:(276)  评论:(0)  加入收藏
▌简易百科推荐
谷歌推出适用于安卓设备的“查找我的设备”网络
IT之家 4 月 9 日消息,谷歌今日推出了适用于安卓设备的“查找我的设备”网络,其功能类似于苹果的“查找”网络,旨在帮助用户定位丢失、被盗的安卓产品。IT之家注意到,与苹果的“...【详细内容】
2024-04-09    IT之家  Tags:安卓   点击:(2)  评论:(0)  加入收藏
你的自拍和聊天记录,正被硅谷大厂砸数十亿美元疯抢
2026年的数据荒越来越近,硅谷大厂们已经为AI训练数据抢疯了。它们纷纷豪掷十数亿美元,希望把犄角旮旯里的照片、视频、聊天记录都给挖出来。不过,如果有一天AI忽然吐出了我们的...【详细内容】
2024-04-09    新智元  Tags:硅谷   点击:(2)  评论:(0)  加入收藏
谷歌搜索史上最大变革!考虑对AI搜索收费
快科技4月7日消息,据国外媒体报道,谷歌正计划对由生成式人工智能驱动的新高级功能收费,这将是谷歌搜索业务历史上最大的一次变革。自2000年以来,谷歌的搜索产品一直依靠广告盈利...【详细内容】
2024-04-08    快科技  Tags:谷歌搜索   点击:(7)  评论:(0)  加入收藏
为训练AI,OpenAI等科技巨头花式淘数据
[环球时报特约记者 甄翔]《纽约时报》6日披露了科技公司训练人工智能的秘密——利用语音识别工具转录视频网站YouTube上的视频,形成对话文本数据,供其最新的AI学习...【详细内容】
2024-04-08    环球网  Tags:AI   点击:(7)  评论:(0)  加入收藏
训出GPT-5短缺20万亿token!OpenAI被曝计划建「数据市场」
全网真的无数据可用了!外媒报道称,OpenAl、Anthropic等公司正在努力寻找足够的信息,来训练下一代人工智能模型。前几天,OpenAI和微软被曝出正在联手打造超算「星际之门」,解决算...【详细内容】
2024-04-08    新智元  Tags:GPT-5   点击:(1)  评论:(0)  加入收藏
当“机器人”有了“AI大脑” 人形机器人时代来了吗
数智风向标当“机器人”有了“AI大脑”​人形机器人时代来了吗简单明了的口令下达后,机器人便开始搬箱子、运小球,在各类不同的地形行走……这些身上布满芯片和传...【详细内容】
2024-04-08    中国青年报  Tags:机器人   点击:(3)  评论:(0)  加入收藏
报告称 OpenAI 采集了超一百万小时的 YouTube 视频来训练 GPT-4
IT之家 4 月 7 日消息,本周早些时候,《华尔街日报》报道称 AI 公司在收集高质量训练数据方面遇到了困难。今天,《纽约时报》详细介绍了 AI 公司处理此问题的一些方法,其中涉及到...【详细内容】
2024-04-07    IT之家  Tags:OpenAI   点击:(6)  评论:(0)  加入收藏
量子计算会和经典计算一样融入人们的日常生活
作为2024中国网络媒体论坛打造的创新活动之一,“技术赋能·八点见”创新项目发布会于3月30日晚在云南昆明举行。活动现场,本源量子计算科技(合肥)股份有限公司(以下简称“...【详细内容】
2024-04-03    人民网  Tags:量子计算   点击:(8)  评论:(0)  加入收藏
ChatGPT官宣免注册,全球互联网变天!OpenAI将取代谷歌搜索?
新智元报道编辑:编辑部【新智元导读】OpenAI这份愚人节礼物,实在是太大了:今天起,ChatGPT不用注册,可以直接使用。用户狂欢,竞品颤抖,我们仿佛已经听到,谷歌搜索引擎这位巨人轰然倒...【详细内容】
2024-04-02    新智元  Tags:ChatGPT   点击:(8)  评论:(0)  加入收藏
谷歌为了结集体诉讼,同意删除 Chrome 无痕模式下收集的用户数据
IT之家 4 月 2 日消息,根据华尔街日报报道,谷歌为了结追溯到 2020 年的集体诉讼案,近日同意删除通过 Chrome 浏览器“无痕(Incognito)模式”下收集的用户数据。这起诉讼原告认为,...【详细内容】
2024-04-02    IT之家  Tags:Chrome   点击:(7)  评论:(0)  加入收藏
站内最新
栏目相关
  • · 谷歌推出适用于安卓设备的“查找我的设备”网络
  • · 你的自拍和聊天记录,正被硅谷大厂砸数十亿美元疯抢
  • · 谷歌搜索史上最大变革!考虑对AI搜索收费
  • · 为训练AI,OpenAI等科技巨头花式淘数据
  • · 训出GPT-5短缺20万亿token!OpenAI被曝计划建「数据市场」
  • · 当“机器人”有了“AI大脑” 人形机器人时代来了吗
  • · 报告称 OpenAI 采集了超一百万小时的 YouTube 视频来训练 GPT-4
  • · 量子计算会和经典计算一样融入人们的日常生活
  • · ChatGPT官宣免注册,全球互联网变天!OpenAI将取代谷歌搜索?
  • · 谷歌为了结集体诉讼,同意删除 Chrome 无痕模式下收集的用户数据
  • · 哥伦比亚大学华人开发「人脸机器人」,照镜子自主模仿人类表情超逼真
  • · 谷歌服务现已支持使用 Windows Hello 人脸和指纹解锁登录
  • · GPT商店热度不尽人意 仅用在写论文和炒股票上较受欢迎
  • · 距实现全球安全量子通信更近一步:量子点源产生近乎完美纠缠光子对
  • · 中国三大运营商共同发布通过GSMA Open Gateway认证的一次性密码 API
  • · 马斯克脑机接口再造奇迹:瘫痪小伙意念玩赛车击败正常人
  • · 国家数据局局长刘烈宏:充分发挥数据要素价值 培育新质生产力
  • · 谷歌Chrome巨变:第三方Cookie的终结将重塑互联网格局
  • · 百度+苹果,“AI手机元年”真的来了?
  • · 百度AI“咬”了一口苹果 大模型商用有戏了?
  • 站内热门
    相关头条
  • · 谷歌搜索史上最大变革!考虑对AI搜索收费
  • · ChatGPT官宣免注册,全球互联网变天!OpenAI将取代谷歌搜索?
  • · 马斯克脑机接口再造奇迹:瘫痪小伙意念玩赛车击败正常人
  • · Kimi引燃大模型“长文本竞赛”,阿里360百度急出手
  • · 瘫痪8年小哥植入马斯克脑机接口,狂打8小时「文明6」!Neuralink首个人类植入者直播来了
  • · 英伟达“算力核弹”强在哪里?
  • · AI大模型之争远未落幕
  • · 世界首款!英伟达重磅发布人形机器人模型
  • · 全程回顾黄仁勋GTC演讲:Blackwell架构B200芯片登场
  • · 真“Open ” AI?马斯克旗下大模型Grok宣布开源:参数量全球最大
  • · 全球首位AI程序员诞生 人类程序员会失业吗?
  • · 谷歌宣布更新搜索算法:打击AI生成内容,提高搜索结果质量
  • · 英伟达、微软等巨头“抱团”,AI有望助推6G时代到来 国内产业如何接招?
  • · OpenAI Sora已开放对外申请 网友爆料:可能还有其它重磅产品发布
  • · 周鸿祎再谈Sora:真正给人工智能补上了“眼睛”
  • · Sora爆火超100小时:美国狂“卷”算力,国内则卖 AI 课程“捞金”一年5000万|钛媒体AGI
  • · 爆火Sora参数规模仅30亿?谢赛宁等大佬技术分析来了
  • · “AI女友”霸占GPT商店,OpenAI苦不堪言:开发者也难出头!
  • · 从居家到工作,CES 2024上演 AI硬件大秀
  • · OpenAI新年头号重磅!GPT Store上线,企业客户新品也来了
  • 站内头条