[返回科技频道首页]·[所有跟帖]·[ 回复本帖 ] ·[热门原创] ·[繁體閱讀]·[版主管理]
AlphaCode惊世登场:编程版“阿法狗”悄悄参赛,击败一半程序员
送交者: 神游八荒[♂★★声望品衔10★★♂] 于 2022-02-03 10:13 已读 2490 次  

神游八荒的个人频道

今天,DeepMind 的“Alpha”家族再添一名新成员:会刷编程竞赛题的 AlphaCode 来了!

其实,AlphaCode 早在几个月前就“悄悄进村”了,一直没人察觉。它默默参加了著名网站 Codeforces 最近举行的 10 场编程比赛,成绩超过了一半人类。 6park.com

6park.com

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

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

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

6park.com

Codeforces 是一个由俄罗斯程序员 Mikhail Mirzayanov 创办的编程竞赛网站,大约每周举行一次名为“Codeforces Rounds”的编程比赛。 6park.com

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

6park.com

△ Codeforces 创始人 Mikhail Mirzayanov 6park.com

当看到 AlphaCode 的成绩后,连创始人 Mirzayanov 都惊讶不已。 6park.com

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

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

6park.com

AlphaCode 如何编程 6park.com

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

以下是 Codeforces 上的 1553D 问题:(链接:https://codeforces.com/ problemset / problem / 1553 / D) 6park.com

有两个字符串 s 和 t,都是由小写字母组成。对于字符串 s,我们从前向后扫描整个字符串。 6park.com

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

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

因为在第一个光标位置前没有字符,所以第一次没有动作。第四个光标位置前的字符是 c,上一个未删除字符是 a,所以按下 Backspace 将删除前三个字符”bd”。 6park.com

好了,现在问题来了: 6park.com

我们能否从前向后扫描一次 s 字符串, 让 s 变为 t。如果可以输出 YES,否则输出 NO。 6park.com

AlphaCode 给出的代码是这样的: 6park.com

6park.com

向以上程序输入 4 组字符串: 6park.com

6park.com

得到的输出是: 6park.com

6park.com

在这里,AlphaCode不再是黑箱。 6park.com

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

6park.com

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

6park.com

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

原理 6park.com

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

整个 AlphaCode 模型的流程如下: 6park.com

6park.com

用标准的语言建模目标在 GitHub 代码上预训练一个基于 Transformer 的语言模型。这个模型可以合理地代表人类编写代码的空间,大大减少了问题的搜索空间。 6park.com

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

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

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

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

刷题人士抵触 6park.com

正如 Codeforces 创始人所说,在编程问题中对算法的发明创造是最难的。 6park.com

在全球编程比赛网站上常年排名前几的谷歌工程师 Petr Mitrichev 说:解决编程比赛问题是一件非常困难的事情。它既需要良好的代码技能,也需要人类解决问题的创造力。 6park.com

AlphaCode 不是第一个编程工具,Codex 以及 GitHub Copilot 都给人留下了深刻的印象。 6park.com

但 DeepMind 认为,AlphaCode 和前辈们大有不同:最近的大规模语言模型展示了生成代码的惊人能力,现在能够完成简单的编程任务。然而,当对更复杂、看不见的问题进行评估时,这些模型的表现仍然很差,这些问题需要解决问题的技能,而不仅仅是将指令翻译成代码。 6park.com

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

一位程序员认为:“这个 AI 真是个菜鸟。” 6park.com

6park.com

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

虽然 DeepMind 声称 AlphaCode 是为了辅助人类,但也有程序员开始担心了: 6park.com

6park.com

现在连刷题的世界都被AI占领,本来这里是程序员们切磋的地方,AI应该适可而止,给程序员们留一片净土吧!

喜欢神游八荒朋友的这个贴子的话, 请点这里投票,“赞”助支持!
[举报反馈]·[ 神游八荒的个人频道 ]·[-->>参与评论回复]·[用户前期主贴]·[手机扫描浏览分享]·[返回科技频道首页]
帖子内容是网友自行贴上分享,如果您认为其中内容违规或者侵犯了您的权益,请与我们联系,我们核实后会第一时间删除。

所有跟帖:        ( 主贴楼主有权删除不文明回复,拉黑不受欢迎的用户 )


    用户名:密码:[--注册ID--]

    标 题:

    粗体 斜体 下划线 居中 插入图片插入图片 插入Flash插入Flash动画


         图片上传  Youtube代码器  预览辅助

    打开微信,扫一扫[Scan QR Code]
    进入内容页点击屏幕右上分享按钮

    楼主本栏目热帖推荐:

    >>>>查看更多楼主社区动态...






    [ 留园条例 ] [ 广告服务 ] [ 联系我们 ] [ 个人帐户 ] [ 版主申请 ] [ Contact us ]