100万帧数据仅1秒!AI大牛颜水成团队强化学习新作,代码已开源
想当年,玩儿转Dota 2的OpenAI Five训练起来竟然需要超过5万核CPU。就在昨天,颜水成团队公开了最新的强化学习训练环境引擎,256核CPU的运行速度直接达到1秒1百万帧!就连笔记本上的i7-8750H也能有5万帧每秒。
近年来,深度强化学习(Deep RL)取得了飞速的进展,有很多影响深远的工作:从发表在Nature 2015的DQ10N,到后来打败李世石、柯洁等世界冠军的AlphaGo系列,再到复杂游戏:代表星际的AlphaStar和Dota 2的OpenAI Five。
除了算法上的进步之外,最重要的是近年来对于深度强化学习智能体的训练速度及吞吐量的巨大改进,当年的DQN跑简单的Atari游戏都要花费一周多的时间,而现在RL系统已经能承载非常高的吞吐量,能在复杂的游戏和场景中训练起0万来。
世界上目前最大型的强化学习训练系统都是采取分布式训练方法,比如OpenAI Five,使用了超过5万核CPU,以及上千个GPU来进行训练。
OpenAI Five
类似的,AlphaStar里每个训练智能体都连接着同时跑的1万多场星际游戏引擎。为了下游从游戏交互数据中迭代学习的训练速度,在这些训练系统中都不得不使用大量的CPU资源来跑RL环境游戏引擎。
Alp帧数haStar
如此大的资源消耗令大型强化学习训练系统门槛非常高,学术界有限的资源难以在大型游戏或者复杂的RL环境进行研究,不仅学术界,一个实现万核CPU级别的用量在工业界研究院也是不小的负担。
Sea AI Lab的研究人员注意到RL环境,包括游戏引擎,是整个RL训练系统里面最慢的部分,而且处于数据供应端的位置,决定了整个系统吞吐量的上限。
然而这一部件并没有得到研究据仅人员的足够重视,目前最常用的并行执行RL环境的办法是gym.vector_env,即使用Python多进程来进行简单的训练环境并行,使用起来接口能保持不变,可是由于Python的局限性,最后为了达到很高的吞吐量,只能使用更多的CPU资源来进行环境的模拟。
为了提高RL环境的模拟性能及CPU利用效率,Sea AI Lab提供了一个高度并行的RL环境引擎解决方案En1秒vPool。
这个RL环境引擎底层使用C++线程池,通过异步的方式执行多个RL环境实例,来大大加速并行的效率。EnvPool在经典的RL环境模拟器Atari游戏上,利用起NVIDIA DGX A100单机上的256个CPU核,达到了惊人的一百万帧每秒的执行速度。
EnvPool系统概述
如此之高的吞吐量是研究人员最常用的执行引擎gym.vector_env的近14倍。!A这意味着我们能用同样的硬件资源达到一个数量级差别的资源利用效率,或者反过来,使用了EnvPool可以少用一个数量级的资源数量且能达到极高的吞吐量。
对于研究人员来说,EnvPool提供了方便易用的Python接口,如下图所示,最简单的同步执行模式的接口与Gym API完全一致,相比单环境的gym/dm_env, EnvPool仅仅将原本与单个环境交互的API拓展到I大批量交互。
批量获取的state方便算法端直接将数据送往GPU上进行inference,这样下来算法端的实现难度也大大降低,从环境端出来的数据直接已经是批量的适合GPU和TPU处理的格式,能更好的利用GPU/TPU的并行效率。
在异步模式下,EnvPool将原有的step函数拆分成send和recv函数,在调用send函数将action送往环境之后,线程无牛颜需等待当前交互的环境返回新的state,而是交由EnvPool在线程池中执行。
完成执行的环境会将新的state放入队列,通过recv函数来批量获取。相比同步模式,异步模式需要提供环境总数,以及每次交互的批大小。
异步的方式下,算法和环境可以有效的在时间上重合,无需相互等待。
Sea AI Lab的研究员在两种不同的机器型号上评测对比了EnvPool及别的R水成L环境执行引擎的吞吐量,分别是TPU v3-8虚拟机, 以及NVIDIA DGX-A100机型。TPU虚拟机上有96 CPU cores,两个NUMA节点,一台NVIDIA DGX-A100机子有256 CPU核, 8 NUMA nodes.
与EnvPool对比的RL环境模拟系统包括简易的Python for-loop的多环境执行,业界最常用的gym.vector_en团队v,以及去年刚发布的据研究人员所知的之前最快的环境模拟系统Sample Factory。
DGX-100
TPU-VM
由结果可见,在不同的机型上,使用不同数量的worker,EnvPool都具有非常大的优势,特别是在NVIDIA DGX A100上,使用同样的256个CPU核,EnvPool的性能达到了市面上最常用的gym.vector_env的13.3倍,并强化且达到了惊人的一百万帧每秒的运行速度。这个吞吐量下,产生10^9帧(10亿)数据仅需要17分钟。
在相对少资源的设置下,EnvPool表现也十分的优异,在12核的情况下使用gym.vector_env运行Atari仅能达到1.8万帧每秒的速度,而EnvPool可以更有效地利用CPU起来,达到5万帧每秒,是这个广为使用的基准的约3倍。
项目简介
研发团队Se学习a AI Lab (SAIL)隶属于新加坡冬海(SEA)集团,成立于2020年末,由颜水成挂帅,专注于前沿突破性基础研究。
目前,EnvPool已经在GitHub上开源。
https://github.com/sail-sg/envpool
这已经是内部迭代的第二版,对比第一版的内部实现,开源的第二版着眼于简化开发者API,也就是更加方便社区开发者接入不同的游新作戏或者RL训练环境。
接入C++引擎时,开发者只需要定义好单个环境的执行逻辑,EnvPool则负责分布式执行并且提供批交互的API,这使得接入新的RL环境及游戏引擎并得到立刻的并行加速变得非常的简单。
目前EnvPool在进行高度开发,接下来的核心更新包括接入更多的RL环境(包括连续动作空间的近期宣布免费使用的Mujoco),及会提供样例让用户能很方便地利用En,代vPool加速现有的开源RL训练库,包括接入DeepMind的Acme,以及接入EnvPool同一第一作者的大受欢迎的RL训练库天授Tianshou。
此外,EnvPool的成果也被邀请到NVIDIA GTC 2021大会上演讲。
相关文章
题目 :按相反的顺序输出列表的每一位值。 程序分析 :可以使用三种方法1使用list[::-1],2使用list方法reverse(),3使用python内置函数。 程序源代码 : 以上实例输出结果为2026-11-13
云梦级4月8日云梦级消息,近日,汽车后市场数智化领军企业开思时代正式向港交所主板递交招股说明书,由中金公司担任独家保荐人。若顺利完成上市,开思将斩获“港股汽车后市场企业级数智化平台第一股”。 据招股书2026-11-13
Vercel AI Gateway发布!百种AI模型一键调用,零门槛打造智能应用
2025年8月,Vercel宣布其AI Gateway正式进入全面可用阶段(General Availability),为开发者提供了一个高效、便捷的AI模型调用平台。这一创新工具的推出标志着AI开发2026-11-13
亚马逊裁员计划曝光:内部文件显示,2033年机器人或取代超60万个岗位!
据《纽约时报》援引内部战略文件和知情人士采访报道,零售巨头亚马逊(Amazon)正倾向于一项雄心勃勃的自动化计划,该计划旨在未来十年内大幅减少对人力的依赖,避免在美国雇佣超过 50万名员工 。 文件显2026-11-13
谷歌最近发布了一款名为 Mixboard 的实验性工具,旨在帮助用户快速创建情绪板,以探索和实现设计灵感。 作为谷歌实验室的一部分,Mixboard 允许用户在一个开放的画布上自由创作,用户可以选择预2026-11-13
查看最新行情 相关新闻:封杀特朗普账号后,市值一夜蒸发20亿美元的推特将何去何从? 新浪科技讯 北京时间2月8日晚间消息,据报道,Twitter正在开发一款订阅(subscription)产品,以降低2026-11-13

最新评论