上海交大开源MALib多智能体并行训练框架,支持大规模基于种群的多智能体强化学习训练

简介: 基于种群的多智能体深度强化学习(PB-MARL)方法在星际争霸、王者荣耀等游戏AI上已经得到成功验证,MALib 则是首个专门面向 PB-MARL 的开源大规模并行训练框架。MALib 支持丰富的种群训练方式(例如,self-play, PSRO, league training),并且实现和优化了常见多智能体深度强化学习算法,为研究人员降低并行化工作量的同时,大幅提升了训练效率。此外,MALib 基于 Ray 的底层分布式框架,实现了全新的中心化任务分发模型,相较于常见的多智能体强化学习训练框架(RLlib,PyMARL,OpenSpiel),相同硬件条件下吞吐量和训练速度有着数倍的提升。现

微信图片_20211206092951.jpg

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

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

微信图片_20211206092954.jpg

人群模拟(http://gamma.cs.unc.edu/CompAgent/imgs/sitterson3.jpg)。

微信图片_20211206093322.png

自动驾驶(https://github.com/huawei-noah/SMARTS/blob/master/docs/_static/smarts_envision.gif)。

微信图片_20211206093004.jpg

无人机集群(https://defensesystems.com/-/media/GIG/Defense-Systems/Web/2015/JanFeb/CODEdrones.png)。


在算法方面,解决此类群体问题的一个重要的途径是基于群体的多智能体强化学习方法,也是 MALib 目前阶段的重点瞄准方向。基于群体的多智能体强化学习(Population-based MARL, PB-MARL)涉及多个策略集合交互问题,下图展示了通常意义上基于群体的多智能体强化学习算法的主要流程。PB-MARL 算法是结合了深度强化学习和动态种群选择方法(例如,博弈论,进化策略)以自动拓展策略集。PB-MARL 能够以此不断产生新的智能,因而在一些复杂任务上都取得了不错的效果,如实时决策游戏 Dota2 、StrarCraftII,以及纸牌任务 Leduc Poker。但在实际问题中,目前的多智能体强化学习算法与应用尚有差距,一个亟待解决的问题便是算法在大规模场景下的训练效率。由于种群算法内在耦合了多智能体算法,致使其训练过程对数据的需求量极大,因而也需要一个灵活、可扩展的训练框架来保证其有效性。

微信图片_20211206093008.jpg

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

近年来,为了更好地进行大规模深度强化学习算法的训练,研究人员发展了更加专用的训练框架,通过在算法接口和系统设计上进行抽象,来支持更为复杂的实时数据采样、模型训练和推理需求。然而,分布式强化学习技术的发展似乎还未触及群体智能这一问题。实际上,现有分布式强化学习框架对于一般多智能体强化学习算法的分布式计算支持是完全不够的,像 RLlib、Sample-Factory、SEED RL 这样的典型分布式强化学习框架,在设计模式上都是将多智能体任务当作单智能体任务来处理,而忽略了多智能体算法之间的异构性。对于其他强调智能体交互的学习范式,如中心化训练(centralized training)、基于网络的分布式算法以及带有通信功能的协作性算法都没有进行显式支持,缺乏对应的统一接口来简化算法实现和训练流程。因此,研究人员想要进行更多类型多智能体强化学习算法的分布式训练探索时,往往需要进行大量额外的编码工作。而对于多智能体强化学习算法框架方面的发展,现有的工作更多聚焦在算法实现,并不太注重算法在大规模场景下的扩展性,或者更多的是专为某些场景设计的算法库,像 PyMARL、SMARTS 这样的框架,其作用更偏向于服务专门领域内的 benchmark,在算法类型上,大部分框架也做得并不全面。因此对于多智能体强化学习算法框架支持这一块,也一直是缺乏一套比较全面的框架来打通算法实现、训练和部署测试这一套流程。
我们认为以上两个发展现状的主要原因至少会有两点:(1)一个是因为多智能体算法本身在结构上具有的异构性较高,导致算法在接口实现的一致性和复用性上不是太高;(2)另一方面也是因为多智能体分布式算法依然处于早期探索阶段。此外,在分布式部署方面,现有分布式强化学习框架对 independent learning 算法的支持更友好,也更自然和直接。就像通常分布式技术在机器学习领域的应用一样,要解决目前分布式技术在大规模多智能体强化学习领域的更深层次的应用,算法和框架都必不可少,两者相辅相成。

在算法方面,一个重要的途径是基于群体的多智能体强化学习方法,也是 MALib 目前阶段所重点瞄准的方向。基于群体的多智能体强化学习(Population-based MARL, PB-MARL)涉及到多个策略集合交互问题,下图展示了通常意义上基于群体的多智能体强化学习算法的主要流程。PB-MARL 算法特点是结合了深度强化学习和动态种群选择方法(例如,博弈论,进化策略)来进行自动策略集扩展。通过这种方式,PB-MARL 能够不断产生新的智能,并且在解决一些复杂任务上都取得了不错的效果,如实时决策游戏 Dota2 、StrarCraftII,以及纸牌任务 Leduc Poker。
然而,也正是由于种群算法内在耦合了多智能体算法,导致这一类算法在训练过程对数据的需求极大,因此也需要一个灵活的、可扩展的训练框架来保证其有效性。

微信图片_20211206093013.jpg



微信图片_20211206093016.jpg

MALib框架图


为了应对这些需求,我们提出了 MALib,从三个方面提出了针对大规模群体多智能体强化学习算法的解决方案:(1)中心化任务调度:自动递进式生成训练任务,作业进程的半主动执行能够提高训练任务的并行度;(2)Actor-Evaluator-Learner 模型:解耦数据流,以满足多节点灵活的数据存储和分发;(3)从训练层面对多智能体强化学习进行抽象:尝试提高多智能体算法在不同训练模式之间的复用率,比如 DDPG 或者 DQN 可以很方便地嫁接到中心化训练模式中。

微信图片_20211206093021.jpg

中心化任务调度模型 (c) 与以往分布式强化学习框架调度模型的对比:(a)完全分布式;(b)层级式


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

  • 支持大规模基于种群的多智能体强化训练。星际争霸 2,Dota2,王者荣耀等游戏上超越人类顶尖水平的 AI,都得益于大规模基于种群的多智能体强化学习训练,但现在没有一个开源通用的框架支持相关研究与应用。针对这一场景,MALib 基于 Ray 的分布式执行框架,实现了一个灵活可自定义的多智能体强化学习并行训练框架,并且对基于种群的训练做了特别优化,不仅仅可以实现类似于星际争霸 2 中的 League 机制,也支持更灵活的 PSRO(策略空间应对预言机)等算法。同时,除了电子竞技游戏之外,MALib 也将提供体育(Google Football),自动驾驶等场景的支持。


  • MALib 的采样吞吐量较现有多智能体强化学习框架大幅度提升。通过利用所提出的中心化任务分发模型,MALib 的吞吐量在相同 GPU 计算节点情况下,最大采样效率相较于 UC Berkeley RISELab 开发的著名通用框架 RLlib 可提升 15 倍,系统吞吐量较高度优化的 SOTA 框架 SampleFactory 提升近 100%;纯 CPU 环境 MALib 的吞吐量优势较进一步扩大至近 450%;同类算法训练速度较 DeepMind 开发的 open spiel 提升三倍以上。


  • 最全的多智能体强化学习算法的支持。在训练范式层面,MALib 使用同步 / 异步,中心化 / 去中心化等模式,对不同类型的多智能体强化学习算法的训练进行抽象,并通过统一的 AgentInterface,实现了包括独立学习者,中心化训练去中心化执行,自对弈,策论空间应对预言机(PSRO)等算法。同时,对原先不支持并行异步训练的算法,也可以使用 MALib 进行并行采样与训练的加速。


部分训练效果

我们和一些现有的分布式强化学习框架进行了对比,以 MADDPG 为例,下图展示的是在 multi-agent particle environments 上使用不同并行程度训练 simple-spread 任务的学习曲线。

微信图片_20211206093026.jpg

与 RLlib 对比训练 MADDPG 的效果。

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

微信图片_20211206093030.jpg

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

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

微信图片_20211206093034.jpg

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

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

团队介绍

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


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

相关文章
|
数据采集 自然语言处理 安全
控制电脑手机的智能体人人都能造,微软开源OmniParser
微软研究团队推出OmniParser,旨在提升GPT-4V等多模态模型在用户界面操作方面的性能。通过解析用户界面截图为结构化元素,OmniParser显著增强了模型的交互能力,使其在多种基准测试中表现出色。该技术开源,促进了社区合作与技术创新,但同时也面临数据质量、计算资源及安全隐私等挑战。
467 14
|
人工智能 自然语言处理 前端开发
Director:构建视频智能体的 AI 框架,用自然语言执行搜索、编辑、合成和生成等复杂视频任务
Director 是一个构建视频智能体的 AI 框架,用户可以通过自然语言命令执行复杂的视频任务,如搜索、编辑、合成和生成视频内容。该框架基于 VideoDB 的“视频即数据”基础设施,集成了多个预构建的视频代理和 AI API,支持高度定制化,适用于开发者和创作者。
651 9
Director:构建视频智能体的 AI 框架,用自然语言执行搜索、编辑、合成和生成等复杂视频任务
|
存储 人工智能
Optimus-1:哈工大联合鹏城实验室推出挑战开放世界中长期任务的智能体框架
Optimus-1是由哈尔滨工业大学(深圳)和鹏城实验室联合推出的智能体框架,旨在解决开放世界环境中长期任务的挑战。该框架结合了结构化知识和多模态经验,通过混合多模态记忆模块、知识引导规划器和经验驱动反射器,显著提升了在Minecraft等环境中的长期任务性能。本文将详细介绍Optimus-1的主要功能、技术原理以及如何运行该框架。
362 7
Optimus-1:哈工大联合鹏城实验室推出挑战开放世界中长期任务的智能体框架
|
人工智能 自然语言处理 JavaScript
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统
Agent-E 是一个基于 AutoGen 代理框架构建的智能自动化系统,专注于浏览器内的自动化操作。它能够执行多种复杂任务,如填写表单、搜索和排序电商产品、定位网页内容等,从而提高在线效率,减少重复劳动。本文将详细介绍 Agent-E 的功能、技术原理以及如何运行该系统。
988 5
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统
|
JSON 数据可视化 知识图谱
基于百炼 qwen plus 、开源qwen2.5 7B Instruct 建非schema限定的图谱 用于agent tool的图谱形式结构化 文本资料方案
基于百炼 qwen plus 的上市企业ESG图谱构建工作,通过调用阿里云的 OpenAI 服务,从 Excel 文件读取上市公司 ESG 报告数据,逐条处理并生成知识图谱,最终以 YAML 格式输出。该过程包括数据读取、API 调用、结果处理和文件保存等步骤,确保生成的知识图谱全面、动态且结构清晰。此外,还提供了基于 Pyvis 的可视化工具,将生成的图谱以交互式图形展示,便于进一步分析和应用。
1175 3
|
人工智能 API 决策智能
swarm Agent框架入门指南:构建与编排多智能体系统的利器 | AI应用开发
Swarm是OpenAI在2024年10月12日宣布开源的一个实验性质的多智能体编排框架。其核心目标是让智能体之间的协调和执行变得更轻量级、更容易控制和测试。Swarm框架的主要特性包括轻量化、易于使用和高度可定制性,非常适合处理大量独立的功能和指令。【10月更文挑战第15天】
2480 6
|
敏捷开发 机器学习/深度学习 数据采集
端到端优化所有能力,字节跳动提出强化学习LLM Agent框架AGILE
【10月更文挑战第23天】字节跳动研究团队提出AGILE框架,通过强化学习优化大型语言模型(LLM)在复杂对话任务中的表现。该框架将LLM作为核心决策模块,结合记忆、工具和专家咨询模块,实现智能体的自我进化。实验结果显示,AGILE智能体在ProductQA和MedMCQA数据集上优于GPT-4。
890 4
|
存储 人工智能 自然语言处理
AI经营|多Agent择优生成商品标题
商品标题中关键词的好坏是商品能否被主搜检索到的关键因素,使用大模型自动优化标题成为【AI经营】中的核心能力之一,本文讲述大模型如何帮助商家优化商品素材,提升商品竞争力。
1372 62
AI经营|多Agent择优生成商品标题
|
机器学习/深度学习 人工智能 自然语言处理
Gemini 2.0:谷歌推出的原生多模态输入输出 + Agent 为核心的 AI 模型
谷歌最新推出的Gemini 2.0是一款原生多模态输入输出的AI模型,以Agent技术为核心,支持多种数据类型的输入与输出,具备强大的性能和多语言音频输出能力。本文将详细介绍Gemini 2.0的主要功能、技术原理及其在多个领域的应用场景。
1215 20
Gemini 2.0:谷歌推出的原生多模态输入输出 + Agent 为核心的 AI 模型
|
机器学习/深度学习 人工智能 算法
Meta Motivo:Meta 推出能够控制数字智能体动作的 AI 模型,提升元宇宙互动体验的真实性
Meta Motivo 是 Meta 公司推出的 AI 模型,旨在控制数字智能体的全身动作,提升元宇宙体验的真实性。该模型通过无监督强化学习算法,能够实现零样本学习、行为模仿与生成、多任务泛化等功能,适用于机器人控制、虚拟助手、游戏角色动画等多个应用场景。
343 4
Meta Motivo:Meta 推出能够控制数字智能体动作的 AI 模型,提升元宇宙互动体验的真实性

热门文章

最新文章