大规模分布式强化学习基础架构Menger, 大幅提高真实任务的学习效率

关注并星标
从此不迷路
Jiangmen
大规模分布式强化学习基础架构Menger, 大幅提高真实任务的学习效率文章插图
编译: T.R From: Google
强化学习算法在过去几年中取得了巨大的成就 。 目前先进的强化学习模型大多需要大量的计算 , 因此不仅需要增加在环境中探索收集样本的行为主体的数量 , 还需要能够在庞大的训练数据下进行高效迭代训练的能力 。
为了解决这一问题 , 研究人员提出了名为Menger的大规模分布式强化学习架构 , 可以在多线程集群中大规模地实现数千个行为单元 , 并大幅度减小任务的训练时间 。
大规模分布式强化学习基础架构Menger, 大幅提高真实任务的学习效率文章插图
强化学习算法在过去几年中取得了巨大的成就 , 从芯片布局到资源配置 , 从围棋到Dota , 它一往无前地进步着 。 简单来讲 , 强化学习算法的开发过程可以视为数据收集和模型训练的循环过程 , 其中主体会在环境中探索并收集样本 , 而后这些数据被送入到学习器中进行训练并更新模型 。
目前先进的强化学习模型大多需要在数百万个从环境中获取的样本上进行多次迭代训练循环才能够解决特定的目标任务 (例如Dota2的训练过程每两秒就能对200万帧进行学习) 。 在如此大的计算需求下 , 强化学习不仅需要提高效率增加在环境中探索收集样本的行为主体的数量 , 同时还需要能够在如此庞大的训练数据下进行高效迭代训练的能力 。
大规模分布式强化学习基础架构Menger, 大幅提高真实任务的学习效率文章插图
强化学习系统的基本训练流程 , 行为主体首先将采集到的样本送到学习器 , 而后学习器利用这些样本对模型进行训练并将更新后的模型推送给行为主体 。
【大规模分布式强化学习基础架构Menger, 大幅提高真实任务的学习效率】为了解决这一问题 , 研究人员提出了名为Menger的大规模分布式强化学习架构 , 可以在多线程集群 (Borg cells) 中大规模地实现数千个行为单元 , 并大幅度减小任务的训练时间 。
这篇文章讲解了整个架构的实现原理 , 以及如何提高现芯片设计中芯片布局任务的训练效率 。 实验表明 , 这种方法得到的结果相较于原先的方法可以提升8.6x的训练效率 。
注释:Brog系统是一套大规模的集群管理系统 , 可以在数千个机器组成的多个集群上实现对于不同应用和任务的有效管理 。
Menger系统设计人们在分布式强化学习系统领域研发出了不同的系统 , 包括Acme和SEED RL等 , 但每种系统都针对分布式系统中的不同方面进行优化 。
大规模分布式强化学习基础架构Menger, 大幅提高真实任务的学习效率文章插图
大规模分布式强化学习基础架构Menger, 大幅提高真实任务的学习效率文章插图
Acme和SEED系统
Acme在每个行动主体上使用了局部推理 , 并频繁地从学习器请求模型;SEED RL则使用了中心化的推理设计 , 利用一部分TPU核来进行批处理 。
但在分布式强化学习系统的设计中必须要关注一下两个部分的权衡:一方面是行为器与学习器间的数据样本和模型传输的通信开销;另一方面是行为器本身 (CPUs) 的推理开销与加速器 (GPUs/TPUs) 间的比较 。
在综合考虑目标任务对于观测数量、行为空间和模型大小的情况下 , Menger选择了与Acme相似的局部推理方式 , 但却将行为器的规模进行了非常大的拓展!
在实现大规模与高速训练的过程中 , 主要存在以下两个挑战:
1. 为数量庞大的行为器提供模型请求服务会成为学习器的瓶颈所在 , 随着行为主体的增加收敛速度会越来越慢;
2. TPU的效率主要取决于输入流程的性能 , 当TPU计算核大幅度增加时输入流程的性能是决定整个训练效率的关键所在 。