晓查发自凹非寺量子位|公众号QbitAI今天,DeepMind的“Alpha”家族再添一名新成员:会刷编程竞赛题的AlphaCode来了!其实,AlphaCode早在几个月前就“悄悄进村”了,一直没人察觉。

它默默参加了著名网站Codeforces最近举行的10场编程比赛,成绩超过了一半人类。

直到今天DeepMind才公布最终成绩:AlphaCode在这10场比赛中排名前54.3%,Elo评分1238。

更重要的是,在编程比赛这样考察算法创造力的问题中,AI终于不落下风,而这恰恰是AI过去所欠缺的。

如果把这个分数放到过去六个月总体来看,AlphaCode的成绩更为优秀,因为它只刷了10周的题目,就已经达到了前28%用户的水平。

Codeforces是一个由俄罗斯程序员MikhailMirzayanov创办的编程竞赛网站,大约每周举行一次名为“CodeforcesRounds”的编程比赛。

通过Codeforces的Elo评分可以衡量一位程序员的编程水平。

△Codeforces创始人MikhailMirzayanov当看到AlphaCode的成绩后,连创始人Mirzayanov都惊讶不已。

他原本对AI持怀疑态度,因为编程比赛考验的是发明算法的能力,这是最困难的,没想到AlphaCode的结果完全超出了他的预期。

DeepMind发布这条消息仅半天,在Twitter上已经有2000多次转发、5000多点赞。

AlphaCode如何编程说了这么多,下面我们来看看AlphaCode是如何成为“编程做题家”的。

以下是Codeforces上的1553D问题:(链接:)有两个字符串s和t,都是由小写字母组成。

对于字符串s,我们从前向后扫描整个字符串。

如果按下Backspace键,就删除该光标前到上一个未删除字符之间的所有字符。

例如字符串s是”abcbd”,你分别在第一个位置和第四个位置按下Backspace,那么将得到字符串”bd”。

因为在第一个光标位置前没有字符,所以第一次没有动作。

第四个光标位置前的字符是c,上一个未删除字符是a,所以按下Backspace将删除前三个字符”bd”。

好了,现在问题来了:我们能否从前向后扫描一次s字符串,让s变为t。

如果可以输出YES,否则输出NO。

AlphaCode给出的代码是这样的:t=int(input())foriinrange(t):s=input()t=input()a=[]b=[]forjins:a.append(j)forjint:b.append(j)a.reverse()b.reverse()c=[]whilelen(b)!=0andlen(a)!=0:ifa[0]==b[0]:c.append(b.pop(0))a.pop(0)elifa[0]!=b[0]andlen(a)!=1:a.pop(0)a.pop(0)elifa[0]!=b[0]andlen(a)==1:a.pop(0)iflen(b)==0:print(YES)else:print(NO)向以上程序输入4组字符串:4abababaabababbaaaaaaaaababaababa得到的输出是:YESNONOYES在这里,AlphaCode不再是黑箱。

它不仅成功解决了问题,还能将代码和注意力高亮的对应位置显示出来。

一位网友表示:既然AI能看得这么细,那么如果能在代码后面加入注释就更好了。

至于更多的案例,可以去AlphaCode网站观摩。

原理DeepMind说,在Codeforces比赛中所需解决问题的能力,已经超出了现有AI系统的能力。

整个AlphaCode模型的流程如下:用标准的语言建模目标在GitHub代码上预训练一个基于Transformer的语言模型。

这个模型可以合理地代表人类编写代码的空间,大大减少了问题的搜索空间。

在竞争性编程数据集上微调模型,使用GOLD与tempering作为训练目标,进一步减少了搜索空间,并利用预训练弥补了少量的竞争性编程数据。

为每个问题从模型中生成非常多的样本。

对样本进行过滤,以获得一小部分候选提交的样本(最多10个),在隐藏的测试案例上进行评估,方法是利用实例测试和聚类,根据程序行为挑选样本。

总而言之,通过将大规模Transformer模型与大规模采样和过滤相结合,DeepMind在可以解决的问题数量方面取得了重大进展,比之前的工作高出一个数量级。

