△基于Codex的Copilot
为此,来自CMU的几个研究人员,用GPT-2搞出了一个名叫PolyCoder的AI代码生成模型,而且还是开源的。
据研究人员表示,虽然PolyCoder最大只有27亿参数(相比Codex有120亿参数),但它用C语言写出来的代码,比Codex的效果还要好。
这里面究竟有什么秘诀?
用12种编程语言代码集训练
首先来看训练用的数据集,这也是PolyCoder的最大特点之一。
此前,包括Codex、CodeParrot等AI代码生成模型,主要都是基于Python语言的代码来训练。
例如Codex的评估数据集之一HumanEval,评估的也是生成Python代码的效果。
相比之下,PolyCoder采用了多种编程语言代码集来训练,一共有12种:
C、C#、C++、Go、Java、JavaScript、PHP、Python、Ruby、Rust、Scala和TypeScript。
其中,C语言的代码量是最多的,达到了221GB;而Python代码的数据量比Codex和CodeParrot用得都要少。
这里PolyCoder用的是GitHub上的公开代码,主要选取的是各种编程语言中比较受欢迎的库,每个库至少有50 Stars。
据研究人员表示,每种编程语言库的Stars总数加起来不超过25k,以避免模型生成的代码效果太过于倾斜最流行的编程语言(通常编程语言越流行,库的Stars就越多)。
通过提取库中的文件、经过简单处理(包括消除重复代码)后,一共筛选出大约254GB的数据用于训练。
然后是预训练的方法。
语言模型的预训练方法通常有三种。
第一种是自左向右的语言模型,根据上文预测下文,比较适用于代码生成等;第二种是掩蔽语言模型,基于上下文预测屏蔽片段,比较适合代码分类等;第三种是编解码器模型,比较适用于代码注释等任务。
这里PolyCoder主要采用的是第一种预训练方法。
相比于同样采用GPT-2训练的CodeParrot和Codex,PolyCoder在超参数设置上也稍微有一些差异:
PolyCoder一共提供了三种不同的模型,分别有27亿参数、4亿参数和1.6亿参数,研究人员可以根据自身需求和不同的训练能力来选取合适的模型。
那么,最终训练出来的AI模型,代码生成效果如何?
C语言写得尤其好,但Python不行
研究人员将PolyCoder与已有的AI代码生成模型进行了对比。
由于AlphaCode不好比较(接口没开放),所以研究人员主要分析了下面这些模型,包括GPT-Neo、CodeParrot和Codex等。
其中蓝色的是开源的,橙色的是没开源的:
从参数量来看,PolyCoder并不是最顶尖的,最大的27亿参数模型也只有Codex的四分之一不到。
研究人员先是用语言模型评估常用的困惑度对一系列模型进行了比较。
困惑度(Perplexity),用于衡量语言模型(LM)的好坏。困惑度越低,语言模型面对代码感到困惑的程度就越低,模型生成效果越好。
从图中来看,PolyCoder在C语言中意外取得了最好的效果(困惑度最低)。
用大量C语言训练PolyCoder的结果说明,即使模型整体原理不变(基于GPT-2),单纯改变训练用的代码集,也能训练出擅长不同语言风格的AI代码生成模型。
可惜的是,从其他语言来看,生成的效果就完全没办法和Codex相比了:
例如,在主要用于评估Python代码的HumanEval上,PolyCoder的能力远不如Codex好:
据论文分析,这可能是Python代码数据量、模型参数量不足等原因导致的。
此外,作者们也提到,做出PolyCoder的目的主要还是为了开源一个AI代码生成模型,让更多人参与研究和使用。
目前代码已经开源,无论是直接拿来用,还是试着在它的基础上开发新模型都可以。
感兴趣的小伙伴可以上手一试了~
作者介绍
一作许方正(Frank Xu),目前在CMU读博,研究方向是NLP、信息抽取等,发表过多篇顶会论文,包括ICLR、ACL和EMNLP等。本硕毕业于上海交通大学,师从朱其立教授。
Uri Alon,在CMU进行博士后工作,研究方向是编程语言处理(PLP)、NLP和深度学习。
Graham Neubig,CMU助理教授,研究方向是NLP、机器翻译和基于机器学习的自然语言理解。
Vincent J. Hellendoorn,CMU计算机助理教授,主要研究方向是软件工程和机器学习,致力于利用智能方法帮助软件开发人员减少代码调试、程序优化等繁琐工作的时间。
不知道作者们是否已经在用这个AI撸代码了(手动狗头)
项目地址:
https://github.com/VHellendoorn/Code-LMs
论文地址:
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。