金融投资公司网站模板,网站怎样制作 优帮云,中国家装家居网,aso优化方法如上述博客有任何错误或者疑问#xff0c;请加VX#xff1a;1755337994#xff0c;及时告知#xff01;万分感激#xff01; 本框架是Google发布于ICLR2020顶会上#xff0c;这两天发布于Google Blog上
**论文Arxiv#xff1a;**https://arxiv.org/abs/1910.06591
||…如上述博客有任何错误或者疑问请加VX1755337994及时告知万分感激 本框架是Google发布于ICLR2020顶会上这两天发布于Google Blog上
**论文Arxiv**https://arxiv.org/abs/1910.06591
|| 关于Seed RL
现阶段在云端训练复杂的机器学习模型十分昂贵。报告显示华盛顿大学University of Washington的Grover专为生成和检测假新闻而设计该模型在两周的在训练中共花费了2.5万美元OpenAI训练其GPT-2语言模型每小时需花费256美元谷歌训练其BERT双向转换器模型预估也花费了6912美元。而这些模型前期的训练成本对一些大型AI实验室或科技巨头来说也许不足为提但对于许多的AI创企和小型AI实验室而言却带来了压力.
当前的框架
上一代的分布式强化学习代理例如IMPALA利用专门用于数值计算的加速器充分利用了无监督学习多年来受益的速度和效率。RL代理的体系结构通常分为actor和learner。actor通常在CPU上运行并且在环境中采取的步骤与对模型进行推断之间进行迭代以预测下一个动作。通常actor会更新推理模型的参数并且在收集到足够数量的观察结果之后会将观察结果和动作的轨迹发送给learner从而对learner进行优化。在这种架构中learner使用来自数百台机器上的分布式推理的输入在GPU上训练模型。
RL Agent例如IMPALA的体系结构具有许多缺点 与使用加速器相比使用CPU进行神经网络推理的效率和速度要慢得多并且随着模型变得越来越大且计算量越来越大问题变得越来越严重。 在actor和learner之间发送参数和中间模型状态所需的带宽可能是瓶颈。 在一台机器上处理两个完全不同的任务即环境渲染和推理不可能最佳地利用机器资源。
SEED RL体系结构
SEED RL体系结构旨在解决这些缺点。通过这种方法learner可以在专用硬件GPU或TPU上集中进行神经网络推理从而通过确保模型参数和状态保持局部状态来加快推理速度并避免数据传输瓶颈。尽管观察结果在每个环境步骤都发送给learner但由于基于gRPC框架和异步流RPC的非常高效的网络库延迟保持在较低水平。这使得在一台机器上每秒最多可以实现一百万个查询。learner可以扩展到数千个核心例如在Cloud TPU上最多2048个actor的数量可以扩展到数千台机器以充分利用learner从而可以以每秒数百万帧的速度进行训练。SEED RL基于TensorFlow 2 API在我们的实验中是通过TPU加速的。
SEED RL的特点与性能 基于谷歌的TensorFlow 2.0框架SEED RL的特点是能通过集中模型推理来利用图形卡和TPU张量处理单元。 为了避免数据传输瓶颈SEED RL还使用学习器组件来集中执行AI推理而该组件也使用来自分布式推理的输入来训练模型。 目标模型的变量和状态信息将保持在本地并将每个环境步骤的观察结果发送给学习器组件。同时由于该模型使用了基于开放源代码通用RPC框架的网络库因此它的延迟也将保持在最低水平。 SEED RL的学习器组件能够扩展到成千上万个核心例如在Cloud TPU上最多可扩展到2048个而actor的数量可扩展多达数千台机器。
实验结果如下
SEED RL在常用的Arcade学习环境DeepMind Lab环境以及最近发布的Google Research Football环境中进行了基准测试。
在DeepMind Lab上作者使用64个Cloud TPU内核实现了每秒240万帧的数据传输速度与以前的最新分布式代理IMPALA相比提高了80倍。这样可以显着提高挂钟时间和计算效率。对于相同的速度IMPALA需要的CPU是SEED RL的3-4倍。
通过针对现代加速器进行优化的架构自然会增加模型大小以提高数据效率。我们表明通过增加模型的大小和输入分辨率我们可以解决以前未解决的Google Research Football任务“困难”。
更多参数请查看Google blog:
https://ai.googleblog.com/2020/03/massively-scaling-reinforcement.html
|| 代码使用
1. 克隆仓库 1git clone https://github.com/google-research/seed_rl.git 2cd seed_rl 3 单机本地机器训练 1./run_local.sh [Game] [Agent] [Num. actors] 2./run_local.sh atari r2d2 4 3./run_local.sh football vtrace 4 4./run_local.sh dmlab vtrace 4 5
3. 使用AI平台进行分布式训练
第一步是配置GCP和一个将用于培训的Cloud项目 按照https://cloud.google.com/sdk/install上的说明安装Cloud SDK并设置您的GCP项目。 确保为您的项目启用了计费。 启用AI平台“云机器学习引擎”和Compute Engine API。 如https://cloud.google.com/ml-engine/docs/
working-with-cloud-storage所述授予对AI Platform服务帐户的访问权限。 在您的shell脚本中进行云身份验证以便SEED脚本可以使用您的项目
gcloud auth login 2gcloud config set project [YOUR_PROJECT] 3gcp/train_[scenario_name].sh 4
更多详情查看
GitHub - google-research/seed_rl: SEED RL: Scalable and Efficient Deep-RL with Accelerated Central Inference. Implements IMPALA and R2D2 algorithms in TF2 with SEEDs architecture.
任何程序错误以及技术疑问或需要解答的请添加