SEED RL:SCALABLE AND EFFICIENT DEEP-RL WITH ACCELERATED CENTRAL INFERENCE 翻译
SEED RL: Scalable and Efficient Deep-RL with Accelerated Central Inference,该论文是谷歌2020年提出的
IMPALA中Actor用CPU,Learner使用GPU存在的缺点:
1、Actor前推在CPU,计算效率较低,当模型较大时,推理时间会延长,若是通过增加Actor的数量,则会增加成本,同时也将影响模型的收敛速度。
2、资源的利用率较低,Actor需要在两个任务(环境step和网络推理)之间进行切换,而两个人物之间的计算需求是不匹配的,导致Actor对资源的利用率较低(环境是单线程,神经网络往往需要并行)
与IMPALA不同的是,Actor仅在环境中执行动作进行采样,而推理模块集中由Learner使用来自多个Actor的批量数据在加速器上执行
为了最大程度地减少延迟影响,SEED RL 依靠gPRC进行消息传递和流传输。具体来说,SEED RL利用流式RPC,建立从Actor到Learner的连接,而且元数据仅发送一次。此外,该框架还包括一个批处理模块,能够有效地将多个Actor的推理调用放到批处理中。
摘要
我们提出了一种现代的可扩展的强化学习代理SEED (scalable, Efficient Deep-RL)。通过有效地利用现代加速器,我们证明了它不仅可以训练数百万帧每秒,而且与目前的方法相比,还可以降低实验成本。我们通过一个简单的架构实现了这一点,该架构具有集中式推理和优化的通信层。SEED采用了两种最先进的分布式算法,IMPALA / V-trace(策略梯度)和R2D2 (Q-learning),并在Atari-57、DeepMind Lab和谷歌Research Football上进行了评估。我们提高了足球的技术水平,使Atari-57的技术水平比wall快三倍。对于我们考虑的场景,运行实验的成本降低了40%到80%。这个实现和实验都是开源的,所以结果可以被复制,新奇的想法可以被尝试。
1、介绍;
强化学习(RL)领域最近在各种任务中取得了令人印象深刻的结果。这在一定程度上是因为RL中引入了深度学习和gpu等加速器。在最近的历史中,对大规模的关注是解决许多复杂游戏的关键,如AlphaGo (Silver等人,2016年)、Dota (OpenAI, 2018年)和星际争霸2 (Vinyals等人,2017年)。
解决对人类来说微不足道的任务所需的大量环境数据,使得分布式机器学习在快速实验周转时间方面不可避免。RL本质上是由异构任务组成的:运行环境、模型推理、模型训练、回放缓冲区等,而当前最先进的分布式算法并不能有效地为这些任务使用计算资源。大量的数据和低效率的资源使用使实验的成本变得不合理。本文讨论的两个主要挑战是强化学习的扩展和优化现代加速器、cpu和其他资源的使用。
我们引入了SEED (Scalable, Efficient, Deep-RL),这是一种现代的RL代理,具有良好的扩展性,灵活且有效地利用可用资源。它是一种分布式代理,模型推理与快速流rpc结合在一起,以减少推理调用的开销。我们展示了用简单的方法,一个人可以在一些任务上更快地实现最先进的结果。为了优化性能,我们使用TPUs (cloud.google.com/tpu/)和TensorFlow 2 (Abadi等人,2015)来简化实现。通过IMPALA (Espeholt et al., 2018)分析运行SEED的成本,IMPALA是一种常用的最先进的分布式RL算法(Veeriah et al., 2019);Li等(2019);Deverett等人(2019);Omidshafiei等(2019);Vezhnevets等人(2019);Hansen等人(2019);Schaarschmidt et al。Tirumala等人(2019),…)。我们显示了高达80%的成本削减,同时显著更快。当将SEED缩放到许多加速器时,它可以训练数百万帧每秒。最后,这个实现是开源的,还有在谷歌云上大规模运行的例子(详细信息见附录A.4),这使得重现结果和尝试新想法变得很容易。
2、相关工作
对于基于值的方法,Nair等人(2015)早期尝试扩展DQN,使用异步SGD (Dean等人,2012)以及由参与者、重放缓冲区、参数服务器和学习者组成的分布式设置。从那时起,已经表明异步SGD导致较差的样本复杂性,同时没有显著更快(陈等人,2016;Espeholt等人,2018年)。随着优先重放(Schaul等人,2015)、决斗网络(Wang等人,2016)和双问学习(van Hasselt,2010)等问学习的进步,范·哈瑟尔特等人,2016)最先进的分布式问题学习是用Ape-X改进的(霍根等人,2018)。最近,R2D2 (Kapturowski等人,2018年)在Ape-X的进步基础上,通过结合价值函数重新调整(Pohlen等人,2018年)和LSTMS(Hochriter & Schmidhuber,1997年),在所有街机学习环境(ALE) (Bellemare等人,2013年)游戏中取得了令人印象深刻的结果。
也有许多方法来扩展策略梯度方法。A3C (Mnih等人,2016)引入了使用异步SGD的异步单机训练,并且完全依赖CPU。GPU后来被引入GA3C(马哈茂德,2017),速度有所提高,但由于在非策略设置中使用固有的策略方法,收敛结果较差。在IMPALA代理中,V-trace (Espeholt等人,2018)纠正了这一点,既用于单机训练,也使用简单的参与者-学习者架构扩展到1000多台机器。多酚氧化酶(舒尔曼等人,2017年)的用途与钒追踪相似,用于OpenAirApid(Petrometal。,2018)与一个内存中的数据存储区,并被扩展到128,000个CPU。对于像ALE这样的廉价环境,一台带有多个加速器的机器可以快速获得结果(Stooke & Abbeel,2018)。这种方法更进了一步,将ALE转换为在GPU上运行(道尔顿等人,2019年)。
第三类算法是进化算法。凭借简单性和巨大的规模,他们在许多任务上取得了令人印象深刻的成果(Salimans等人,2017;等人,2017年)。
除了算法,还有许多有用的库和框架用于强化学习。ELF(田等,2017)是一个高效与环境交互的框架,避免了Python全局解释器锁的争用。多巴胺(卡斯特罗等人,2018年)是一个灵活的研究重点RL框架,非常强调可重复性。它有最先进的代理实现,如Rainbow (Hessel等人,2017),但它是单线程的。TF-Agents(瓜达拉马等人,2018年)和rlpyt(斯多克和阿贝尔,2019年)都有一个更广泛的重点,实现了几类算法,但截至本文撰写之时,他们还没有大规模RL的分布式能力。RLLib (Liang等人,2017)提供了许多可组合的分布式组件和一个具有许多算法实现的通信抽象,如IMPALA和Ape-X。与此同时,TorchBeast (Küttler等人,2019)发布了一个单机IMPALA与远程环境的实现。
SEED与IMPALA关系最密切,但有许多关键的区别,这些区别结合了单机训练和可扩展架构的优势。推理被转移给学习者,但环境是远程运行的。这与快速通信层相结合,以减轻远程呼叫数量增加带来的延迟问题。结果是,对于我们考虑的场景,培训速度大大加快,成本降低了80%。除了策略梯度(V-trace)实现,我们还提供了最先进的Q-learning (R2D2)的实现。在工作中,我们使用TPU,但原则上,任何现代加速器都可以代替它们。TPU特别适合机器学习应用的高吞吐量和可扩展性。多达2048个内核通过快速互连连接,提供100多千兆次计算。
3、架构
在介绍SEED的架构之前,我们先分析一下IMPALA使用的通用的演员-学习者架构,它在Ape-X,OpenAI Rapid等中也有各种形式的使用。该架构的概述如图1a所示。
大量参与者从学习者(或参数服务器)重复读取模型参数。然后,每个参与者使用本地模型对动作进行采样,并生成观察、动作、策略逻辑/Q值的完整轨迹。最后,这个轨迹连同循环状态被转移到一个共享队列或重放缓冲区。异步地,学习者从队列/重放缓冲区读取成批的轨迹,并优化模型。
图1 体系结构的概述
有很多原因导致了这个架构的不足:
- 使用cpu进行神经网络推理:参与者机器通常基于cpu(在昂贵的环境中偶尔基于gpu)。众所周知,对于神经网络来说,cpu的计算效率很低(Raina et al., 2009)。当模型的计算需求增加时,花费在推理上的时间开始超过环境步骤计算。解决方案是增加参与者的数量,这会增加成本并影响收敛(Espeholt et al., 2018)。
- 低效的资源利用:参与者在两个任务之间交替:环境步骤和推理步骤。这两个任务的计算需求通常不相似,这将导致较低的利用率或较慢的参与者。例如,有些环境本质上是单线程的,而神经网络很容易并行化。
- 带宽要求:模型参数、循环状态和观测值在参与者和学习者之间传递。相对于模型参数,观测轨迹的大小往往只占几个百分比。此外,基于内存的模型发送较大的状态,增加带宽需求。
虽然单机方法如GA3C (Mahmood, 2017)和单机IMPALA避免使用CPU进行推理(1),没有网络带宽要求(3),但它们受到资源使用(2)和许多类型环境所需的规模的限制。
SEED(图1b)中使用的架构解决了上面提到的问题。推理和轨迹积累转移到学习者,使其在概念上成为带有远程环境的单机设置(除了处理故障)。有效地移动逻辑使参与者在环境周围形成一个小循环。对于每一个单独的环境步骤,观察结果都被发送给学习者,学习者运行推断并将操作发回给参与者。这就带来了一个新问题:延迟。
为了减少延迟,我们创建了一个使用gRPC (gRPC .io)的简单框架——高性能RPC库。具体来说,我们采用流式rpc,从参与者到学习者的连接保持开放,元数据只发送一次。此外,该框架还包括一个批处理模块,可以有效地将多个参与者推断调用批处理在一起。在参与者和学习者可以在同一台机器上工作的情况下,gRPC使用unix域套接字,从而减少了延迟、CPU和系统调用开销。总的来说,端到端延迟(包括网络和推理)对于我们考虑的许多模型来说都更快(参见附录a .7)。
以每秒发送100,000个观测数据(每96 x 72 x 3字节)、轨道长度为20和30MB的模型,总带宽要求为148 GB/s。传输观测数据只需要2gb /s。
(a)IMPALA的off-policy。对于整个轨迹,政策保持不变。当轨迹被发送到队列进行优化时,策略已经改变了两次。
(b)SEED中的off-policy 优化模型对政策有直接影响。因此,轨迹由多个不同策略采样的动作组成(πθt, πθt+1,…)。
图2: 异步优化模型参数θ时计算策略π的V个“近对策略”变量。
图3 SEED中详细的学习者架构(带有可选的重放缓冲区)。
IMPALA和SEED架构的不同之处在于,对于SEED,在任何时间点上,只有一个模型的副本存在,而对于分布式IMPALA,每个参与者都有自己的副本。这改变了轨道偏离政策的方式。在IMPALA(图2a)中,行动者对整个轨迹使用相同的政策πθt。对于SEED(图2b),轨迹展开期间的策略可能会多次改变,后续步骤使用更接近优化时使用的策略。
图3显示了SEED架构中学习者的详细视图。有三种类型的线程正在运行:1、推论;2、数据预取;3、训练。推理线程接收一批观察、奖励和情节终止标志。它们加载循环状态并将数据发送到推断TPU核心。采样的动作和新的循环状态被接收,动作被发送回参与者,而最新的循环状态被存储。当轨迹完全展开时,它会被添加到FIFO队列或重播缓冲区,然后由数据预取线程进行采样。最后,轨迹被推到每个TPU核参加训练的设备缓冲区。训练线程(主要Python线程)获取预取的轨迹,使用训练TPU核计算梯度,并同步地将梯度应用于所有TPU核的模型(推理和训练)。可以调整推理和训练核心的比率,以获得最大的吞吐量和利用率。该体系结构通过rounddrobin将参与者分配给TPU主机,并为每个TPU主机拥有单独的推理线程,从而扩展到一个TPU pod(2048核)。当参与者等待学习者的响应时,他们是空闲的,所以为了充分利用机器,我们在一个参与者上运行多个环境。
综上所述,我们通过以下方式解决上述问题:
- 移动推理到学习者,从而消除任何神经网络相关的计算从行动者。在这个体系结构中增加模型大小并不会增加对更多参与者的需求(事实上恰恰相反)。
- 对学习者进行批量推理,对行动者有多个环境。这充分利用了学习者上的加速器和actors上的cpu。用于推理和训练的TPU核数经过微调,以匹配推理和训练工作负载。所有的因素都有助于降低实验成本。
- 所有涉及模型的东西都留在学习者身上,只有观察和行动在参与者和学习者之间发送。这将减少多达99%的带宽需求。
- 使用具有最小延迟和最小开销的流gRPC,并将批处理集成到服务器模块中。
我们提供了在SEED框架中实现的两种算法:V -trace和Qlearning。
3.1 V-TRACE
我们在框架中采用的算法之一是V -trace (Espeholt et al., 2018)。我们不包括已提议在IMPALA上增加的任何东西,如van den Oord等人(2018);Gregor等(2019)。添加的内容也可以应用到SEED,由于它们的计算成本更高,它们将从SEED架构中受益。
3.2 Q-LEARNING
我们通过完全实现R2D2 (Kapturowski等人,2018)展示了SEED架构的多功能性,R2D2是一种最先进的基于价值的分布式代理。R2D2本身建立在一长串DQN改进的基础上(Mnih等,2015):双q学习(van Hasselt, 2010;V an Hasselt等人,2016),多步引导目标(Sutton, 1988;萨顿&巴托出版社,1998年;Mnih等人,2016年),竞争网络架构(Wang等人,2016年),优先分布式回放缓冲区(Schaul等人,2015年;Horgan等人,2018年),值-函数缩放(Pohlen等人,2018年),LSTM的(Hochreiter & Schmidhuber, 1997年)和burnin (Kapturowski等人,2018年)。
代替一个分布式的重放缓冲区,我们展示了用一个简单灵活的实现在学习者上保持重放缓冲区是可能的。这通过在设置中删除一种类型的作业来降低复杂性。它的缺点被学习者的记忆有限,但它不是一个问题在我们的实验中以很大的优势:10^5轨迹的回放缓冲区长度为120的84×84未压缩灰度观察(R2D2 hyperparameters后)需要85 gb的内存,而谷歌云机器可以提供数以百计的GBs。然而,在需要更大的重放缓冲区的情况下,没有什么可以阻止分布式重放缓冲区与SEED的中心推断一起使用
4 实验
我们在许多环境中评估SEED: DeepMind实验室(Beattie等人,2016年)、谷歌研究足球(Kurach等人,2019年)和Arcade学习环境(Bellemare等人,2013年)。
4.1 DEEPMIND LAB AND V-TRACE
DeepMind实验室是一个基于Quake 3引擎的3D环境。它的特点是迷宫,激光标记和记忆任务。我们评估四个常用的任务。使用的行动集来自Espeholt等人(2018),尽管对于一些任务来说,更大的行动集(如Hessel等人(2018))可以获得更高的回报。在所有的实验中,我们都使用了4个动作重复,图中的帧数被列为环境帧(相当于4倍的步骤数)。两个代理使用同一组24个超参数集和同一模型(来自IMPALA的ResNet)。更多详情请参阅附录A.1.2。
第一个实验评估图2中描述的off-policy行为更改的影响。IMPALA和SEED使用了完全相同的超参数,包括使用的环境数量。如图4所示,SEED的跨超参数稳定性略好于IMPALA,而最终收益略高。
4.1.1 稳定性
第一个实验评估图2中描述的off-policy行为更改的影响。IMPALA和SEED使用了完全相同的超参数,包括使用的环境数量。如图4所示,SEED的跨超参数稳定性略好于IMPALA,而最终收益略高。
图4 在完全相同的条件下(175个演员,相同的超参数,等等)比较IMPALA和SEED的图显示了超参数组合,根据不同的超参数组合的最终表现排序。
图5 培训DeepMind实验室的4项任务。每条曲线都是24轮中最好的,基于评估程序的最终回报(2018)。样本复杂度维持在8个TPU v3内核,这使得训练速度比IMPALA基线快11倍。顶部一行:Xaxis是每帧(帧数= 4x步数)。下面一行:x轴是小时。
4.1.2 速度
为了评估性能,我们将IMPALA与Nvidia P100、SEED和多个加速器设置进行了比较。它们在同一组超参数上进行计算。我们发现SEED在使用2个TPU v3内核的情况下比IMPALA快2.5倍(见表1),而使用的环境仅多77%,CPU少41%(见4.4.1节)。在保持样本复杂度的前提下,从2核扩展到8核,加速速度增加了4.4倍(图5)。由于使用6核进行训练,使用2核进行推理,而不是每个核1核,加速速度超过了4x,从而提高了利用率。通过随训练核数线性增加批处理大小,可以获得5.3倍的加速,而不是4.4倍,但与相关研究相反(Y ou et al., 2017b;Goyal等人,2017)我们发现,即使使用热身和演员去相关等方法,增加批量也会损害样本的复杂性(stoke & Abbeel, 2018)。我们假设,这是由于DeepMind实验室任务的参与者和环境多样性有限。在McCandlish等人(2018)中,他们发现Pong很难根据批大小进行扩展,但如果批大小比Dota大5个数量级,则可以有效地训练Dota。注:对于大多数型号,有效批次大小为批次大小·轨迹长度。在图5中,我们包含了对“explore_goal_locations_small”的有限扫描,使用64个核,几乎是线性加速。wallall的性能得到了改善,但是样本的复杂性受到了严重的影响。
当使用Nvidia P100时,SEED比IMPALA慢1.58倍。由于SEED对加速器执行推断,因此预期会出现减速。然而,SEED使用的cpu数量更少,成本更低(见附录A.6)。SEED的TPU版本已经进行了优化,但很可能可以发现改进的SEED与P100。
表1 SEED,IMPALA和R2D2的表现。
4.2 谷歌研究FOOTBALL和V-TRACE
谷歌研究足球是一个环境类似于FIFA电子游戏(ea.com)。我们在Kurach等人(2019)引入的“硬”任务中评估SEED,其中基线IMPALA agent在500帧后使用工程“checkpoint”奖励功能获得正平均分,但仅将分数作为奖励信号获得负平均分。在所有的实验中,我们使用来自Kurach等人(2019)的模型,并以每个3个SEED覆盖超过40个超参数集。请参见附录A.2.1中的所有超参数。
4.2.1 速度
与Kurach等人(2019)中使用2个Nvidia P100的基线IMPALA(以及用于推断的cpu)相比,我们发现在SEED中使用2个TPU v3内核提高了1.6倍的速度(见表1)。此外,使用8个内核又增加了4.1倍的速度。如果批处理大小随训练核数(5)线性增加,速度可达到4.5倍。然而,我们发现,像DeepMind Lab一样,增加批处理大小会损害样本的复杂性。
4.2.2 增加地图大小
更多的计算能力允许我们增加超级迷你地图(SMM)的输入状态的大小。默认情况下,它的大小是96 x 72 (x 4),它以2d位图的形式表示玩家、对手、球和活跃的玩家。我们评估了三种大小:(1)默认96 x 72,(2)中等120 x 90和(3)大144 x 108。如表1所示,从默认SMM切换到大型SMM会降低60%的速度。然而,增加位图大小会提高最终得分(表2)。这可能表明位图表示对任务来说不够细粒度。对于这两个奖励函数,我们改进了Kurach等人(2019)的结果。最后,在4B框架上的训练显著提高了结果(平均得分为0.46 vs. 4.76,如果使用得分奖励功能)。
4.3 ARCADE LEARNING ENVIRONMENT AND Q-LEARNING
图6 SEED和相关制剂在雅达利-57上的人类标准化得分中位数。SEED模式在每场比赛中使用1个种子。所有探员都会随机抽取30个无行动人员进行评估。左:x轴是小时,右:x轴是环境帧(由于动作重复,一个帧是环境步骤的1/4)。SEED达到了比R2D2快3.1倍的性能水平。
在ALE基准测试中,我们在57款Atari 2600游戏的SEED架构中评估了R2D2的实现。由于视觉效果和游戏机制的多样性,这个基准已经成为最近深度强化学习代理的测试平台。
表2: 谷歌研究足球“硬”使用两种奖励功能。对于每个奖励函数,40个超参数集运行3个SEED,每个SEED在500万帧训练后平均。该表显示了这40个平均值的中位数和最大值。这与Kurach等人(2019)的设置类似,尽管我们运行了40个超参数集,而不是100个,但并没有使用5个SEED重新运行我们的最佳模型。
我们遵循与R2D2相同的评估程序。特别地,我们使用了完整的动作集,没有将生命作为章节结束的启发式,并且在开始的章节中有多达30个随机的无操作。我们使用8个TPU v3内核和610个actor来最大化TPU利用率。这实现了260K的环境帧率和每秒9.5个网络更新。其他超参数来自R2D2,并在附录A.3.1中完整复制。
图6显示了SEED、R2D2、Ape-X和Rainbow的人类归一化评分中值。正如所预期的那样,SEED具有与R2D2相似的样本效率,但是它比R2D2快3.1倍(见表1)。这使得我们在仅仅1.8天的训练中就可以达到1880%的人类标准化评分中值,而不是5天,这在Atari-57上建立了一个新的最高水平。
当actor的数量增加到1200个,批量大小增加到256个,在没有帧堆积的情况下,我们可以实现440K的环境帧数,并且使用每秒16批的批量学习。然而,这明显降低了样本效率,并将最终人类标准化得分的中位数限制在大约1000%。
4.4 成本比较(COST COMPARISONS)
随着环境的日益复杂,以及用于强化学习的神经网络的规模越来越大,进行大型实验的需求也越来越大,降低成本变得尤为重要。在本节中,我们将分析网络复杂性的增加如何影响SEED和IMPALA的训练成本。在我们的实验中,我们使用谷歌AI平台ML engine的定价模型
我们的主要关注点是在保持训练速度的同时,尽可能降低每一步的成本。Espeholt等人(2018)(IMPALA)的分布式实验使用了150到500个cpu,换算成演员每小时7.125美元23.75美元。单gpu学习者的费用是每小时1.46美元。由于参与者的开销相对较高,我们的主要关注点是减少参与者的数量并获得较高的CPU利用率。
表3 截至2019年9月的云资源成本。
4.4.1 DEEPMIND LAB
我们DeepMind实验室的实验是基于IMPALA的ResNet模型。我们评估增加卷积层中的滤波器数量:(1)Default 1x (2) Medium 2x和(3)Large 4x。在“explore_goal_locations_small”任务上进行实验。IMPALA使用单个Nvidia Tesla P100 GPU进行训练,而推理则由actors在CPU上完成。SEED使用一个TPU v3核心进行训练,一个用于推理。
对于IMPALA, actor的CPU利用率接近100%,但是在SEED的情况下,只有环境运行在actor上,在等待推理步骤时使CPU空闲。为了提高利用率,单个SEED actor在4 cpu的机器上运行多个环境(在12到16之间)。
表4 DeepMind实验室的培训成本为10亿帧。
如表4所示,SEED不仅更快,而且运行成本更低。SEED和IMPALA的成本比约为4。由于在CPU上进行推理的成本很高,IMPALA的成本随着网络复杂度的增加而增加。对于SEED项目,增加的网络规模对总成本的影响较小,因为推理成本约占总成本的30%(见表A.5)。
4.4.2 GOOGLE RESEARCH FOOTBALL
我们评估了使用不同大小的超级迷你地图的谷歌研究足球进行实验的成本(大小实际上对环境的速度没有影响)。对于IMPALA,使用两个Nvidia P100 gpu进行训练,使用一个TPU v3 core进行训练,使用一个SEED进行推理。
对于IMPALA,我们每个参与者使用一个核,而SEED的参与者每个参与者运行多个环境,以获得更好的CPU利用率(8个核,12个环境)。
表5 谷歌研究足球的训练成本为10亿帧。
对于SMM的默认大小,每个实验训练成本的差异只有68%。由于谷歌研究足球环境比DeepMind实验室更昂贵,训练和推理成本对整体实验成本的影响相对较小。当SMM的大小增加和SEED需要相对较少的行动者时,差异增大。
4.4.3 ARCADE LEARNING ENVIRONMENT(学习环境)
由于缺乏R2D2的基线实现,我们不包括这种环境的成本比较。然而,对ALE、DeepMind Lab和足球的相对成本进行比较后,我们发现,节省的成本应该更大。ALE是这三种环境中速度最快的,相应地,推理成本也最高。附录A.5展示了在不同的设置下,演员和学习者之间的培训成本分摊。
5 总结:
我们引入并分析了一种新的强化学习代理体系结构,它通过更好地利用现代加速器,比以前的分布式体系结构在每个环境帧上更快,成本更低。与强大的IMPALA基线相比,它在DeepMind Lab上实现了11倍的wall加速,同时保持了相同的采样效率,提高了谷歌Research Football上的艺术状态分数,并比之前的研究更快地实现了Atari-57上的艺术状态分数3.1倍(wall)。
代理是开源的,可以轻松地在谷歌云上运行。我们希望这将加速强化学习研究,使社区能够复制最先进的结果,并建立在他们的基础上。
为了展示这种新的代理架构的潜力,我们能够在现实场景中将其扩展到每秒数百万帧(与之前的研究相比加速了80倍)。然而,这需要增加环境的数量和使用更大的批大小,这损害了测试环境中的样品效率。在RL (stoke & Abbeel, 2018;McCandlish等人,2018年)和监督学习环境(You等人,2017b;a;2019;Goyal等人,2017)。我们相信这仍然是一个开放的和越来越重要的研究领域,以扩大强化学习。
A 附录
A.1 DEEPMIND实验室
A.1.1 LEVEL CACHE
我们启用了DeepMind Lab为SEED和IMPALA使用level cache的选项,这大大减少了CPU使用量,并导致单个核的actor CPU使用量接近100%。
A.1.2 超参数
表6 稳定性实验中使用的超参数范围。
A.2 GOOGLE RESEARCH FOOTBALL
A.2.1 超参数
表7 超参数范围用于计分和检查点奖励的实验。
A.3 ALE
A3.1 超参数
我们使用与R2D2相同的超参数(Kapturowski等人,2018),除了为了最好地利用8个TPU v3内核,我们使用更多的actor。为了完整性,agent超参数如表8所示,环境处理参数如表9所示。我们使用与R2D2相同的神经网络结构,即3个卷积层,滤波器尺寸[32,64,64],核尺寸[8 × 8,4 × 4,3 × 3]和stride [4,2,1], ReLU激活和“有效”填充。它们进入一个带有512个单位的线性层,进入一个带有512个隐藏单位的LSTM层(游戏邦注:这也使用了之前的行动编码和之前的环境奖励作为输入),进入一个带有512个隐藏单位的决斗头。我们使用了gloria uniform (gloria & Bengio, 2010)初始化。
表 8 Atari-57的 agent SEED超参数。
表9 Atari-57环境处理参数。
A.3.2 Atari-57的全部结果
表10 SEED的最终表现是8个TPU v3内核,610个演员(1个种子)与R2D2(平均超过3个种子)和人类相比,在每一集的开始使用多达30个随机的无操作步骤。在40e9环境框架下训练后,SEED通过平均回报超过200集的游戏进行评估。
图7 57款雅达利2600游戏的SEED学习曲线(8个TPUv3内核,610个角色,1个SEED评估)。每条曲线的每个点平均收益超过200个集。没有进行曲线平滑。曲线在大约43小时的训练结束,对应40e9环境帧。
A.4 SEED LOCALLY AND CLOUD
SEED是开源的,同时还提供了一个在本地机器上运行和使用AI平台(谷歌云的一部分)进行规模化运行的例子。我们提供了一个公共Docker映像,其中包含用c++实现的已经预编译的底层组件,以减少启动SEED实验所需的时间。
在云上运行的主要先决条件是设置一个云项目。提供的启动脚本将上传图像并为您运行训练。更多详情请参见github.com/ google-research/seed_rl。
A.5 EXPERIMENTS COST SPLIT
表11 按组件划分,IMPALA和SEED的执行成本为10亿帧。
A.6 在DEEPMIND实验室使用NVIDIA P100 gpu进行成本比较
在第4.4.1节中,我们比较了使用两个TPU v3内核运行SEED和在单个Nvidia P100 GPU上运行IMPALA的成本。表12,我们也比较成本当代理运行在单个Nvidia GPU P100 DeepMind实验室。尽管这是一个最优设置SEED为它对加速器执行推理,因此收益不成比例的更高效的加速器如tpu、SEED比较有利,1.76 x比IMALALA每帧便宜。
表12 在DeepMind Lab的单个Nvidia P100 GPU上运行IMPALA和SEED时,运行10亿帧的成本。
A.7 推理延迟
表13 针对不同环境和模型的IMPALA和SEED的端到端推理延迟。
SEED RL:SCALABLE AND EFFICIENT DEEP-RL WITH ACCELERATED CENTRAL INFERENCE 翻译相关推荐
- 语义分割--Efficient Deep Models for Monocular Road Segmentation
Efficient Deep Models for Monocular Road Segmentation code: https://lmb.informatik.uni-freiburg.de/P ...
- Paper之EfficientDet: 《Scalable and Efficient Object Detection—可扩展和高效的目标检测》的翻译及其解读—续篇
Paper之EfficientDet: <Scalable and Efficient Object Detection-可扩展和高效的目标检测>的翻译及其解读 导读:2019年11月21 ...
- Paper之EfficientDet: 《Scalable and Efficient Object Detection—可扩展和高效的目标检测》的翻译及其解读
Paper之EfficientDet: <Scalable and Efficient Object Detection-可扩展和高效的目标检测>的翻译及其解读 导读:2019年11月21 ...
- 论文阅读”Efficient Deep Embedded Subspace Clustering“(CVPR2022)
论文标题 Efficient Deep Embedded Subspace Clustering 论文作者.链接 作者: Cai, Jinyu and Fan, Jicong and Guo, Wen ...
- 【翻译】Sibyl: Host Load Prediction with an Efficient Deep Learning Model in Cloud ComputingSibyl:高效的深度学
[翻译]Sibyl: Host Load Prediction with an Efficient Deep Learning Model in Cloud ComputingSibyl:高效的深度学 ...
- EfficientDet:Scalable and Efficient Object Detection
快速论文解读|CVPR2020|EfficientDet:Scalable and Efficient Object Detection) 1.背景描述 在目标检测中,为了增强网络的特征表达能力, ...
- 2021-ACS-IGN: A Novel and Efficient Deep Graph Representation Learning Framework for Accurate
2021-ACS-IGN: A Novel and Efficient Deep Graph Representation Learning Framework for Accurate Paper: ...
- Paper:Xavier参数初始化之《Understanding the difficulty of training deep feedforward neural networks》的翻译与解读
Paper:Xavier参数初始化之<Understanding the difficulty of training deep feedforward neural networks>的 ...
- Deep Subspace Clustering with Sparsity Prior 翻译
Deep Subspace Clustering with Sparsity Prior 翻译 摘要: 子空间聚类旨在通过隐式地寻找子空间以匹配每个类别,来将未标记的样本聚类成多个簇.大多数现有方法基 ...
最新文章
- 判断密文加密类型hash-identifier
- 【效率】如何有效提问
- Buildroot stress-ng Linux系统压力测试
- python写网页插件_用python 实现activex网页控件
- linux下矩阵键盘设备名,Linux下矩阵键盘驱动分析与移植
- One Switch for Mac(系统功能快速切换工具)
- C++中 模板Template的使用
- 2021年第十八届五一数学建模竞赛题目 C题 数据驱动的异常检测与预警问题 解题论文完整版
- STM32F429第四篇之跑马灯程序详解
- python3解密栅栏密码的正确方法
- 计算机固态硬盘安装,台式计算机的固态硬盘安装方法和步骤教程
- 推荐算法之协同过滤算法详解(原理,流程,步骤,适用场景)
- BLC 以及 线性化
- 链塔年会圆桌论坛实录
- nvivo服务器项目,【NVivo教程】用Nvivo为研究团队设立主项目
- 传奇3国际版 单机假设.说明和下载地址
- 用计算机弹起风了歌词,《起风了买辣椒也用券 抖音热歌起风了》的歌词 LRC完整歌词...
- 腾讯蚂蚁字节美团后台实习面经
- roc_auc_score()、auc()和roc_curve()
- Java-Quartz定时器
热门文章
- 【C语言】exit()和_exit()的区别
- 《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--第三章 Wi-Fi基础知识
- Linux - Attempted to kill init解决方案
- 图像相似度计算方法和代码实现
- Linux-centos挂载硬盘详细教程-图文版
- 串口 单片机 文件_STM32物联网实战项目 HAL裸机开发09 串口打印
- ubuntu 20 找不到适配器
- 手把手教你实现『B站直播』弹幕实时分析
- 有关个人租房的一些细节
- 攻防世界——WEB题目Ikun_BILIBILI