•  网站地图 |
  •  加入收藏 |
  •  必一体育app下载 |
条码与RFID解决方案专家!
集条码打印、扫描、采集于一体化解决方案的高新技术企业
全国咨询热线

029-89353355

必一体育app下载 contact us

手机:18991830957
座机:029-89353355
Q Q:359316042
邮箱:info@kssfl.com
地址:西安市雁塔区雁塔西路158号双鱼大厦A座13层

企业公众号

产品推荐 Related

查看更多>>

当前位置 > 首页 > 产品中心 > 数据采集器

产品名称:
必一体育app官方.性能提升、成本降低这是分布式强化学习算法最新研究进

发布时间:2024-02-20 09:37:27 来源:必一体育app网页版登录 作者:必一体育app下载

产品简介:
  深度强化学习(Deep Reinforcement Learning,DRL)是一种公认的解决连续决策问题的有效技术。为了应对 DRL 的数据低效(data inefficiency)问题,受到分布式机器学习技术的启发,分布式深度强化学

分享到:
订购热线:18991830957 

咨询/订购

产品介绍

必一体育app官方

  深度强化学习(Deep Reinforcement Learning,DRL)是一种公认的解决连续决策问题的有效技术。为了应对 DRL 的数据低效(data inefficiency)问题,受到分布式机器学习技术的启发,分布式深度强化学习 (distributed deep reinforcement learning,DDRL) 已提出并成功应用于计算机视觉和自然语言处理领域。有观点认为,分布式强化学习是深度强化学习走向大规模应用、解决复杂决策空间和长期规划问题的必经之路。

  分布式强化学习是一个综合的研究子领域,需要深度强化学习算法以及分布式系统设计的互相感知和协同。考虑到 DDRL 的巨大进步,我们梳理形成了 DDRL 技术的展历程、挑战和机遇的系列文章。我们在 part 1 部分回顾了经典的 DDRL 框架,在本部分,我们利用三篇论文,具体分析 DDRL 的今生 --- 最新研究进展。

  本文为来自清华大学和上海期智研究院 Yi Wu(吴翼)教授研究团队的工作,该团队主要研究方向包括深度强化学习、多智能体学习、自然语言基础、大规模学习系统。本文已被 ICLR’24 录用。ICLR 是机器学习领域重要的学术会议质疑,每年举办一次。2024 年是第十二届,将于 5 月 7 日至 11 日在维也纳召开。据统计,本届会议共收到了 7262 篇论文,整体接收率约为 31%。

  强化学习(RL)任务的复杂性与日俱增,需要分布式 RL 系统高效地生成和处理海量数据来训练智能 agent。然而,现有的开源库存在各种局限性,阻碍了它们在需要大规模训练的挑战性场景中的实际应用。尽管 OpenAI 和 DeepMind 的工业化系统已经成功实现了大规模 RL 训练,但它们的系统架构和实现细节仍未向社区公开。本文针对 RL 训练的数据流提出了一种新颖的系统抽象概念,它将不同应用中的实际 RL 训练统一到一个通用而灵活的框架中,并实现了细粒度的系统级优化。根据这一抽象概念,作者开发了一种 scalable、高效、extensible 的分布式 RL 系统,称为 ReaLly Scalable RL(SRL)。SRL 的系统架构分离了主要的 RL 计算组件,允许大规模并行化训练。作者还引入了一系列技术来进一步优化系统性能。此外,SRL 还提供用户友好和可扩展的界面,便于开发定制算法。本文评估表明,无论是在单机还是在中型集群中,SRL 的性能都优于现有的 libraries。在大规模集群中,SRL 的新型架构与现有 libraries 采用的设计相比,速度提高了 3.7 倍。

  现有许多开源 RL 系统都为特定应用场景提供了解决方案。然而,其中只有少数是通用的 (general-purposed)。作者发现这些系统在架构设计和实现方面都有其局限性。

  首先,在架构设计方面,大多数开源系统都对可用计算资源做了假设,如硬件加速器的类型和物理位置,以及可用计算设备之间的比例。因此,它们的架构倾向于紧密结合多个计算组件,并将其映射到物理上位于同一节点的设备上。因此,在定制的本地集群中部署时,这可能会损害系统性能。例如,Sample Factory [4] 和 Rlpyt [5] 专门用于在本地机器上进行 RL 训练,不假定分布式计算资源是可用的。其他考虑到分布式设置的库通常可分为两类:IMPALA -style [6] 和 SEED -style [7]。

  以 RLlib 和 ACME 为代表的 IMPALA -style 架构(图 1 顶部)假定用于环境模拟和策略推断的计算资源之间存在紧耦合。在这种设置下,策略推断只能在与环境位于同一节点的 CPU 或 GPU 上进行。使用 CPU 进行策略模型推理本身效率就不高,而使用本地 GPU 进行推理也存在严重缺陷。根据应用场景的不同,环境模拟速度、观测值大小和策略模型大小的变化很容易造成本地 GPU 的推理空闲或过载,从而导致严重的资源浪费。此外,如果 agent 在多 agent 环境中遵循不同的策略,本地 GPU 必须维护多个策略模型,从而导致大量内存占用,并限制了该节点可容纳的环境数量。SEED-style 架构(图 1 下)主要假定有独立的 TPU 内核可用于训练和策略推理。然而,在使用 GPU 而不是多核 TPU 的情况下,要同时处理推理和训练会很吃力。此外,在使用异构 GPU 时,训练吞吐量会因梯度同步中的滞后而受到限制。

  图 1. RLlib/ACME(上)和 SeedRL(下)的实现,采用 IMPALA/SEED-style 架构。前者将环境模拟和策略推理合并在一个线程中,后者则将策略推理和训练合并在一个 GPU 上。请注意,在 SEED -style 中,运行环境模拟的 GPU 节点依靠训练 GPU 节点进行策略推断,而在 IMPALA -style 中,它们依靠本地 CPU/GPU 进行策略推断

  其次,考虑到实现问题,开源的分布式系统无法在多个节点上扩展训练,这可能会阻碍需要复杂策略和大批量的复杂任务的 RL 训练。具体来说,RLlib 和 ACME 只能分别通过 Python threaded trainer1 和 jax.pmap2 支持本地多 GPU 训练,而 SeedRL 只能在单 GPU 上运行。

  第三,开源库主要集中于中小型规模,导致实施简化,对细粒度性能优化的考虑有限。因此,这些系统导致训练吞吐量低下,尤其是在大规模场景中。通过对它们的设计和实现进行分析,作者发现了几种可能的优化方法,能够显著提高系统性能。应用这些修改后,训练吞吐量有了显著提高,从而使 SRL 的性能大大超过了现有系统。

  此外,尽管现有的一些开源库提供了通用接口,允许用户定制环境和 RL 算法(如 RLlib),但它们的算法实现与其系统 API 紧密相连。这些系统提供的用户友好界面可以扩展系统组件,这就限制了它们与复杂 RL 算法的兼容性,因为这些算法要求的计算量超出了主要 RL 计算组件的范围。

  主要 RL 计算组件包括:1)环境模拟(Environment simulation)根据 actions 产生观察结果和奖励。这种计算通常使用外部黑盒程序执行,如游戏或物理引擎,通常在 CPU 上执行;2)策略推理(Policy inference)从观察中生成 actions,观察是通过神经网络策略的推理(也称为前向传播)进行的。该系统可以使用 CPU 或 GPU 设备进行策略推理,尽管在采用 GPU 时可能具有明显的性能优势;3)训练(Training)使用收集的轨迹在 GPU 上执行梯度下降迭代以改进策略。

  目前,人们正在努力解决这些限制。MSRL [8] 采用一种编译方法,将本地运行的用户代码转换为 片段,这些 片段 由一组标记边界和定义数据流的 注释 划分。然而,与 SRL 相比,这种方法有其缺点。首先,MSRL 可编译的计算和通信应用程序接口受到很大限制,这套应用程序接口只能支持经典的 RL 算法(如 DQN 和 PPO),用户无法对其进行扩展。其次,MSRL 在实现过程中没有考虑系统级计算优化,导致训练效率大大降低。第三,MSRL 在将用户端实现分解为可执行的 片段 时,会遵循一组预先确定的调度计划。但是,这些调度计划仍然沿用现有的架构(即 IMPALA/SEED-style),只能满足特定 RL 应用的需要。

  最后,表 1 给出了一系列 SRL 的对比方法的工作能力。作者表示,据他们所知,SRL 是第一个能提供所有所需特性(包括可扩展性、效率和可扩展性)的学术系统。

  为了解决以往设计的局限性,作者对 RL 训练的数据流提出了一种新的抽象。在该抽象中,SRL 由多个相互连接的 workers 组成,这些 workers 承载着不同的 任务处理程序,如环境和 RL 算法。这些 workers 通过数据 流 连接,并由后台 服务 提供支持。基于这个简单的抽象概念,作者开发了 SRL 架构,如图 2 所示。

  Actor worker 向 policy worker 发出包含观察结果的推理请求,policy worker 通过生成的行动做出响应。作者将这种 client-server 通信模式抽象为推理流。在进行环境模拟的同时,actor worker 会在本地缓冲区中积累 observation-action-reward 三元组,并定期将它们发送给 trainer worker。作者将这种推拉通信模式抽象为样本流。每个训练步骤结束后,更新的参数会被推送到参数服务器,该服务器会处理 policy worker 为参数同步而提出的拉取请求。

  图 2. SRL 的核心组件。蓝色箭头表示 worker 和数据流之间的 dataflow。蓝色方框代表负责计算工作负载的 worker。橙色方框代表数据流,负责 worker 之间的通信。灰色方框代表服务,也就是本文提及的参数服务器

  与以往的设计不同,SRL 中的所有 worker 都可以独立调度,并分布在多台拥有异构资源的机器上,从而在各种资源设置(包括本地机器和大型集群)下实现大规模并行和高效的资源利用。如图 3 所示,作者将抽象化的 worker 实例化为不同计算节点上的进程,并将数据流实例化为套接字或共享内存块。每个工作进程都会分配到适合其任务的特定数量的计算资源,工作进程通过最有效的可用接口进行连接,这种接口可以是用于节点间通信的网络接口,也可以是用于进程间通信的共享内存接口。

  因此,SRL 的新型架构不仅以清晰的设计和实现统一了现有的本地和分布式架构,还能在现有架构无法实现的场景中实现高效的调度、资源分配和数据通信。此外,SRL 清晰的设计实现了细粒度的性能优化,与现有库相比,即使使用相同的架构,速度和可扩展性也有显著提高。此外,高级抽象还产生了一个简洁的用户界面,使扩展现有 RL 算法和定制 worker 变得更加容易。

  要说明的是,以下内容假定了大多数流行的 RL 算法的典型工作流程,以便清楚地介绍这些算法。确实有一些 RL 算法需要更复杂的系统设计。SRL 也可以轻松支持这些不寻常的算法。

  1.2.2.1 actor worker 和 policy worker。actor worker 负责托管环境,处理黑盒环境程序的执行。环境模拟通常独立于每个 actor,因此在计算资源充足的情况下,可以直接进行大规模并行化。另一方面,policy worker 托管 RL agent(或策略),并为 actor worker 提供批量推理服务。它们可以有效利用 GPU 设备来加速神经策略的前向传播。环境模拟通常分为几个阶段。在每一阶段的开始,actor worker 会重置其环境并获得第一个观测值。然后,在每一个环境步骤之前,每个 actor worker 都会发送上一个步骤(或初始重置)的观察结果,并请求 policy worker 采取行动,以继续下一个步骤。

  Actor Worker 本身就是为多 agent 而设计的,例如:(1) 不同的 Actor Worker 可以容纳不同数量的 agent;(2) agent 可以异步浏览环境(如果环境返回 无,则跳过);(3) agent 可以通过连接不同的流来应用不同的策略。这种灵活的设计使 SRL 能够处理更复杂、更现实的应用场景。

  policy worker 会 flush 从多个 Actor Worker 处接收到的推理请求,用批量观测结果计算策略模型的前向传递,并用输出行动对其做出响应。为了使策略模型保持最。

上一篇:南财对话|专访深圳交易集团董事长 下一篇:数据采集传输仪使用说明

在线留言Online message

联系方式address

公司:必一体育app官方网页版登录-必一体育app下载
电话:029-89353355
手机:18991830957
地址:西安市雁塔区雁塔西路158
           号双鱼大厦A座13层
陕ICP备16017194号  
陕公安网备 61011302000213号

扫码开启行业服务新标准

姓名:
电话:
邮箱: