蓝盟IT外包,Menger:大规模分布式强化学习架构

发布者:上海IT外包来源:http://www.lanmon.net点击数:3075


RL基础架构是数据收集和培训的循环,Actor根据环境收集示例数据,转发给学员,对模型进行培训和更新。 现在,大多数RL实现都需要多次重复环境中的几千万个样本,例如每2秒学习几千万帧的样本,如Dota  2。 因此,RL架构必须具有非常强的数据处理能力。 例如,除了添加Actor以实现大量的样本收集外,还需要在培训期间快速重复这些样本。
Actor和Learner相互作用的RL架构。 拉纳使用采样数据训练模型,并将更新的模型传递给Actor  (例如TF-Agents,IMPALA  )。
今天,我们将介绍具有Menger——本地化推理能力的大规模分布式RL体系结构。 可以在多个处理群集(如Borg单元)上扩展数千个Actors,从而缩短芯片放置任务的培训时间。 下一章介绍如何使用Google  TPU配置Menger、加快培训和通过芯片部署任务验证框架的性能和可扩展性。 与基准模型相比,Menger发现训练时间缩短了8.6倍。
Menger设计的思考

现在有Acme和SEED  RL等各种分布式RL系统,这些系统经常只从特定的角度优化分布式强化学习系统。 例如,Acme从频繁的Learner取得模型,对每个Actor进行本地推理,SEED  RL通过分配一部分TPU内核执行批量调用来进行集中推理。 通信成本和推论成本的测量是不同的优化系统的不同,包括(1)向集中推论服务器的观察和动作的通信成本的收发,或者从Larner取得模型的通信成本。 (2)与加速器(TPU/GPU  )成本相比,Actor的推论成本更大。 考虑到观测值、动作、模型大小等目标程序的要求,Menger使用Acme这样的局部推理,但同时尽量提高Actor的扩展性。 为了实现良好的可扩展性和训练速度,主要的课题有以下两个。

Actor向ACTR发出大量读取请求进行模型检索会成为Actor的负担,随着Actor的数量增加,模型表现会显着受到限制(收敛时间显着增加等)。
在将训练数据传输到TPU计算核心时,TPU的性能通常受到输入流水线效率的限制。 随着TPU计算核心数的增加(如TPU  Pod  ),输入管线的性能对训练时间的影响更明显。高效的模型检索

为了解决第一个问题,TensorFlow代码在Learner和Actor之间部署了透明的分布式缓存组件,并像在Dota中使用一样在Reverb中进行了优化。 缓存组件的主要作用是平衡Actor的大量请求和流道的处理能力。 通过添加这些缓存组件,不仅可以大大减轻对传唱者的过度请求的压力,还可以以较少的通信成本将Actor分配给多个博格单元。 根据我们的研究,对于有512个Actors、尺寸为16MB的模型,通过引入缓存组件可以将平均读取延迟降低到约4.0倍,实现更迅速的训练反复,在PPO等策略算法中。

文/商机蓝盟  IT外包专家

IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部