刷题人士抵触正如Codeforces创始人所说,在编程问题中对算法的发明创造是最难的。

在全球编程比赛网站上常年排名前几的谷歌工程师PetrMitrichev说:解决编程比赛问题是一件非常困难的事情。

它既需要良好的代码技能,也需要人类解决问题的创造力。

AlphaCode不是第一个编程工具,Codex以及GitHubCopilot都给人留下了深刻的印象。

但DeepMind认为,AlphaCode和前辈们大有不同:最近的大规模语言模型展示了生成代码的惊人能力,现在能够完成简单的编程任务。

然而,当对更复杂、看不见的问题进行评估时,这些模型的表现仍然很差,这些问题需要解决问题的技能,而不仅仅是将指令翻译成代码。

与Twitter上截然不同的是,Codeforces高手们却多有抵触情绪。

一位程序员认为:“这个AI真是个菜鸟。

”因为AlphaCode只有1238分,只相当于一个学生水平,一个参加信息学奥赛的中学生也能刷到这个水平。

虽然DeepMind声称AlphaCode是为了辅助人类,但也有程序员开始担心了:现在连刷题的世界都被AI占领,本来这里是程序员们切磋的地方,AI应该适可而止,给程序员们留一片净土吧!参考链接:[1][2][3][4]

  • 记载
背影 2023-05-30 01:01:24

晓查发自凹非寺量子位|公众号QbitAI今天,DeepMind的“Alpha”家族再添一名新成员:会刷编程竞赛题的AlphaCode来了!其实,AlphaCode早在几个月前就“悄悄进村”了,一直没人察觉。

它默默参加了著名网站Codeforces最近举行的10场编程比赛,成绩超过了一半人类。

直到今天DeepMind才公布最终成绩:AlphaCode在这10场比赛中排名前54.3%,Elo评分1238。

更重要的是,在编程比赛这样考察算法创造力的问题中,AI终于不落下风,而这恰恰是AI过去所欠缺的。

如果把这个分数放到过去六个月总体来看,AlphaCode的成绩更为优秀,因为它只刷了10周的题目,就已经达到了前28%用户的水平。

Codeforces是一个由俄罗斯程序员MikhailMirzayanov创办的编程竞赛网站,大约每周举行一次名为“CodeforcesRounds”的编程比赛。

通过Codeforces的Elo评分可以衡量一位程序员的编程水平。

△Codeforces创始人MikhailMirzayanov当看到AlphaCode的成绩后,连创始人Mirzayanov都惊讶不已。

他原本对AI持怀疑态度,因为编程比赛考验的是发明算法的能力,这是最困难的,没想到AlphaCode的结果完全超出了他的预期。

DeepMind发布这条消息仅半天,在Twitter上已经有2000多次转发、5000多点赞。

AlphaCode如何编程说了这么多,下面我们来看看AlphaCode是如何成为“编程做题家”的。

以下是Codeforces上的1553D问题:(链接:)有两个字符串s和t,都是由小写字母组成。

对于字符串s,我们从前向后扫描整个字符串。

如果按下Backspace键,就删除该光标前到上一个未删除字符之间的所有字符。

例如字符串s是”abcbd”,你分别在第一个位置和第四个位置按下Backspace,那么将得到字符串”bd”。

因为在第一个光标位置前没有字符,所以第一次没有动作。

第四个光标位置前的字符是c,上一个未删除字符是a,所以按下Backspace将删除前三个字符”bd”。

好了,现在问题来了:我们能否从前向后扫描一次s字符串,让s变为t。

如果可以输出YES,否则输出NO。

AlphaCode给出的代码是这样的:t=int(input())foriinrange(t):s=input()t=input()a=[]b=[]forjins:a.append(j)forjint:b.append(j)a.reverse()b.reverse()c=[]whilelen(b)!=0andlen(a)!=0:ifa[0]==b[0]:c.append(b.pop(0))a.pop(0)elifa[0]!=b[0]andlen(a)!=1:a.pop(0)a.pop(0)elifa[0]!=b[0]andlen(a)==1:a.pop(0)iflen(b)==0:print(YES)else:print(NO)向以上程序输入4组字符串:4abababaabababbaaaaaaaaababaababa得到的输出是:YESNONOYES在这里,AlphaCode不再是黑箱。

