刚刚,OpenAI又玩出了一个新高度。
只输入自然语句,AI就自动做了个小游戏!
划重点:不! 用! 你! 编! 程!
来,感受一下这个feel。
第一步,“小人儿”搞里头,输入一句话就能让它按照方向键左右移动:
Now make it controllable with the left and right arrow keys.
![](http://www.openaimy.com/wp-content/uploads/2023/02/434cf6dda452e7176625da4f9e500d7a.gif)
AI在理解了需求之后,自动编程,然后小人儿就真的可以左右移动了。
第二步,“石头”搞里头,同样输入一句话,让它“从天而降”:
Now have it fall from the sky, and wrap around.
![](http://www.openaimy.com/wp-content/uploads/2023/02/a198de302077641d8fb2e5f426fedad4.gif)
第三步,用自然语言简单再制定些规则,若小人儿被石头砸中则终止游戏。
Constantly check if the person and the boulder overlap at all, and if so, you lose.
![](http://www.openaimy.com/wp-content/uploads/2023/02/9b44df03208f872a9f060694bcafceca.gif)
最后还让AI生成结束提示,其中要包括一句鼓励人的话。
AI挑中的是“Try Again!”
当然,还有规则更复杂的小游戏(例如增加计分等功能),也可以用同样的方式,分分钟生成:
![](http://www.openaimy.com/wp-content/uploads/2023/02/ed6dd1b6cf42ea02b2f9e6692583559f.gif)
这是魔法吧!现在开发小游戏都靠“打字”了?!
围观直播的观众们,也是发出了同样的感慨,瞧瞧这满屏止不住的弹幕:
![](http://www.openaimy.com/wp-content/uploads/2023/02/35f0ee6c904ac9312b6ba38c3337e88c.gif)
有网友甚至直呼道:
编程,已经变成AI自己的游戏了。
这就是OpenAI重磅发布的新品——Codex,一个能自己编程的AI。
AI编程这事并不新鲜了,像GitHub前不久闹得风风火火的Copilot,就是其中一个。
但它背后的技术,其实还是来自于OpenAI。
然而这一次,OpenAI给自己的能力升了个级,来了个新版本。
不仅如此,搞一个小游戏,仅仅是Codex能力的冰山一角罢了。
一起感受一下它更多惊艳的表现吧。
不用打字,直接语音命令它!
给AI打字“提需求”,还是略显麻烦了一些。
能不能直接说话下达命令呢?
这个还真可以有!
OpenAI这次与微软合作出了一个Word插件,便带了这种语音控制的功能。
直接对着AI下命令“把每行开头的空格去掉”,AI通过微软给的接口一顿操作,成功执行:
![](http://www.openaimy.com/wp-content/uploads/2023/02/6254830ce36c0ee4ecf7b24f9b9e66c3.gif)
啪的一下,全文就左对齐了有木有。
而且AI还精准地理解了命令的含义,那些段与段之间的空行并没有改动。
来再复杂一点的。
给AI下达“每数到五行就加粗”命令,也是能轻松hold得住:
![](http://www.openaimy.com/wp-content/uploads/2023/02/aa4f368ecc0fbec72e13ea697318eb45.gif)
这种把任务吩咐下去,就有“人”给你完成的感觉,是不是很像老员工指挥实习生?
总之呢,是比罗永浩前几年发布的TNT系统语音办公要强上那么“亿”点点了。
除了官方的演示,这次内测用户aniakubow,还让AI表演了通过152字描述生成一个网页。
![](http://www.openaimy.com/wp-content/uploads/2023/02/269ad644d8372b5c099b57b361f6543e.gif)
可以看出这里Codex是用Javascript操作Document对象来生成网页,可能是训练集里没有直接的HTML代码的缘故吧。
最后,除了现场演示外,OpenAI还在Arxiv上发布了Codex的论文预印版。
论文中,Codex要面对的挑战甚至有刷IOI和ACM难度的竞赛题!
Codex用对每道题生成1000种答案这种暴力方法,能做出600多道竞赛题测试集中的3.23%,并且通过全部的测试用例。
这个编程题目测试集是UC伯克利研究人员在5月份刚刚做好的。
当时测试的GPT-2、GPT-3和开源的GPT-Neo可是在竞赛难度上全军覆没,一道都没做出来。
没想到短短两个多月,专为代码而生的Codex就为前辈们洗刷了耻辱。
Codex的“魔法”,是如何实现的?
这么炫酷的能力,莫非还是像GPT-3一样堆数据,大力出奇迹吗?
不全是,这次Codex最大的一个版本是120亿参数,比起GPT-3的1750亿还是小了很多。
要了解具体情况,还要从它的开发历程说起。
最早,OpenAI研究人员拿GPT-3做各种试验,发现GPT-3能从Python注释中生成一些简单的代码。
这可把他们高兴坏了,因为GPT-3根本没特意拿代码训练过,只是看过一些博客和帖子中零星的代码片段。
想想GPT-3在自然语言上的出色表现,要是专门训练一个代码版的GPT-3,那肯定也能再次震惊业界。
于是,他们找到了GitHub,这个拥有最多开源代码的“小伙伴”来合作。
一开始是拿到了179G的Python代码,但其中不乏存在一些篇幅太长的,以及明显是自动生成的那种。
在剔除掉这些“不达标”的代码后,最后留下的代码大小为159G。
接下来当然是做预训练,把这些代码都喂给AI (Codex)。
不过这里有一个问题:
GitHub上的开源代码难免会有Bug,AI学了一堆有问题的代码可咋办?
其实这倒也好说,预训练之后不是还要微调嘛。
微调的时候,全用编程竞赛里的正确答案,以及PyPI里的靠谱开源代码就可以了。
最后,120亿参数版的Codex,能对28.81%的问题给出正确答案。
这个准确率超过之前的开源代码预训练模型GPT-Neo和GPT-J,还有基于GPT-2的代码补全工具TabNine。