上海交大开源训练框架,支持大规模基于种群多智能体强化学习训练( 二 )


近年来 , 为了更好地进行大规模深度强化学习算法的训练 , 研究人员发展了更加专用的训练框架 , 通过在算法接口和系统设计上进行抽象 , 来支持更为复杂的实时数据采样、模型训练和推理需求 。 然而 , 分布式强化学习技术的发展似乎还未触及群体智能这一问题 。 实际上 , 现有分布式强化学习框架对于一般多智能体强化学习算法的分布式计算支持是完全不够的 , 像RLlib、Sample-Factory、SEEDRL这样的典型分布式强化学习框架 , 在设计模式上都是将多智能体任务当作单智能体任务来处理 , 而忽略了多智能体算法之间的异构性 。 对于其他强调智能体交互的学习范式 , 如中心化训练(centralizedtraining)、基于网络的分布式算法以及带有通信功能的协作性算法都没有进行显式支持 , 缺乏对应的统一接口来简化算法实现和训练流程 。 因此 , 研究人员想要进行更多类型多智能体强化学习算法的分布式训练探索时 , 往往需要进行大量额外的编码工作 。 而对于多智能体强化学习算法框架方面的发展 , 现有的工作更多聚焦在算法实现 , 并不太注重算法在大规模场景下的扩展性 , 或者更多的是专为某些场景设计的算法库 , 像PyMARL、SMARTS这样的框架 , 其作用更偏向于服务专门领域内的benchmark , 在算法类型上 , 大部分框架也做得并不全面 。 因此对于多智能体强化学习算法框架支持这一块 , 也一直是缺乏一套比较全面的框架来打通算法实现、训练和部署测试这一套流程 。
我们认为以上两个发展现状的主要原因至少会有两点:(1)一个是因为多智能体算法本身在结构上具有的异构性较高 , 导致算法在接口实现的一致性和复用性上不是太高;(2)另一方面也是因为多智能体分布式算法依然处于早期探索阶段 。 此外 , 在分布式部署方面 , 现有分布式强化学习框架对independentlearning算法的支持更友好 , 也更自然和直接 。 就像通常分布式技术在机器学习领域的应用一样 , 要解决目前分布式技术在大规模多智能体强化学习领域的更深层次的应用 , 算法和框架都必不可少 , 两者相辅相成 。
在算法方面 , 一个重要的途径是基于群体的多智能体强化学习方法 , 也是MALib目前阶段所重点瞄准的方向 。 基于群体的多智能体强化学习(Population-basedMARL,PB-MARL)涉及到多个策略集合交互问题 , 下图展示了通常意义上基于群体的多智能体强化学习算法的主要流程 。 PB-MARL算法特点是结合了深度强化学习和动态种群选择方法(例如 , 博弈论 , 进化策略)来进行自动策略集扩展 。 通过这种方式 , PB-MARL能够不断产生新的智能 , 并且在解决一些复杂任务上都取得了不错的效果 , 如实时决策游戏Dota2、StrarCraftII , 以及纸牌任务LeducPoker 。
然而 , 也正是由于种群算法内在耦合了多智能体算法 , 导致这一类算法在训练过程对数据的需求极大 , 因此也需要一个灵活的、可扩展的训练框架来保证其有效性 。
上海交大开源训练框架,支持大规模基于种群多智能体强化学习训练
文章图片
论文链接:https://arxiv.org/abs/2106.07551GitHub:https://github.com/sjtu-marl/malib上海交大开源训练框架,支持大规模基于种群多智能体强化学习训练
文章图片
MALib框架图
为了应对这些需求 , 我们提出了MALib , 从三个方面提出了针对大规模群体多智能体强化学习算法的解决方案:(1)中心化任务调度:自动递进式生成训练任务 , 作业进程的半主动执行能够提高训练任务的并行度;(2)Actor-Evaluator-Learner模型:解耦数据流 , 以满足多节点灵活的数据存储和分发;(3)从训练层面对多智能体强化学习进行抽象:尝试提高多智能体算法在不同训练模式之间的复用率 , 比如DDPG或者DQN可以很方便地嫁接到中心化训练模式中 。