如上述博客有任何错误或者疑问,请加VX:1755337994,及时告知!万分感激!

本框架是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. 单机本地机器训练


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 SEED's architecture.

												

Google强化学习框架SEED RL环境部署相关推荐

  1. Google发布“多巴胺”开源强化学习框架,三大特性全满足

     编译整理 | Just 编辑 | 阿司匹林 出品 | AI科技大本营  强化学习是一种非常重要 AI 技术,它能使用奖励(或惩罚)来驱动智能体(agents)朝着特定目标前进,比如它训练的 A ...

  2. 腾讯AI足球队夺冠Kaggle竞赛,绝悟AI强化学习框架通用性凸显

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 导读]今日,腾讯宣布其人工智能球队摘得首届谷歌足球Kaggle竞赛冠军.该冠军球队来自 ...

  3. 业界 |「多巴胺」来袭!谷歌推出新型强化学习框架Dopamine

    作者:Pablo Samuel Castro.Marc G. Bellemare 来源:Google AI Blog,机器之心 摘要:在过去几年里,强化学习研究取得了多方面的显著进展. 在过去几年里, ...

  4. 强化学习在电商环境下的若干应用与研究

    背景 随着搜索技术的持续发展,我们已经逐渐意识到监督学习算法在搜索场景的局限性: 搜索场景中,只有被当前投放策略排到前面的商品,才会获得曝光机会,从而形成监督学习的正负样本,而曝光出来的商品,只占总的 ...

  5. TensorFlow:实战Google深度学习框架(六)图像数据处理

    第七章 图像数据处理 7.1 TFRecord输入数据格式 TensorFlow提供了一种统一的格式来存储数据--TFRecord格式 7.1.1 TFRecord格式介绍 7.1.2 TFRecor ...

  6. 百度正式发布PaddlePaddle深度强化学习框架PARL

    去年,斯坦福大学神经生物实验室与 EPFL 联合举办了一场强化学习赛事--人工智能假肢挑战赛(AI for Prosthetics Challenge),希望将强化学习应用到人体腿部骨骼仿真模拟模型的 ...

  7. 清华大学深度强化学习框架“天授”开源

    日前,清华大学人工智能研究院基础理论研究中心发布了深度强化学习框架"天授",代码已在GitHub开源(https://github.com/thu-ml/tianshou).这也是 ...

  8. 百度强化学习框架PARL入门强化学习

    1.什么是强化学习? 强化学习(Reinforcement Learning, RL),又称再励学习.评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互 ...

  9. 【强化学习文献阅读】DRN:新闻推荐的深度强化学习框架

    Article 作者:Guanjie Zheng, Fuzheng Zhang, Zihan Zheng, Yang Xiang, Nicholas Jing Yuan, Xing Xie, Zhen ...

最新文章

  1. ubuntu chrome java插件_在Ubuntu中为Chrome安装Java插件
  2. hbase原理与实践_HBase 性能调优第一弹:内存篇
  3. 11个三相异步电动机常见故障与维修方法。
  4. 初探云原生应用管理(二): 为什么你必须尽快转向 Helm v3
  5. Web消息主体风格(Message Body Style)
  6. php连接redis的操作库predis操作大全
  7. java 迁移数据_Java 10迁移建议
  8. leetcode 455. 分发饼干(贪心算法)
  9. 郑州轻工业学校计算机网络,计算机网络期末考试a卷(郑州轻工业学院).doc
  10. 一梦江湖一直获取服务器信息啥意思,《一梦江湖》原《楚留香》手游:叮咚!少侠你的NPC侠缘送来信物...
  11. UI设计中的图标分为哪些类型?
  12. Android开发,MapBox地图详细介绍、使用、部分功能实现(初始化、标记、定位、styleurl)
  13. 微信小程序下拉刷新组件加载图片(三个小点)不显示的问题
  14. 可汗学院公开课:金融学笔记
  15. 八股文-ArrayList
  16. 台式计算机的安装顺序,台式电脑安装步骤教程
  17. 过度商业化的小丑——刘跑跑
  18. 递归:汉罗塔问题的程序实现
  19. 使用邻接表创建无向图和有向图
  20. 大规模土地利用数据处理新手段:高性能的地理处理建模

热门文章

  1. Visual Studio 2017 15.6发布
  2. 多IDC GSLB的部署
  3. Android-TextView跑马灯效果
  4. 【rman】list archivelog all与list backup of archivelog all
  5. IOS之Foundation之探究学习Swift实用基础整理一
  6. 图说 mysql 事务隔离级别
  7. 集中管理:领导者,不能不考虑的几件事之——“挖”出来的无限可能
  8. Hitv8 文件批量重命名工具
  9. win10解决java多版本java -version问题
  10. angular2或4部署到tomcat中,让他跑起来