每秒处理240万帧游戏画面,AI训练成本降低80%,谷歌开源RL并行计算框架

新闻 人工智能
最近,不差钱的谷歌,开源了一种SEED RL框架,可以更容易地将AI训练放在几千台机器上运行,效果比之前的方法最高提升近4倍。

 本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

对土豪来说最痛苦的是什么,就是有一大堆硬件却不能实现1+1=2的效果。

AI训练中的并行计算就是如此,纵使你有一千张GPU,也无法实现单机训练一千倍的效果。

最近,不差钱的谷歌,开源了一种SEED RL框架,可以更容易地将AI训练放在几千台机器上运行,效果比之前的方法最高提升近4倍。

如果你也不差钱,在云端上进行大规模并行计算,那么可以节约80%的训练成本。考虑到现在一个大型AI模型动辄上百万的训练费用,真的是非常可观了。

在训练AI玩足球游戏这件事情上,SEED RL的处理速度可以达到每秒240万帧。如果以60fps计算,相当于每秒可处理11小时的游戏画面。

每秒处理240万帧游戏画面,AI训练成本降低80%,谷歌开源RL并行计算框架

SEED RL体系架构

上一代的分布式强化学习智能体IMPALA,其体系架构中包含Actor和Learner两部分。

Actor通常在CPU上运行,并且在环境中采取的步骤与对模型进行推断之间进行迭代,以预测下一个动作。

Actor经常会更新推理模型的参数,并且在收集到足够数量的观测结果后,会将观测结果和动作的轨迹发送给Learner,从而对Learner进行优化。

在这种架构中,Learner使用来自数百台机器上的分布式推理输入在GPU上训练模型。

但IMPALA存在着许多缺点:

1、使用CPU进行神经网络推理,效率低下。而且随着模型变大、运算量变大,问题会越来越严重。

2、Actor和Learner之间模型参数的带宽成为性能的瓶颈。

3、资源利用效率低,Actor在环境和推理两个任务之间交替进行,而这两个任务的计算要求不同,很难在同一台机器上充分利用资源。

SEED RL体系架构解决了以上这些缺点。Actor可以在GPU、TPU这类AI硬件加速器上完成推理,通过确保将模型参数和状态保持在本地来加快推理速度,并避免数据传输瓶颈。

与IMPALA体系结构相反,SEED RL中的Actor仅在环境中执行操作。Learner在硬件加速器上使用来自多个Actor的成批数据来集中执行推理。

SEED RL在每个环境步骤将观测结果发送给Learner的同时,使用gPRC框架的网络库,将延迟保持在较低水平。这使SEED RL在一台机器上每秒最多可以实现一百万个查询。

Learner可以扩展到几千个核心上,Actor的数量可以扩展到几千台机器,从而实现每秒百万帧的训练速度。

SEED RL用到了两种最先进的算法:V-trace和R2D2。

V-trace负责从采样的动作中预测动作的分布,R2D2负责根据动作的预测未来值选择一个动作。

V-trace是基于策略梯度的方法,最早被IMPALA采用。由于Actor和Learner是异步执行,而V-trace在异步体系架构中的效果很好

第二种算法是R2D2,这是一种Q学习方法,DeepMind曾用这种算法将强化学习智能体在Atari游戏上的水平提高了4倍,并在52款游戏上超过了人类水平。

这种方法允许Q学习算法大规模硬件上运行的同时仍然可以使用RNN。

实验结果

谷歌在DeepMind最近研究的开源足球游戏项目Google Research Football中进行了基准测试。

每秒处理240万帧游戏画面,AI训练成本降低80%,谷歌开源RL并行计算框架

使用64个Cloud TPU核心实现了每秒240万帧的数据传输速度,与之前的最新分布式IMPALA相比,提高了80倍。

IMPALA要想达到相同的速度,需要14000个CPU,而SEED RL只用了4160个CPU。对于相同的速度,IMPALA需要的CPU是SEED RL的3~4倍。

每秒处理240万帧游戏画面,AI训练成本降低80%,谷歌开源RL并行计算框架

通过对并行计算的硬件加速器进行优化,我们就可以放心大胆地提高模型的大小。

在上面的足球游戏任务中,通过增加模型大小和输入分辨率,可以解决从前未能解决的一些困难,让训练模型的效率大幅提高。

每秒处理240万帧游戏画面,AI训练成本降低80%,谷歌开源RL并行计算框架

传送门

论文地址:

https://arxiv.org/abs/1910.06591

GitHub地址:

https://github.com/google-research/seed_rl

 

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2022-11-09 13:53:45

AI图像

2022-04-08 14:40:59

框架训练模型

2012-08-17 09:32:52

Python

2020-05-18 10:30:16

AI 神经计算人工智能

2024-08-29 13:30:00

2023-01-05 21:25:06

毫末

2023-07-10 13:51:45

测试并行计算框架

2023-06-15 09:58:48

2022-09-13 21:32:09

毫末

2024-09-26 00:11:01

2010-03-22 14:45:40

云计算

2024-03-20 11:07:57

AI计算CPUGPU

2021-06-01 05:51:37

云计算并行计算分布式计算

2023-09-06 13:17:00

AI数据

2021-07-15 10:30:08

谷歌强化学习AI

2011-04-21 09:13:14

并行计算

2011-12-30 15:01:36

淘宝

2011-04-20 17:15:21

并行计算

2009-12-18 09:38:27

.NET 4.0并行计

2023-02-20 13:50:39

AI 领域建模大数据
点赞
收藏

51CTO技术栈公众号