AI自己写代码让智能体进化!OpenAI的大模型有“人类思想”那味了
金磊 梦晨 发自 凹非寺
量子位 | 公众号 QbitAI
搞事情!
AI“看”了一眼GitHub上人类都是怎么提交更新(commit)的,然后就模仿人类程序员修改代码……
最终,这个AI还成功“调教”出了个智能体机器人:
没开玩笑,这种细思极恐的事情,在OpenAI最新发布的一项研究中,就真真的发生了……
原本呢,研究人员要解决的是一个遗传程序设计(GP)问题——让一个智能体机器人学会移动。
(GP是演化计算中的一个特殊领域,它主要针对自动构建程序去独立解决问题。)
但OpenAI剑走偏锋,把自家的大规模语言模型(LLM)放了进来,结果就是一个大大的“万万没想到”。
以前在智能体演进的过程中,人类研究员是需要参与进来做一些细节调整、确定演进方向等工作,让智能体往好的方向发展。
现在好了,这些活儿都让大模型给包揽了,自己学、自己写代码、自己去“调教”:
这事一经论文一作Joel Lehman在网络曝光,瞬间引发了网友们的大量关注:
一位程序员网友在看完后直呼“跟不上(技术)发展的步伐”了:
甚至OpenAI自己都在研究中说:
弥合了进化算法在人类思想水平运行的鸿沟。
那么这件“魔幻”的事情,AI到底是怎么办到的?
看一眼GitHub,AI自己动手敲代码
在虚拟环境中设计可移动的机器人,是遗传算法研究中很火的一个项目。
特别是Sodarace竞赛因为需要的计算量少,过程方便可视化很受欢迎。
规则很简单,由“关节”和“肌肉”组成的机器人在各种地形上赛跑。
OpenAI还特意把整个竞赛程序从专用的遗传编码改写成了Python版本,为了展示新方法对现代编程语言的通用性。
比如这样一段Python代码,就可以作为初始种子机器人。
定义好一个正方形的四个顶点关节、终点关节,相互之间都用“肌肉”连接好后,结果如下。
不过这样方方正正的结构一动都不能动,接下来就需要靠遗传算法对代码做修改。
研究团队认为,用传统遗传算法修改代码VS人类程序员自己动手,在效率上还有两点差距:
一个是软件越来越复杂,人类可以搞模块化的代码复用来应对,而目前最先进的遗传算法也无法在人类使用的编程语言上做到这一点。
另一个是几乎所有遗传算法靠的都是随机突变(mutation),而人类程序员每一次修改代码都带有目的,或者是增加功能、或者是改进效率、又或者是修复bug。
那么有没有办法让AI学习到人类是如何修改代码的呢?
还真有,所需的训练数据都存在GitHub上。
优秀的程序员每次提交代码都会写好commit描述,说清楚这一次提交修改了什么内容。
commit描述配合上提交前后代码对比的diff数据,就是AI绝佳的学习材料。
研究人员筛选出一些描述意图明确、修改的代码量不大的提交数据来训练一个GPT-3架构的AI模型。
相当于让AI向人类程序员学习了如何有目的的修改一段代码。
这篇论文所用的模型也不需要完全版GPT-3的1750亿参数那么大,最高7.5亿参数就足以。
由此得到了基础的AI模型,将在遗传算法中扮演变异算子的角色。
接下来让AI自己设计新机器人的流程总共分三步。
第一步,先用经典的MAP-Elites算法生成一组初始机器人。
这是一种QD(质量多样性)算法,可以保证机器人行为不同且质量都很高。
第二步,用第一步产生的初始数据做预训练,让AI先学会设计出训练数据分布内的机器人。
也就是开头处那张在网上惊艳了众人的动图,展示了AI如何一步步把无法移动的“方块”改造成双腿交替弹跳移动机器人。
第三步,再结合上强化学习算法做微调,让AI能根据不同地形条件生成能适应环境的机器人。
最终,研究人员选取了从最初的三个种子进化而来的机器人做效果展示。
可以看出它们的结构和移动方式都完全不同。
网友惊呼“思路清奇”
这项研究一经公布,可谓是一石激起千层浪。
许多网友都惊叹于这种“大模型+演进算法”结合的新奇方式:
做过与之相关工作的研究人员也表示,从未想过能用大模型以diffs的形式来学习突变:
而除了对研究形式和本身的讨论之外,也有网友配上了这样图:
Emmm……是有点那种味了。
团队介绍
这项研究的团队成员均来自OpenAI。
论文一作是Joel Lehman,是一位机器学习科学家。其聚焦的领域包括人工智能安全、强化学习和开放式搜索算法。
与此同时,Joel Lehman此前基于对人工智能发展的思考合写过一本科学读物《为什么伟大不能被计划出来:客观的秘密》:
而对于这项研究的下一步,Joel Lehman本人表示:
还有一个重要问题,就是模型能够多大程度上应用到其它环境中。
GP中的突变功效现在可以通过ELM大幅提高,这将激发出一系列广泛的新应用和研究方向。
那么这项研究是否也对你产生了新的启发呢?
欢迎在评论区留言讨论~
参考链接:
[1]https://arxiv.org/abs/2206.08896
[2]https://twitter.com/joelbot3000/status/1538770905119150080?s=21&t=l8AASYjgC6RAEEimcQaFog
— 完 —
「量子位·视点」直播报名
随着生物识别技术的发展,数字时代的增强身份认证如何打造?既有安全又有隐私的电子证照如何实现?而人工智能的本质和真正价值将会如何在产业数字化中体现?
6月23日周四,参与直播,为你解答~
点这里
深度强化学习实验室 官网:http://www.neurondance.com/ 论坛:http://deeprl.neurondance.com/ 编辑:DeepRL 近年来,人工智能(AI)在强化 ... 作者:Logintern09 发布时间:2022年10月23日16时 出处:CSDN博客 专栏:<智能优化算法> 书接上回:多智能体进化算法求解带硬时间窗约束的VRP问题(附完整pytho ... 作者:Logintern09 发布时间:2022年8月19日12时 出处:CSDN博客 专栏:<智能优化算法> 前言:研究学习文献<带时间窗VRP问题的多智能体进化算法>,掌握 ... AI免费写代码chatGPT软件Build Software. Fast 文章目录 AI免费写代码chatGPT软件Build Software. Fast 1.软件简介 2.软件安装 3.使用教程 ... 教机器写代码:增强拓扑进化网络(NEAT) 在这篇文章中,我将向大家介绍一种名为增强拓扑进化网络(NEAT)的机器学习方法. 介绍 我喜欢学习.每当遇到从未接触过的书籍或论文,并开始阅读的时候,我都会 ... 乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAI 让代码的归代码,让AI的归AI. 在不写代码就能进行AI开发的道路上,Uber今日又往前踏了一步. 刚刚,Uber宣布开源Ludwig,一 ... 我刚看到这个工具的时候,也是一脸懵x,AI?机器学习?辅助?如果能全自动写出代码得多好,不过真要是这样,在座各位的就业危机就彻底来了. 言归正传,这个工具是-- kite 这是一款IDE插件,使用机器 ... AIGC(Artificial Intelligence Generated Content)登上舞台,以高效.精准.定制化等能力特征,重新定义了内容生产方式. 只需通过4行代码就能实现强大的文图生成 ... Root 林鳞 编译自 DeepMind官方博客 量子位 出品 | 公众号 QbitAI 随着人工智能系统在现实世界中扮演越来越重要的角色,理解不同的系统如何相互作用至关重要. 刚刚,DeepMind ...AI自己写代码让智能体进化!OpenAI的大模型有“人类思想”那味了相关推荐
最新文章
热门文章