基于人群的多智能体深度强化学习(PB-MARL)方法已在游戏AI中成功验证,如星际争霸和王者荣耀,MALib是第一个开源的PB-MARL大规模并行训练框架。MALib支持多种种群训练方式(例如self-play、PSRO、联赛训练),实现并优化了常用的多智能体深度强化学习算法,大大提高了训练效率,同时减少了研究人员的并行工作量。此外,基于Ray的底层分布式框架,MALib实现了全新的集中式任务分发模型。与常见的多智能体强化学习训练框架(RLlib、PyMARL、OpenSpiel)相比,相同硬件条件下的吞吐量和训练速度提升了数倍。现阶段,MALib已接入常见的多智能体环境(星际争霸、谷歌足球、棋牌游戏、多人Atari等),并将进一步为自动驾驶、智能电网等场景提供支持。项目主页:https://malib.io。在深度学习领域,计算能力一直是我们关注的焦点,也是影响人工智能算法落地的关键因素。在很多应用场景下,充足的算力支持可以显着加快算法从提出、训练到实现的效率,比如使用OpenAIFive的亿级参数,其日GPU计算使用量为770±50~820±50PFlops/秒。在深度强化学习领域,随着应用场景从单智能体扩展到多智能体,算法的复杂度也呈指数增长,这对算力需求也提出了新的挑战,需要更多的计算资源。能够被调用。特别是当要处理的问题规模涉及大量智能体时,单机训练算法的可行性明显下降。多智能体强化学习是解决与群体智能相关的问题,其研究往往涉及群体中智能体之间的合作与对抗。目前,涉及大规模代理和复杂多样交互的真实世界任务应用很多,例如军事场景中的人群模拟、自动驾驶和无人机群控制:CrowdSimulation(http://gamma.cs.unc).edu/CompAgent/imgs/sitterson3.jpg)。自动驾驶(https://github.com/huawei-noah/SMARTS/blob/master/docs/_static/smarts_envision.gif)。无人机群(https://defensesystems.com/-/media/GIG/Defense-Systems/Web/2015/JanFeb/CODEdrones.png)。在算法方面,解决此类群体问题的一个重要途径是基于群体的多智能体强化学习方法,这也是MALib现阶段的重点。基于群体的多智能体强化学习(Population-basedMARL,PB-MARL)涉及多个策略集交互问题。下图展示了一般意义上的基于组的多智能体强化学习算法的主要流程。PB-MARL算法结合了深度强化学习和动态种群选择方法(如博弈论、进化策略)自动扩充策略集。PB-MARL通过这种方式可以不断产生新的智能,因此在一些复杂的任务中取得了不错的效果,比如实时决策游戏Dota2、StrarCraftII、纸牌任务LeducPoker等。但在实际问题中,目前的多智能体强化学习算法与其应用还存在差距。一个亟待解决的问题是算法在大规模场景下的训练效率。由于种群算法与多智能体算法天生耦合,其训练过程对数据的需求量巨大,因此还需要一个灵活、可扩展的训练框架来保证其有效性。如何提高算法训练效率?对于很多依赖深度学习技术的领域来说,面对更大的任务规模和更多的模型参数,需要引入额外的技术来提高训练效率。分布式计算是最直接的考虑方法。通过多进程或多机的方式,可以提高算法对计算资源的使用效率,从而提高算法训练的效率。分布式技术在深度强化学习领域的应用也催生了分布式深度强化学习领域。其研究重点包括计算框架的设计和大规模分布式强化学习算法的开发。近年来,为了更好地训练大规模深度强化学习算法,研究人员开发了更专用的训练框架,通过抽象算法接口和系统设计,支持更复杂的实时数据采样和模型训练。和推理需要。然而,分布式强化学习技术的发展似乎并没有触及群体智能的问题。事实上,现有的分布式强化学习框架对于通用的多智能体强化学习算法的分布式计算支持是完全不够的。典型的分布式强化学习框架如RLlib、Sample-Factory和SEEDRL在设计上都将多智能体任务视为单智能体任务,同时忽略了多智能体算法之间的异构性。对于其他强调主体交互的学习范式,如集中训练(centralizedtraining)、基于网络的分布式算法、具有通信功能的协同算法等,都没有明确的支持,也缺乏相应的统一接口来简化算法实现.和培训过程。因此,当研究人员想要探索更多类型的多智能体强化学习算法的分布式训练时,往往需要进行大量额外的编码工作。对于多智能体强化学习算法框架的开发,现有的工作更多的侧重于算法的实现,并不太关注算法在大规模场景下的可扩展性,或者更多的是针对特定场景进行设计。PyMARL、SMARTS等算法库、框架更倾向于服务于专业领域的benchmark,大部分框架在算法类型上并不全面。因此,对于多智能体强化学习算法框架的支持,一直缺乏一个比较完善的框架来打通算法实现、训练、部署和测试的过程。我们认为造成以上两种发展现状至少有两个主要原因:(1)一是多智能体算法本身在结构上具有高度的异构性,导致其接口实现的一致性和可重用性。算法(2)另一方面,也是因为多智能体分布式算法还处于早期探索阶段。此外,在分布式部署方面,现有的分布式强化学习框架支持自主学习算法更加友好、自然和直接。就像分布式技术在机器学习领域的应用一样,要解决分布式技术在大规模多智能体强化学习领域更深层次的应用,算法和框架都是必不可少的,两者相辅相成。在算法方面,一个重要的途径是基于组的多智能体强化学习方法,这也是MALib目前正在关注的方向。基于群体的多智能体强化学习(Population-basedMARL,PB-MARL)涉及多个策略集的交互。下图展示了一般意义上的基于组的多智能体强化学习算法的主要流程。PB-MARL算法的特点是结合深度强化学习和动态种群选择方法(如博弈论、进化策略)进行自动策略集扩展。通过这种方式,PB-MARL可以不断产生新的智能,在解决一些复杂的任务上取得了很好的效果,比如实时决策游戏Dota2、StrarCraftII、纸牌任务LeducPoker等。但是,正是因为种群算法与多智能体算法天生耦合,使得这类算法在训练过程中对数据有着巨大的需求,因此还需要一个灵活、可扩展的训练框架来保证其有效性。论文链接:https://arxiv.org/abs/2106.07551GitHub:https://github.com/sjtu-marl/malibMALib框架图为了满足这些需求,我们从三个方面提出了MALib,用于大规模群多智能体强化学习算法的解决方案:(1)集中任务调度:训练任务自动递进生成,作业过程半主动执行,提高训练任务的并行性;(2)Actor-Evaluator-Learner模型:解耦数据流,满足多节点灵活的数据存储和分发;(3)从训练层面抽象多智能体强化学习:尝试提高多智能体算法在不同训练模式之间的复用率,如DDPG或DQN可以很容易地嫁接到集中式训练模式中。集中式任务调度模型(c)与以往分布式强化学习框架调度模型对比:(a)全分布式;(b)等级制度。具体来说,MALib的框架特点如下:支持大规模的基于人群的多智能体质强化训练。星际争霸2、Dota2、王者荣耀等超越人类AI顶级水平的游戏都受益于大规模的基于人群的多智能体强化学习训练,但目前还没有开源和通用的框架来支撑相关研究和应用.针对该场景,MALib基于Ray的分布式执行框架,实现了灵活可定制的多智能体强化学习并行训练框架,并专门优化了基于种群的训练,不仅可以实现2中的联盟机制,还支持更灵活的算法,如作为PSRO(战略空间响应预言机)。同时,除了电竞游戏,MALib还将提供运动(谷歌足球)、自动驾驶等场景的支持。与现有的多智能体强化学习框架相比,MALib的采样吞吐量有了很大的提高。通过使用所提出的集中式任务分配模型,在相同的GPU计算节点下,MALib的吞吐量可以比RLlib(由UCBerkeleyRISELab开发的著名通用框架)提高15倍。SOTA框架SampleFactory性能提升近100%;纯CPU环境MALib的吞吐量优势进一步扩大到近450%;相较于DeepMind开发的openspiel,同类算法的训练速度提升了三倍以上。最全面的多智能体强化学习算法支持。在训练范式层面,MALib采用同步/异步、集中/分散模式,抽象出不同类型多智能体强化学习算法的训练,通过统一的AgentInterface,实现独立学习者、集中分散执行等训练算法、自我博弈和策略空间响应预言机(PSRO)。同时,对于不支持并行异步训练的算法,也可以使用MALib来加速并行采样和训练。部分训练效果与现有的一些分布式强化学习框架进行对比。以MADDPG为例,下图展示了在多智能体粒子环境下训练不同并行度的simple-spread任务的学习曲线。比较用RLlib训练MADDPG的效果。比较框架是RLlib。随着worker数量的增加,RLlib的训练越来越不稳定,而MALib的效果一直很稳定。包括更复杂的环境,比如星际争霸II的一些实验,我们对比了PyMARL的实现,对比了QMIX算法训练到80%胜率所需要的时间。MALib有显着的效率提升(worker数量设置为32)。与PyMARL在星际任务上的效率比较。另一方面,我们更关心训练过程的采样效率。我们还将吞吐量与其他分布式强化学习框架进行了比较。在Atari游戏的多智能体版本上,MALib在吞吐量和可扩展性方面都表现出色。不同框架在星际和多智能体Atari任务上的吞吐量比较。目前,我们的项目已经在GitHub上开源(https://github.com/sjtu-marl/malib),更多功能正在积极开发中。欢迎使用并给我们提出宝贵的改进建议!同时,如果您有兴趣参与项目开发,欢迎联系我们!联系方式:ying.wen@sjtu.edu.cn。团队介绍本项目由上海交通大学和伦敦大学学院(UCL)联合组建的多智能体强化学习研究团队开发。MALib项目主要是在上海交通大学温颖助理教授的指导下开发的。核心开发成员包括博士三年级周明。ACM班三年级本科生温穆宁、吴润哲,师从上海交通大学张维南副教授、伦敦大学学院杨耀东博士和王军教授。团队长期致力于从理论算法、系统和应用三个层面出发,研究开放、真实、动态多智能场景下的智能决策。理论团队核心成员在人工智能与机器学习峰会上发表多智能体强化学习相关论文50余篇,并获得CoRL2020最佳系统论文和AAMAS2021BlueSkyTrack最佳论文奖。在系统方面,除了多智能体强化学习种群训练的系统MALib,团队还开发了SMARTS、CityFlow、MAgent等大型智能体强化学习仿真引擎,在Github上积累了2000多个star.此外,团队对强化学习技术在游戏、自动驾驶、搜索推荐等场景的实际应用有着丰富的经验。
