快捷搜索:  汽车  科技

seed数据集怎么处理?RL大规模扩展强化学习

seed数据集怎么处理?RL大规模扩展强化学习在DeepMind Lab上,我们使用64个Cloud TPU内核实现了每秒240万帧的数据传输速度,与以前的最新分布式代理IMPALA相比,提高了80倍。这样可以显着提高挂钟时间和计算效率。对于相同的速度,IMPALA需要的CPU是SEED RL的3-4倍。每秒帧数,比较IMPALA和DeepMind Lab上SEED RL的各种配置。SEED RL使用4 160个CPU,每秒可达到240万帧。假设速度相同,IMPALA将需要14 000个CPU。SEED RL体系结构旨在解决这些缺点。通过这种方法,学习者可以在专用硬件(GPU或TPU)上集中进行神经网络推理,从而通过确保模型参数和状态保持局部状态来加快推理速度并避免数据传输瓶颈。在每个环境步骤将观察结果发送给学习者的同时,由于基于gRPC的非常高效的网络库,延迟保持在较低水平具有异步流式RPC的框架。这使得在一台机器上每秒最多可以实现

过去几年来,强化学习(RL)在解决Go和Dota 2等游戏方面取得的成功证明了令人瞩目的进步。模型或代理通过探索环境(例如游戏)并针对特定目标进行优化来学习。但是,当前的RL技术需要越来越多的培训才能成功学习甚至简单的游戏,这使得迭代研究和产品构想在计算上既昂贵又耗时。
在“ SEED RL:具有加速的中央推理的可扩展且高效的Deep-RL中”,我们提出了一种RL代理,该代理可扩展到数千台机器,从而可以每秒数百万帧的速度进行训练,并显着提高了计算效率。这是通过一种新颖的架构来实现的,该架构通过集中模型推断并引入快速通信层来大规模利用加速器(GPU或TPU)。我们在流行的RL基准(例如Google Research Football,Arcade Learning Environment和DeepMind Lab)上演示了SEED RL的性能,并表明通过使用更大的模型,可以提高数据效率。该代码已在Github上开源以及在带有GPU的 Google Cloud上运行的示例。

当前的分布式体系结构

上一代的分布式强化学习代理(例如 IMPALA)利用专门用于数值计算的加速器,充分利用了(无)监督学习多年来受益的速度和效率。RL代理的体系结构通常分为参与者和学习者。参与者通常在CPU上运行,并且在环境中采取的步骤与对模型进行推断之间进行迭代,以预测下一个动作。通常,参与者会更新推理模型的参数,并且在收集到足够数量的观察结果之后,会将观察结果和动作的轨迹发送给学习者,从而对学习者进行优化。在这种架构中,学习者使用来自数百台机器上的分布式推理的输入在GPU上训练模型。

seed数据集怎么处理?RL大规模扩展强化学习(1)

较早的RL代理IMPALA的示例体系结构。通常使用效率低下的CPU对参与者进行推断。更新的模型参数经常从学习者发送到参与者,从而增加了带宽需求。

RL代理(例如IMPALA)的体系结构具有许多缺点:

  1. 与使用加速器相比,使用CPU进行神经网络推理的效率和速度要慢得多,并且随着模型变得越来越大且计算量越来越大,问题变得越来越严重。
  2. 在参与者和学习者之间发送参数和中间模型状态所需的带宽可能是瓶颈。
  3. 在一台机器上处理两个完全不同的任务(即环境渲染和推断)不可能最佳地利用机器资源。
SEED RL体系结构

SEED RL体系结构旨在解决这些缺点。通过这种方法,学习者可以在专用硬件(GPU或TPU)上集中进行神经网络推理,从而通过确保模型参数和状态保持局部状态来加快推理速度并避免数据传输瓶颈。在每个环境步骤将观察结果发送给学习者的同时,由于基于gRPC的非常高效的网络库,延迟保持在较低水平具有异步流式RPC的框架。这使得在一台机器上每秒最多可以实现一百万个查询。学习者可以扩展到数千个核心(例如,在Cloud TPU上最多2048个),参与者的数量也可以扩展到数千台机器,以充分利用学习者,从而可以以每秒数百万帧的速度进行训练。SEED RL基于TensorFlow 2 API,在我们的实验中,是通过TPU加速的。

seed数据集怎么处理?RL大规模扩展强化学习(2)

SEED RL体系结构概述。与IMPALA体系结构相反,参与者仅在环境中执行操作。学习者在加速器上使用来自多个参与者的成批数据来集中执行推理。为了使该体系结构成功,将两种最先进的算法集成到SEED RL中。第一个是V-trace,这是一种基于策略梯度的方法,最早是在IMPALA中引入的。通常,基于策略梯度的方法可预测可从中采样操作的操作分布。但是,由于参与者和学习者在SEED RL中异步执行,因此参与者的策略略微落后于学习者的策略,即,他们变得脱离政策。通常基于策略梯度的方法是基于策略的,这意味着他们对参与者和学习者具有相同的政策,并且在非政策环境中会遇到趋同性和数字问题。V-trace是一种非策略方法,因此在异步SEED RL体系结构中效果很好。
第二种算法是R2D2,这是一种Q学习方法,它使用递归分布式重放基于该动作的预测未来值来选择该动作。这种方法允许Q学习算法大规模运行,同时仍然允许使用循环神经网络,该网络可以根据情节中所有过去帧的信息来预测未来值。

实验

SEED RL在常用的Arcade学习环境,DeepMind Lab环境以及最近发布的Google Research Football环境中进行了基准测试。

seed数据集怎么处理?RL大规模扩展强化学习(3)

每秒帧数,比较IMPALA和DeepMind Lab上SEED RL的各种配置。SEED RL使用4 160个CPU,每秒可达到240万帧。假设速度相同,IMPALA将需要14 000个CPU。

在DeepMind Lab上,我们使用64个Cloud TPU内核实现了每秒240万帧的数据传输速度,与以前的最新分布式代理IMPALA相比,提高了80倍。这样可以显着提高挂钟时间和计算效率。对于相同的速度,IMPALA需要的CPU是SEED RL的3-4倍。

seed数据集怎么处理?RL大规模扩展强化学习(4)

使用IMPALA和SEED RL 在DeepMind Lab游戏“ explore_goal_locations_small” 上随时间推移的剧集回报(即奖励总和)。使用SEED RL,可以大大减少培训时间。

通过针对现代加速器进行了优化的架构,自然可以增加模型大小,以提高数据效率。我们表明,通过增加模型的大小和输入分辨率,我们可以解决以前未解决的Google Research Football任务“困难”。

seed数据集怎么处理?RL大规模扩展强化学习(5)

Google Research Football“艰苦”任务中不同架构的得分。我们表明,通过使用输入分辨率和更大的模型,可以提高得分,并且通过更多的训练,模型可以大大胜过内置的AI。本文提供了更多详细信息,包括我们在Arcade学习环境中的结果。我们相信SEED RL及其提出的结果表明,在利用加速器方面,强化学习再次赶上了其他深度学习领域。

猜您喜欢: