生物智能的产生,一直以来被定义为奇迹和谜团。 从宇宙的一片尘埃开始,人类的演化花费了数十亿年的时间。很难想象,你我均起源于出现在地球上的单细胞生物。 时至今日,人类凭借自身的智慧,创造了地球上最繁荣的文明。同时,这一演化仍在继续,远没有走到尽头。 但演化的方向已经悄然改变:下一代文明的方向,将由人类亲手创造的智能体来探索。 由此引出一个问题:人类智能与人工智能,谁的上限将会更高? 过去数十年,研究者夙兴夜寐,将无数人类智慧灌注其中,不断将人工智能的能力上限抬高。一个刚刚诞生的智能体,就像一个初来世间的婴孩,即使懵懂,却蕴藏着无限潜力。在永不停歇的演变之后,人们普遍认为,智能体终将超越人类。 这种演化规律,在OpenDILab平台的开源历程中体现得淋漓尽致。它的源起,是几位算法研究员的一次跨界设想,是面向最复杂的竞技游戏的一场挑战。仅仅过了两年多时间,今天的OpenDILab已演化为覆盖最全学术界算法和工业级规模的国产决策智能开源平台。它为整个决策智能领域开辟了一个全新的开源社区,这个社区正在以惊人的速度生长。 项目地址:https:github。comopendilab 2022年6月12日,《星际争霸II》前中国冠军IG战队的iA,又一次登陆了斗鱼直播间。这么久不见,人们发现,iA竟然开始讲PPT了。 两年之前,iA低调退役。两年之后,电竞少年归来,已是AI研究员,还带来了目前已开源项目中实力最强的《星际争霸II》AIDIstar。 直播录像:https:www。bilibili。comvideoBV15T411G7xD?spmidfrom333。999。0。0 一个多小时的直播里,iA演示了多场对局。在所有演示中,DIstar均表现出人类最高段位Grandmaster分段的竞技水平。 惊喜的是,DIstar的决策能力相当灵活,屡次在复杂对局中快速找到最优策略。比如与前世界冠军Scarlett对战时,DIstar使用了女王前压这种不常见于人类的战术,出奇制胜: 此时,距离DIstar及其背后的决策智能平台OpenDILab开源已经有一年了。 2022年9月,OpenDILab正式升级为1。0版本,幕后团队两年多来的心血,全部凝聚于此。 白手起家 所有的故事都从2020年的第一个月开始。一群来自中国的算法研究员和工程师,在人脸识别的数据海中摸爬滚打多年之后,决定跳出舒适区,做一点探索未来的事。 比如,从零开始打造一个星际争霸AI。 在当时的AI学界眼中,决策AI是不同于计算机视觉等感知型AI的另一道难关,而《星际争霸II》一直被看作检验AI决策能力的绝佳舞台,也是AI争相挑战的珠峰。 星际争霸系列游戏能保持20多年长盛不衰,一部分原因就在于其丰富的多层次游戏机制。《星际争霸II》的空间复杂度高达10的1685次方,远超围棋10的170次方复杂度。对于AI来说,这是一个非常接近现实世界的虚拟环境。 开源社区是助力AI发展的重要因素之一,而在项目的开始阶段,DIstar的开发者们准备好了充足的算力和资源,却发现星际争霸AI的开源生态基本是一片空白,只能找到DeepMind公开的原版论文,非常多的技术细节都有待考证。就好比老师教了你九九乘法表,却突然让你做一道微积分的作业题。 DIstar的开发者们首先调研了各种已有的强化学习开源平台,但发现开源的算法、工具等基本都是围绕小而精的学术研究,压根没有星际争霸这种大规模环境的开源项目。 没有轮子,就立马动手造一个,这才是极客精神! 于是乎,DIstar的开发者们拿着之前自己在计算机视觉任务上积累的经验,想要一定程度的知识复用。但很快他们就发现,这不只是个脱离舒适区的问题,这简直是一脚踏入深水区,每天都会诞生新的灵魂拷问: l原本规规整整的张量图片,却变成了高度结构化且动态变化的游戏信息; l原本直筒式简简单单搭积木的神经网络设计,却变成了复杂多样的毛线团网络设计比赛; l原本轻易扩展的分布式训练架构,却变成了多种硬件和计算模式混合的大杂烩系统 在不断以一日速成法了解各类游戏AI设计和分布式系统设计知识后,团队总算是搭出了第一版能正常运行的分布式训练系统,这也是之后OpenDILab的最初原型。 只不过还有一件事让人犯愁:到底怎么让AI学习打星际的技巧呢?这需要集深度学习、强化学习、游戏AI三方面的技术和力量。 技术可以后天努力学习,游戏天赋可真是命中注定,于是,他们找到了中国星际的传奇人物:iA周航。于是,几个基本对决策AI零基础的人,构成了DIstar项目的最初班底。 最初几乎训练不出来任何哪怕有正常操作的AI。DIstar团队一度很头疼。没办法,前半年只能一点一点解bug,慢慢地教。发现一个不合理的AI行为,就从游戏录像中开始分析,对应到具体的游戏操作,解析游戏引擎内存中的数据片段,再一步步追根溯源,最终分析到神经网络里具体某个神经元的激活输出,从而定位到代码实现和算法设计的相关问题。 程序是不会骗你的,只要你用心去凝视它。像上面这样一环扣一环,非常需要高度集中心力的细节分析,在DIstar的前期阶段,几乎是天天都有。 终于,经历了半年的艰苦奋斗,2020年6月,DIstar已经能够击败简单的电脑。2020年7月,团队进行了DIstar第一次人机内测,AI战胜了一位刚刚入门《星际争霸II》的研究员。 步入正轨之后,就要去探索AI的上限究竟在哪里。DIstar团队希望在整个系统的各个环节中都做到极致:不仅仅是复现最强的决策AI问题,而是尽其所能去尝试每种可能性。有人从神经网络角度,设计更稳定的大批量样本优化技术和高效处理动态决策空间的网络层,有人从强化学习优化方向,精心调控探索和利用的多方面平衡,有人从游戏AI领域,融合即时战略类游戏的百家之长,将AI的微操优势培养到新的境界,有人从系统效率出发,做各种资源的权衡,存储网络计算,一切能想到的办法都用来优化训练效率。 在集合整个团队的技术积累之后,历经人类录像模仿学习和自我博弈强化学习两个阶段,总计一亿局星际对局,五周的最终训练时间,2021年6月,DIstar终于战胜了DIstar的创造者之一周航本人。之后,周航又拉来一些职业电竞时期的老朋友跟DIstar打,包括MMR6000分的中国最强虫族选手Rex。 好消息是,DIstar都赢了,没辜负一年多来的苦练。 从星际AI到开源平台 路行至此,接下来又该怎么走? 极客探索归探索,但想把技术做长久做出影响力,复盘是必不可少的。而在当时的马拉松复盘会中,研发团队一致的观点是:必须积累足够扎实的技术工具链。DIstar中的小农式精耕细作太难复制也太难推广了,需要能有让决策AI技术真正大放光彩的基建工作。那么自然的,做一个决策智能开源平台和生态,就成了大家新的目标。 更具体一点,在算法方面,哪些技术适合在前期探索智能体策略的多样性和潜力,哪些方法适合作为最终超大规模强化学习训练的核心模块;在系统方面,哪些系统设计既能提高采样效率又能对大规模强化学习的优化效率带来帮助,什么样的设计可以易用快速的算法迭代和想法验证。所有上述这些积累的经验和知识,都是有价值被沉淀下来的东西。 光是教会AI玩《星际争霸II》并不是最终目标,探索决策AI的能力边界,学会面对更加复杂的真实世界,才是在青春年月值得去拼搏的事。基于这样的初心,后续成立的OpenDILab团队以DIstar为起点,开始进一步探索如何做开源。 当时决策智能领域的开源生态,比起CV、NLP这些成熟的研究领域,的确差了不是一点半点。 不过对于整个决策智能领域来说,开发者最需要的不只是某一套代码,也不仅是某一个工具包。这个领域,正需要一个功能全面、便捷易用的开源平台。 但如何设计一个能满足广大研究者需求的平台,是需要认真考虑的问题。 这时,更多学术界、产业界的决策智能研究痛点进入了团队成员们的视野: 与感知智能不同,决策类问题通常涉及处理诸如图像、语音、结构化数据等多种复杂模态的数据类型。此外,单机单卡与多机多卡甚至跨集群计算的决策AI计算逻辑也完全不同。不同任务间的最优算法配置也差别较大。对于决策智能,这些问题很难标准化。 还有一个客观现象:关于决策智能的问题定义和研究视角,学术界和工业界之间的差距是很大的。很多前沿的理论算法缺少环境和计算pipeline上的通用性,只能局限于toymodel级别的实验环境,无法迁移到真正的工业场景中。 因此,团队最终对开源平台的期望是:既要在学术算法层面做到最全最广的覆盖和统一,又要将这些算法真正发挥到相应的实际场景中去,解决各个其他领域的工业级应用问题。当然,想要兼顾两者是一件极为困难的事,系统和平台设计本身就是在做各种各样的权衡,而开源社区正是帮助平台成长和不断进化的重要力量。 这将是一项产生长期价值的工程,力求将技术的广度和深度都推到极致,将成千上万开发者的智慧与努力集合起来,在各行各业中演化出无限可能。 人人可用的开源决策智能平台 2021年7月,DIstar及其衍生出的决策智能平台OpenDILab在GitHub正式开源了。 在最初发布的OpenDILabbeta版本中,自上而下覆盖了应用生态层、算法抽象层、分布式管理层和分布式执行层,还支持从单机到上万级别CPUGPU联合训练的全尺度调度系统优化,将OpenDILab团队自DIstar项目以来积累的各方面技术和知识完全开源开放出来。然而开源社区的构建是需要不断打磨的,beta版本在各种各样的权衡中遗留了一些上手难度问题,而在这一年多开发者与开源社区的共同努力下,OpenDILab1。0版本在易用性、效率、多元化等方面都展现出了新的思考和理解。 项目地址:https:github。comopendilab 其中,OpenDILab推出了一系列面向不同目标的开源库: 最底层的DIengine及相关系统支持库致力于解决决策AI在环境,算法,计算尺度三个方面的标准化问题,它首先提供了在40不同类型决策环境上的最佳实践,可作为不同领域研究者应用强化学习技术的最佳模板,还汇聚了8大研究子方向的60决策智能算法,将深度强化学习,多智能体博弈,离线强化学习和模仿学习等领域一网打尽,而上述这些环境和算法,都可以在统一的系统执行设计下高效实现,并根据任务特性自适应地调整资源利用的最佳方案。 中层的算法与模型抽象层DIzoo整合了OpenDILab在各个领域应用决策AI算法的相关经验,将算法理论,代码实现,应用领域知识一一对应在一起,并在AutoML工具的支持下,帮助开发者构建统一且标准的基准方案,也很大程度上降低了初学者的入门门槛。 在应用生态层,既有DIstar这样面向于虚拟世界即时战略类游戏的大规模强化学习训练方案,包含完整的训练、测试和应用原型代码细节,还开源了包含感知决策全流程的自动驾驶平台DIdrive,朝着决策AI落地应用的方向前进。 自开源以来,OpenDILab已经收获了4500多个GitHubstar。DIstar也被列入GithubTrendingPython语言优质开源项目。 多智能体决策智能领域的ImageNet 决策智能的落地通常会受到训练平台、仿真环境两方面的挑战。OpenDILab是好用的,但它暂时只解决了训练平台层面的一部分问题。 那么,仿真环境的问题怎么解决呢? 为了让更多人参与到决策智能的探索中来,OpenDILab搞了一场GoBigger挑战赛。通俗地讲,这其实是一场决策AI版的大球吃小球挑战赛。 在GoBigger挑战赛里,每局时长十分钟,大球吃掉小球会获得更大重量和体积,但同时需要避免被更大的球吃掉。球的类型包括分身球、孢子球、食物球、荆棘球,这四种球的决策路径是不同的。 每个队伍都需和其他队伍对抗,总重量更大的团队获胜。 这个游戏环境看起来简单,但其实非常考验多智能体之间的配合和对抗,包括权衡同一团队中的个体行动与合作行动、不同团队间的合作与竞争、表征和交换与其它智能体的环境信息等,体现了很高的决策复杂度。 有意思的是,GoBigger游戏设计了球球对抗时间、成长加速度、分裂、消失、衰亡等约束条件,这种情况其实广泛存在于现实世界,比如在人的生命周期中,我们都需要在不同的人生阶段,在各种约束条件下进行协作、对抗,做出最利于自身的决策。球球和人类之间,由此产生了一种微妙的关联。 在AI领域,很多研究问题的真正被定义和解决,都经历了从球球到真实世界的模拟过程。 比如计算机视觉领域的经典之作ImageNet。上海人工智能实验室青年科学家、商汤科技高级研究总监、OpenDILab项目发起人刘宇表示,在ImageNet比赛之前,数据集都非常小,学术界很难定义产业界真正需要的算法问题。但ImageNet提出了全新的挑战,在海量数据上定义的研究问题与真实世界中真正应该被解决的问题更加贴近了,加上算力条件的提升,成就了后来计算机视觉的蓬勃发展。 对于今天的多智能体决策智能领域来说,学术界和产业界都在等待着像ImageNet这样具备公认的问题定义能力的项目出现,而OpenDILab希望GoBigger能担起这一重担。 有人可能会问,既然开源了DIstar,为什么不直接办一场星际争霸AI挑战赛? 这也是从现实因素出发来考虑的,毕竟训练一个星际争霸AI需要太多的算力消耗,对于一般参赛者来说实在不友好。 GoBigger的定位是人人可以参加的中型游戏AI竞技环境。相比学术界常用的Atari、MuJoCo、SMAC,GoBigger的环境规模更大,但又可以在小型的实验室中完成,用一台机器、一块GPU就能训练起来。这样一来,参赛者就能把更多精力聚焦到探索多智能体协作能力的算法上。 即使如此,从零开始实现比赛要用的算法和训练流程还是很复杂的,而OpenDILab平台提供的决策AI框架DIengine正好帮助开发者简化了这一过程。 开发者们基于DIengine为GoBigger设计实现了多种类型的基准算法,包含多智能体协作,稀疏奖励引导,记忆化探索和计算效率提升等多个方面。 走进现实世界 在工业应用这块,OpenDILab也没松懈,推出了自动驾驶领域内第一个支持多种仿真器和多种决策智能算法的开源研究平台DIdrive。 之所以选择自动驾驶领域做开源,OpenDILab有自己的思考: 第三次发展浪潮之后,AI技术已经进入从感知智能到决策智能演变的关键节点,决策AI技术的突破也到了在实际场景部署和应用的阶段。任何前沿的学术理论,都要走到现实世界当中去,才能产生更多的价值。 可以说,决策AI技术应用的成功与否,直接决定了这一技术在产业界的认可程度,反过来,应用领域的难题也可以指导决策AI理论的演进。 另一方面,生态构建的成功与否体现了决策AI技术的应用门槛、其通用能力和泛化能力以及对不同任务的适应能力。应用生态也可以更加广泛地拓展决策AI的应用领域,打通不同应用领域所面临的问题和挑战。 自动驾驶是当前人工智能的热门研究方向。决策、规划与控制是自动驾驶任务的大脑,一向被各大公司视作高度保密技术。如果是一位普通开发者,就算想深入了解也难。 所以,OpenDILab综合了大量自动驾驶决策AI的方法,抽象出基本涵盖现有自动驾驶方法的一套流程,做出了自动驾驶领域第一个开源的、人人可以参与的研究平台DIdrive。 目前,DIdrive已在自动驾驶端到端仿真任务上取得若干算法突破。对于一系列核心技术突破,OpenDILab不作保留,全部开源。 比如自动驾驶策略InterFuser,该策略基于Transformer进行多传感器融合,并使用了可解释性特征来增加自动驾驶的安全性。 我们都知道,在高交通密度的场景中,会有大量的障碍物和动态物体参与决策。在这些情况下,一些部署的自动驾驶系统可能表现出不正确或意外的行为,导致灾难性的事故。 比如行人突然从路边出现、通过路口时遭遇意外车流(闯红灯等),这需要更好地理解多模态多视角传感器输入下的场景。另外,如何验证决策过程也是个问题,换句话说,识别系统的功能故障情况以及故障原因,这需要决策系统的可解释性。 OpenDILab模拟了大部分情况,基于自动驾驶研究的开源模拟器CARLA进行了测评,InterFuser显示出良好的问题处理能力: 等红灯 转弯 在最新的CARLALeaderboard排行榜中,OpenDILab提出的自动驾驶策略InterFuser取得了Top1的成绩。 InterFuser在CARLALeaderboard上的排名 lInterFuserarXiv论文地址:https:arxiv。orgabs2207。14024 lInterFuserGithub项目地址:https:github。comopendilabInterFuser 此外,OpenDILab还针对自动驾驶开发了一套贴近真实的驾驶场景Casezoo,所涉及的驾驶场景均由实车数据和路测案例转化而来。他们在多种贴近真实的驾驶环境中训练和测试了决策模型,有效促进自动驾驶领域仿真研究在实车环境中的推广和应用。 图注:Casezoo为自动驾驶模拟提供更接近真实的驾驶场景 与此同时,OpenDILab也在探索新的决策智能应用领域和方法,如金融领域的反欺诈和交易,电网、港口等场景的资源调度和优化,生物领域的合成搜索和预测等。一系列重磅成果,均在酝酿之中。 不断进化的OpenDILab 一年时间过得很快。Beta版本开源之后,OpenDILab团队一直在根据开发者社区的反馈改进。 经过多次完善后,近日的WAIC2022大会上,OpenDILab1。0版本正式问世。 OpenDILab框架图 项目地址:https:github。comopendilab 整体来看,OpenDILab1。0有三大升级特点: 1。易用高效的大规模决策智能训练系统:具备插件化的扩展能力和友好的分布式能力 2。当前世界上最全面的标准化决策AI平台:一个平台整合所有RL研究领域,一套框架服务多种决策AI问题,最全最强算法集(1个架构,8大研究方向,40环境,60算法,70专利) 3。到手即用的工业应用生态:决策AIX的最佳实践,助力各行各业实现关键的技术和应用突破。 在计算机视觉领域,标准化做得很好,比如所有数据模态都可以用非常规整的Tensor来表示,所有任务都可以在batch维度同步forward和bp(BackPropagation)的神经网络来处理,比如PyTorch和TensorFlow。而在数据模态高度结构化,训练过程高度异步化的决策智能领域,我们希望做的也是这样一件事。刘宇表示。 硬核升级之外,OpenDILab也更加注重易用性和便捷性,为社区内的开发者提供了更加详尽的上手教程。值得一提的是,OpenDILab将于今年10月推出从应用场景出发的PPOxFamliy入门公开课,课程内容主要从一个PPO解决绝大多数的常规决策问题,根据算法原理,代码实现,实际应用三者的一一对应来设计,即使你只是一枚想入门决策AI的萌新,或者只是一位想用决策AI技术解决某个实际问题的非内行工程师,都可以通过该课程和OpenDILab平台获得在算法、系统、工程等经验和工具支持。 我们也了解到,同在WAIC2022发布的SenseMAP商汤多智能体平台,在搭建过程中也用到了OpenDILab开源的多项前沿技术。 在WAIC2022的企业论坛中,刘宇介绍:我们利用OpenDILab作为基建之一构建了商汤多智能体游戏AI平台SenseMAP,同时OpenDILab也支持了我们在游戏、电力调度、自动驾驶和货运调度等领域的业务应用。 刘宇认为,只有一项技术的门槛明显降低,更多人才有机会入局。 纵观人类技术发展历史,真正带动整个社会往前走的机会,未必出现在某种技术诞生的那一刻,更多是这项技术能够得到普及之后。这正是OpenDILab的开源初衷。