互联网技术 / 互联网资讯 · 2024年1月23日

上海交大发布大规模基于种群多智能体强化学习训练的开源训练框架

基于种群的多智能体深度强化学习(PB-MARL)方法在星际争霸、王者荣耀等游戏AI上已经得到成功验证,MALib 则是首个专门面向 PB-MARL 的开源大规模并行训练框架。MALib 支持丰富的种群训练方式,并且实现和优化了常见多智能体深度强化学习算法,为研究人员降低并行化工作量的同时,大幅提升了训练效率。此外,MALib 基于 Ray 的底层分布式框架,实现了全新的中心化任务分发模型,相较于常见的多智能体强化学习训练框架,相同硬件条件下吞吐量和训练速度有着数倍的提升。现阶段,MALib 已对接常见多智能体环境,后续将进一步提供对自动驾驶、智能电网等场景的支持。

项目主页

在深度学习领域,算力从来都是我们关心的一个重点,也是影响人工智能算法落地的一个关键因素。在很多应用场景里面,足够的算力支持可以显著加快算法从提出、训练到落地的效率,像是 OpenAI Five 的亿级参数量的使用,其每天的 GPU 计算用量在 770~820 PFlops/s。而在深度强化学习领域,随着应用场景从单智能体扩展到多智能体,算法的求解复杂度也呈现指数级增长,这也对算力要求提出了新的挑战,要求更多的计算资源能够被调用。特别是当所要处理的问题规模,涉及的智能体数量较多时,单机训练算法的可行度显著下降。

多智能体强化学习要解决群体智能相关的问题,其研究往往涉及群体内智能体之间的协作与对抗。目前已有众多现实任务应用涉及大规模智能体和复杂多样化交互,例如人群模拟、自动驾驶以及军事场景中的无人机集群控制:

人群模拟

自动驾驶

无人机集群

在算法方面,解决此类群体问题的一个重要的途径是基于群体的多智能体强化学习方法,也是 MALib 目前阶段的重点瞄准方向。基于群体的多智能体强化学习涉及多个策略集合交互问题,下图展示了通常意义上基于群体的多智能体强化学习算法的主要流程。PB-MARL 算法是结合了深度强化学习和动态种群选择方法以自动拓展策略集。PB-MARL 在一些复杂任务上取得了不错的效果,如实时决策游戏 DOTA2 、StRaRCRaftII,以及纸牌任务 LedUC PokeR。

如何提高算法训练效率?对于依赖深度学习技术的很多领域,在面临任务规模变大,模型参数变多的情况下,都需要引入额外的技术来提高训练效率。分布式计算是一个最直接考虑的方法,通过多进程或者多机的方式,提高算法对计算资源的使用效率从而提升算法训练效率。而分布式技术在深度强化学习领域的应用,也催生了分布式深度强化学习这个领域的产生,其研究的重点包括计算框架的设计,以及大规模分布式强化学习算法的开发。

近年来,为了更好地进行大规模深度强化学习算法的训练,研究人员发展了更加专用的训练框架,通过在算法接口和系统设计上进行抽象,来支持更为复杂的实时数据采样、模型训练和推理需求。然而,分布式强化学习技术的发展似乎还未触及群体智能这一问题。实际上,现有分布式强化学习框架对于一般多智能体强化学习算法的分布式计算支持是完全不够的,像 RLlib、SaMple-FAcTory、SEED RL 这样的典型分布式强化学习框架,在设计模式上都是将多智能体任务当作单智能体任务来处理,而忽略了多智能体算法之间的异构性。对于其他强调智能体交互的学习范式,如中心化训练、基于网络的分布式算法以及带有通信功能的协作性算法都没有进行显式支持,缺乏对应的统一接口来简化算法实现和训练流程。因此,研究人员想要进行更多类型多智能体强化学习算法的分布式训练探索时,往往需要进行大量额外的编码工作。而对于多智能体强化学习算法框架方面的发展,现有的工作更多聚焦在算法实现,并不太注重算法在大规模场景下的扩展性,或者更多的是专为某些场景设计的算法库,像 PyMARL、SMARTS 这样的框架,其作用更偏向于服务专门领域内的 benchmark,在算法类型上,大部分框架也做得并不全面。因此对于多智能体强化学习算法框架支持这一块,也一直是缺乏一套比较全面的框架来打通算法实现、训练和部署测试这一套流程。

