您现在的位置是:首页 > 科技 >正文
AI编程登上Science封面:AlphaCode打竞赛,三分之二赛题一遍过
发布时间:2022-12-10 08:27:47孟邦艺来源:
鱼羊 萧箫 发自 凹非寺
量子位 | 公众号 QbitAI
DeepMind的NS论文又新添一篇。
这回,是“信息学竞赛选手”AlphaCode,登上了最新一期Science封面。
对,就是那个悄悄潜入10场编程比赛敲代码,成绩超过了一半人类的编程AI。
并且就在这篇最新更新的论文中,DeepMind还首次透露了AlphaCode的“一次通过率”:66%。
也就是说,AlphaCode近三分之二的提交,都是一次AC(Accepted)的。
CMU博世人工智能中心教授J. Zico Kolter的最新评论文章也同时发表在了这一期Science上,他认为:
AlphaCode不仅仅是复制现有的解决方案。
在面对以前没见过的编程题时,它表现得非常好,无论它是在多大程度上真正“理解”了这个任务。
而在DeepMind的官方推特下,还有不少人把AlphaCode同当红炸子鸡ChatGPT联系了起来。
有人已经迫不及待看到两者同台演出:
首次通过率66%
尽管AI编程领域,GitHub的Copilot已经快进到收费模式,甚至还和程序员们“法庭上见”了。
但在DeepMind看来,AlphaCode还是颇有些不同之处。
一方面,编程竞赛对于AI而言本身就是比纯编程更为复杂的任务,关键是要为无法预见的问题构建解决方案。
另一方面,在架构上,AlphaCode采用了不同的机制来编码赛题文本。
值得一提的是,AlphaCode“打”的这10场编程比赛都来自Codeforces。
相比其他针对算法和数据结构的编程比赛,Codeforces更偏好考查思维能力,这意味着AI无法仅仅通过“背题”来完成挑战。
例如这是Codeforces上关于1553D问题的描述:
有两个字符串s和t,都是由小写字母组成。对于字符串s,我们从前向后扫描整个字符串。
如果按下Backspace键,就删除该光标前到上一个未删除字符之间的所有字符。
也就是说,假设字符串s是”abcbd”,你分别在第一个位置和第四个位置按下Backspace,那么将得到字符串”bd”。
因为在第一个光标位置前没有字符,所以第一次没有动作。第四个光标位置前的字符是c,上一个未删除字符是a,所以按下Backspace将删除前三个字符”bd”。
针对这个“前提”,我们需要解决的问题如下:
我们能否从前向后扫描一次s字符串,让s变为t?如果可以就输出YES,否则输出NO。
针对这个问题,AlphaCode给出的解法如下:
那么,我们只需要给定输入的字符串数量(4)和具体的字符串内容,就能让程序输出对应的结果:
第一组ababa(ba),第二组ababa(bb),第三组aaa(aaaa),第四组aababa(ababa)。
对此程序输出的结果分别是YES、NO、NO和YES。
在做题过程中,AlphaCode的“解题思路”也不再是黑箱。
它不仅成功解决了问题,还能将代码和注意力高亮的对应位置显示出来:
上述还只是AlphaCode解的其中一道题。
整体来说,在Codeforces平台举办的编程比赛模拟评估中,AlphaCode在超过5000名参与者的比赛中平均排名前54.3%——击败了一半的选手。
并且第一次提交就通过的概率达到了66%。
AlphaCode是如何读题写码的
所以,AlphaCode究竟是凭借什么原理达成这一“战果”的呢?
它仍然基于预训练-微调的范式打造,采用Transformer架构,其中编码器具备“解读能力”,解码器则具备“写码能力”。
这次发表在Science上的论文,也给出了更直观的原理图,并以Python作为案例,讲解具体训练的过程。
在预训练(pre-training)时,研究人员会先整理出GitHub上的各种代码集,并“喂”给AlphaCode上的编码器和解码器。
以Python上的print(“hello”)为例,这里print()是一个常见的函数,即“打印输出”,”hello”则是具体需要打印输出的内容。
经过预训练后的模型,就具备了基本的“按指令完成任务”的要求,其中编码器负责生成指令,解码器则负责填充剩余的部分。
在微调(fine-tuning)环节,研究人员会整理出竞争性编程竞赛的数据集,包括问题和解决思路两部分,并以GOLD与tempering作为训练目标,进一步减少搜索空间。
其中,问题以注释#的形式交给编码器“学习”,解决思路则交给解码器来尝试理解:
微调完成后,解码器就懂得通过编码器生成注释的内容,来尝试输出对应的代码。
经过预训练-微调后,就来到了最终的评测环节。
Codeforces的题目会被直接以注释的形式交给编码器,解码器则尝试输出数百万个不同的程序,对它们进行过滤和聚类(cluster)之后,提交其中的10个程序来解决问题。
(当然前面也提到,有不少问题在第一次提交后就通过了)
对于AlphaCode的出现,有程序员调侃称“可以在艺术家旁边排队等领救济粮了。”
不过,DeepMind官方对于AlphaCode的定调并非“AI版程序员”,而是希望它作为一个辅助的角色出现在编程工作中:
我们希望它能作为软件开发者的助手,尤其是为0编程基础的人提供写代码的机会。
论文地址:
https://www.science.org/doi/10.1126/science.abq1158
参考链接:
[1]https://www.science.org/doi/10.1126/science.add8258
[2]https://mp.weixin.qq.com/s/wZcY_hEk_M61wTJVVIXfIg
[3]https://www.deepmind.com/blog/competitive-programming-with-alphacode
— 完 —
量子位 QbitAI · 头条号签约
关注我们,第一时间获知前沿科技动态
标签:
群雄“混战”TWS耳机下一篇
最后一页
猜你喜欢
最新文章
- 《央视财经评论》:各地加力拼经济 企业组团“出海忙”
- AI编程登上Science封面:AlphaCode打竞赛,三分之二赛题一遍过
- 国际机票便宜了!三大航空公司12月开通136条国际航线
- 群雄“混战”TWS耳机
- 世界杯鏖战正酣!义乌商家补货忙:“阿根廷球衣又要热卖了”
- 家用监控摄像备受青睐,如何遏制隐私暴露问题?
- 义乌足球卖爆了!世界杯带热国内市场,销售淡季变旺季
- 苹果生产线要搬离中国?对我们老百姓有何影响?
- 今晨财经必读(2022.12.09)
- 美国打压中国遭“反噬”,全球芯片争夺战打响,美日欧印相继出手
- 乡村振兴中国行|农牧并举,生态优先!看内蒙古兴安盟多样致富路→
- 更小巧的墨水屏设备来了,3.1英寸知识卡片登场,到手价369元
- 美联储放缓加息步伐?最新预测→
- 性能低10%、价格便宜600元:iQOO Neo7 SE反而更值得买?看完就明白
- “与新冠病毒共存”:半年过去了,新加坡怎么样了?
- 通吃PC、次世代游戏机:高端SSD该选谁?看这四款就够了
- 真爱营销反噬DR钻戒:迪阿股份营收利润双降,一生一枚的求婚戒指卖不动?
- 年末OLED电视如何选?这三个品牌依然活跃,65英寸可低至6399元
- 中东土豪足球投资指南:最爱买欧洲俱乐部,一投就是几十亿
- iQOO 11登场,骁龙8 Gen2和UFS 4.0都用上,最低3799元值不值得选?
- 微博再次勒紧“裤腰带”,年底又裁员?员工称“比例约20%,每组都有指标”,公司暂未回应
- 荣耀MagicOS 7.0评测:更智慧、更流畅、更好用的新系统
- 夜市回来了:多地支持“摆摊”,有商业街客流量提升30%
- iQOO 11评测:旗舰双芯强强联手,游戏影像皆优秀