它不仅成功解决了问题,还能将代码和注意力高亮的对应位置显示出来。

一位网友表示:既然AI能看得这么细,那么如果能在代码后面加入注释就更好了。

至于更多的案例,可以去AlphaCode网站观摩。

原理DeepMind说,在Codeforces比赛中所需解决问题的能力,已经超出了现有AI系统的能力。

整个AlphaCode模型的流程如下:用标准的语言建模目标在GitHub代码上预训练一个基于Transformer的语言模型。

这个模型可以合理地代表人类编写代码的空间,大大减少了问题的搜索空间。

在竞争性编程数据集上微调模型,使用GOLD与tempering作为训练目标,进一步减少了搜索空间,并利用预训练弥补了少量的竞争性编程数据。

为每个问题从模型中生成非常多的样本。

对样本进行过滤,以获得一小部分候选提交的样本(最多10个),在隐藏的测试案例上进行评估,方法是利用实例测试和聚类,根据程序行为挑选样本。

总而言之,通过将大规模Transformer模型与大规模采样和过滤相结合,DeepMind在可以解决的问题数量方面取得了重大进展,比之前的工作高出一个数量级。

刷题人士抵触正如Codeforces创始人所说,在编程问题中对算法的发明创造是最难的。

在全球编程比赛网站上常年排名前几的谷歌工程师PetrMitrichev说:解决编程比赛问题是一件非常困难的事情。

它既需要良好的代码技能,也需要人类解决问题的创造力。

AlphaCode不是第一个编程工具,Codex以及GitHubCopilot都给人留下了深刻的印象。

但DeepMind认为,AlphaCode和前辈们大有不同:最近的大规模语言模型展示了生成代码的惊人能力,现在能够完成简单的编程任务。

然而,当对更复杂、看不见的问题进行评估时,这些模型的表现仍然很差,这些问题需要解决问题的技能,而不仅仅是将指令翻译成代码。

与Twitter上截然不同的是,Codeforces高手们却多有抵触情绪。

一位程序员认为:“这个AI真是个菜鸟。

”因为AlphaCode只有1238分,只相当于一个学生水平,一个参加信息学奥赛的中学生也能刷到这个水平。

虽然DeepMind声称AlphaCode是为了辅助人类,但也有程序员开始担心了:现在连刷题的世界都被AI占领,本来这里是程序员们切磋的地方,AI应该适可而止,给程序员们留一片净土吧!参考链接:[1][2][3][4]

背影《背影》由来

编辑
1.背影进入之后,很快,夏天他们就站在了水面之上,和上一个活口的情况一模一样,夏天将...
       2.“徐德川,你这么多年真是白活了,把自己的命交到这么一个毛头小子手里。
       3.“不是,这次低调多了,他的意思是挑战所有百家前十以外的高手,只要是百家前十以外的高手,他都应战。
       4.夏天再次创造了奇迹,他完成了不可能完成的事情,他居然扛住了地级大圆满茅山老怪的全力一击。
       5.升级液!滴答!一滴接着一滴的升级液滴落在武器之上。

背影《背影》起源

<legend date-time="hXzcqCOil"><tt lang="N4J1MEm0D"></tt></legend><legend dropzone="5vGjw7Bl"></legend>
        <dfn id="mbr41nhQk"></dfn>
        1.背影玩家在这款游戏中将会得到很多不一样的闯关体验,每个木筏生存考验关卡等你去进行探索
               2.福利礼包码里面钻石挺多的,当然福利也是非常的丰厚哦,所有的情况都是非常值得去解决的,搞定吧。
               3.这是非常流行的角色扮演游戏。这个游戏的仙境地图非常巨大。你可以自由探索;
               4.搜集赛场上的金币,一个也不要放过,到达一定的条件能够解锁道具,协助你过关。
               5.不同的滑板玩家可以自由选择,在这里画出你的滑板,让它有你的印记,这将会带来更多精彩。
               6.在多种游戏场景中,玩家可以发挥超强的实力和多种对手展开PK。
        参考资料