为了应对这些需求,我们提出了 MALib,从三个方面提出了针对大规模群体多智能体强化学习算法的解决方案:中心化任务调度,Actor-Evaluator-Learner 模型和从训练层面对多智能体强化学习进行抽象。

中心化任务调度模型与以往分布式强化学习框架调度模型的对比

具体而言,MALib 的框架特点如下:

支持大规模基于种群的多智能体强化训练。星际争霸 2,DOTA2,王者荣耀等游戏上超越人类顶尖水平的 AI,都得益于大规模基于种群的多智能体强化学习训练,但现在没有一个开源通用的框架支持相关研究与应用。针对这一场景,MALib 基于 Ray 的分布式执行框架,实现了一个灵活可自定义的多智能体强化学习并行训练框架,并且对基于种群的训练做了特别优化,不仅仅可以实现类似于星际争霸 2 中的 League 机制,也支持更灵活的 PSRO 等算法。同时,除了电子竞技游戏之外,MALib 也将提供体育、自动驾驶等场景的支持。 MALib 的采样吞吐量较现有多智能体强化学习框架大幅度提升。通过利用所提出的中心化任务分发模型,MALib 的吞吐量在相同 GPU 计算节点情况下,最大采样效率相较于 UC Berkeley RISELab 开发的著名通用框架提升 15 倍,系统吞吐量较高度优化的 SOTA 框架提升近 100%;纯 CPU 环境 MALib 的吞吐量优势较进一步扩大至近 450%;同类算法训练速度较 DeepMind 开发的 open spiel 提升三倍以上。 最全的多智能体强化学习算法的支持。在训练范式层面,MALib 使用同步 / 异步,中心化 / 去中心化等模式,对不同类型的多智能体强化学习算法的训练进行抽象,并通过统一的 Agentinterface,实现了包括独立学习者,中心化训练去中心化执行,自对弈,策论空间应对预言机等算法。同时,对原先不支持并行异步训练的算法,也可以使用 MALib 进行并行采样与训练的加速。 部分训练效果

对比训练 MADDPG 的效果

对照框架是 RLlib。随着 worker 的数量增多,RLlib 的训练越来越不稳定,而 MALib 的效果一直表现稳定。包括更复杂的环境,比如 StaRCRaftII 的一些实验,我们对比 PyMARL 的实现,比较 QMIX 算法训练到胜率达到 80% 所花费的时间,MALib 有显著的效率提升。

与 PyMARL 在星际任务上的效率对比

另一方面,我们比较关注的是训练过程的采样效率。我们也对比了与其他分布式强化学习框架的吞吐量对比,在多智体版本的 AtaRi 游戏上,MALib 在吞吐量和扩展性上都表现了不错的性能。

在星际及多智能体 AtaRi 任务上不同框架的吞吐量对比

目前,我们的项目已经开源在 GitHub 上,更多的功能正在积极开发中,欢迎使用并向我们提出宝贵的改进意见!同时如果有兴趣参与项目开发,欢迎联系我们!联系方式:ying.wen@sjtu.edu.cn。

团队介绍

本项目由上海交通大学与伦敦大学学院(UCL)联合的多智能体强化学习研究团队开发。MALib 项目主要由上海交通大学温颖助理教授指导下进行开发,核心开发成员包括上海交通大学三年级博士生周铭,ACM 班大四本科生万梓煜,一年级博士生王翰竟,访问学者温睦宁,ACM 班大三本科生吴润哲,并得到上海交通大学张伟楠副教授和伦敦大学学院的杨耀东博士、汪军教授的联合指导。

团队长期致力于从理论算法、系统与应用三个层面入手,针对开放、真实、动态的多智能场景下的智能决策进行研究。理论团队核心成员在人工智能和机器学习顶会发表多智能体强化学习相关论文共计五十余篇,并获得过 CoRL 2020 最佳系统论文、AAMAS 2021 Blue Sky TRack 最佳论文奖。系统方面,除了面向多智能体强化学习种群训练的系统 MALib,本团队研发 SMartS、CITyFlow、MAgent 等大规模智能体强化学习仿真引擎,累计在 GIThub 上获得了超过 2000 加星。此外,团队在游戏、自动驾驶、搜索与推荐等场景下具有强化学习技术的真实应用落地的经验。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册