AI已经会刷LeetCode了

新闻 人工智能
GPT-Neo来自EleutherAI团队尝试复现GPT的开源项目。虽然参数规模比GPT-3小得多,但训练数据包含了更多技术网站,比如Stack OverFlow和Stack Exchange等,这可能是它在代码生成上胜出的原因之一。

 

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

你在面试中会遇到的那种算法题,AI已经能自己解决了,比如下面这道题:

对于一个记录论文引用次数的数组,每个元素都是非负整数。请写出函数h_index,输出这些论文的h指数,即至多有h篇文章被至少引用了h次。
例:
输入: [3, 0, 6, 1, 4]
输出: 3

AI给出的Python答案是这样的:

AI已经会刷LeetCode了

除了排序没用counts.sort(reverse = True)让人看着血压升高,算是顺利通过测试:

AI已经会刷LeetCode了

来自UC伯克利的研究团队,将上面这道题被归为“面试级”难度(看来国外程序员面试题有点简单)。

此外还有更简单的“入门级”和更难的“竞赛级”,总共5000道题的测试中,AI能做出15%

另外有人声称,他专门用GPT-2训练了个专门做LeetCode的AI,能完成80%

AI已经会刷LeetCode了

在刷LeetCode的你,是否在颤抖?

AI已经会刷LeetCode了

GPT-Neo赢过GPT-3

本研究使用的题目形式是自然语言题干,不同于以往研究常用的伪代码和代码之间翻译。

AI已经会刷LeetCode了

题目是从Codeforces、Kattis等刷题网站收集的10000道题,5000道用于训练,另外5000道作为测试集。

题干的平均长度为293.2个单词,在测试集中每道题平均有21.2个测试用例。

AI已经会刷LeetCode了

入门级难度的题不需要复杂算法,有1-2年经验的程序员都能回答的那种,有3639个。

面试级难度的题会涉及数据结构,比如树或者图,或需要修改常见的算法,有5000个。

剩下的是竞赛级难度,达到USACO、IOI和ACM等竞赛的水平。

研究人员分别训练了GPT-2的1亿参数版和15亿参数版、GPT-3以及“高仿版”GPT-Neo

参数规模“只有”27亿的GPT-Neo和更低的GPT-2在测试用例通过率上,表现却比1750亿的GPT-3还要好。

AI已经会刷LeetCode了

严格模式下,通过所有测试用例才算完全正确,成绩最好的GPT-Neo只通过了1.12%,不过这也有56道题了(反正比我强)。

AI已经会刷LeetCode了

GPT-Neo来自EleutherAI团队尝试复现GPT的开源项目。

虽然参数规模比GPT-3小得多,但训练数据包含了更多技术网站,比如Stack OverFlow和Stack Exchange等,这可能是它在代码生成上胜出的原因之一。

至于GPT-3为什么表现还不如GPT-2,有人猜测可能是它见过的文本太多,虽然擅长生成自然语言,但在逻辑和解题方面过拟合了。

AI已经会刷LeetCode了

如何评价AI“做题家”

论文一发出来,吃瓜群众脑洞大开。

如果我没通过面试但我写的算法通过了会怎么样?

AI已经会刷LeetCode了

有人回答他:

没关系,你还可以当你算法的助手。

还有很多人给出下一步建议,比如不用自回归的GPT,改用自编码语言模型会怎样?比如CodeTrans

AI已经会刷LeetCode了

或者,再用一个GPT专门生成自己回答不出来的问题。

AI已经会刷LeetCode了

△矛盾相争是吧

乐观的人认为这是解放了人的创造力,未来编程是关于写更少的代码,做更多的架构、工程。

AI已经会刷LeetCode了

有人畅想,只需要描述需求就能生成代码可太爽了。

嗨IDE,用我的数据库做一个JavaScript的增查改删,要带测试。

AI已经会刷LeetCode了

△Ruby on Rails直呼内行

悲观的人却认为,将来有一天,人类程序员只能做做维护工作和评审机器生成的代码了。

AI已经会刷LeetCode了

面对AI“做题家”,你怕了吗?

论文地址:
https://arxiv.org/abs/2105.09938

数据集地址:
https://github.com/hendrycks/apps

自动刷LeetCode项目:
https://github.com/gagan3012/project-code-py

 

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2014-07-28 16:13:19

Gitlinux开源

2020-12-30 10:02:11

机器狗人工智能波士顿

2022-03-14 13:59:49

PyTorchTensorFlowAI

2022-07-20 13:55:28

算法AI人工智能

2018-07-16 14:19:44

AI银行人工智能

2018-03-05 14:55:49

人工智能 无人驾驶机器人

2022-12-19 13:29:54

2020-04-20 10:08:22

AI 代码开源

2014-03-11 10:03:25

设计模式

2017-11-22 09:22:00

AI智能机器学习

2011-04-08 10:31:24

Linux微软

2021-06-28 09:56:54

微软AI编程

2022-09-26 08:09:11

DBA硬件Oracle

2023-09-16 13:30:37

AI训练

2021-04-12 10:09:34

AI 数据人工智能

2019-05-07 15:49:27

AI人工智能艺术

2022-05-16 14:22:54

人工智能通信监听

2023-07-06 14:09:04

AI网络安全

2010-09-26 13:53:41

智能手机Android诺基亚

2021-09-26 17:18:49

AI GPT-3人工智能
点赞
收藏

51CTO技术栈公众号