完虐"机器人",36核CPU单机,南加大游戏AI在Doom中实现SOTA性能

℡╲_俬逩灬. 提交于 2020-07-25 23:48:33

  机器之心报道

  编辑:陈萍、杜伟

  

训练游戏 AI 往往需要耗费巨量的计算,并且依赖配备数百个 CPU 和 GPU 的服务器。大的科技公司有能力和资金支撑,但学术实验室却「心有余而钱不足」。在本文中,南加州大学和英特尔实验室的研究者展示了在第一人称射击游戏《毁灭战士》中,使用单个高端工作站训练具备 SOTA 性能的游戏 AI,最多时用到了 36 核 CPU 和单个 RTX 2080 Ti GPU 的系统。

  

  我们都清楚,训练 SOTA 人工智能系统往往需要耗费大量的计算资源,这意味着资金雄厚的科技公司的发展进程会远远超过学术团队。但最近的一项研究提出了一种新方法,该方法有助于缩小这种差距,使得科学家可以在单个计算机上解决前沿的 AI 问题。

  OpenAI 2018 年的一份报告显示,用于训练游戏 AI 的处理能力正在快速地提升,每 3.4 个月翻一番。其中对数据需求量最大的一种方法是深度强化学习,通过在数百万个模拟中迭代,AI 在反复试错中进行学习。《星际争霸》和《Dota2》等电子游戏领域取得了令人瞩目的新进展,但都依赖封装了数百个 CPU 和 GPU 的服务器。

  针对这种情况,Cerebras System 开发的 Wafer Scale 引擎能够使用单个大芯片来替换这些处理器,这个芯片为训练 AI 进行了完美的优化。但是由于价格高达数百万,所以对于资金短缺的研究人员来说是可望不可即的。

  最近,来自南加州大学和英特尔实验室的研究团队创建了一种新方法,该方法可以在学术实验室常见的硬件上训练深度强化学习算法。该研究被 ICML 2020 会议接收。

  

  论文链接:https://arxiv.org/pdf/2006.11751.pdf

  项目地址:https://github.com/alex-petrenko/sample-factory

  在这项研究中,研究者展示了如何使用单个高端工作站,在第一人称射击电子游戏《毁灭战士》(Doom)中训练具有 SOTA 性能的 AI。不仅如此,他们使用正常计算能力的一小部分解决了 DeepMind 创建的 30 种不同的 3D 挑战套件。

  在具体配置上,研究者分别采用了一个具有 10 核 CPU 和 GTX 1080 Ti GPU 的工作站级 PC,以及配备了服务器级 36 核 CPU 和单个 RTX 2080 Ti GPU 的系统。

  下面是 Doom 游戏中第一人称视角的对战画面:

  

  

  接下来,我们来看下这项研究的技术细节。

  方法概述

  该研究提出了一个针对单机设置优化的高通量训练系统「Sample Factory」。该架构将一个基于 GPU 的高效异步采样器与离策略校正方法结合在一起,从而在不损失采样效率的情况下,在 3D 非平凡控制问题上实现高于每秒 105 环境帧的吞吐量。

  此外,研究者还扩展了 Sample Factory,以支持自我对弈(self-play)和基于群体的训练,并应用这些技术来训练多人第一视角射击游戏中的高性能智能体。

  Sample Factory

  Sample Factory 是在一台机器上进行高吞吐量强化学习的架构。在设计系统时,研究者专注于使所有关键计算完全异步,以及充分利用快速本地消息传递(fast local messaging)来最小化组件之间的延迟和通信成本。

  下图 1 为 Sample Factory 的架构图:

  

  典型的强化学习场景涉及三个主要的计算工作负载:环境模拟、模型推断和反向传播。

  该研究的主要动机是建立一个系统,在这个系统中,三个工作负载中最慢的一个负载不必等待其他进程来提供执行下一步计算所需的数据,这是因为该算法的总体吞吐量最终由最低吞吐量的工作负载来决定。

  与此同时,为了最小化过程等待所花费的时间,还需要保证新输入始终可用,在下一步计算开始之前也是如此。如果在一个系统中,计算强大最大的工作负载永远不会闲置,则该系统可以实现最高的资源利用率,进而达到最佳性能。

  测试系统和环境

  由于该研究的主要动机是增加吞吐量和减少实验周转时间,因此研究者主要从系统性能的计算方面进行评估。

  具体而言,研究者在两个类似于深度学习研究实验室中常见硬件设置的硬件系统上测量训练帧率。其中系统 1 是一个具有 10 核 CPU 和 GTX 1080 Ti GPU 的工作站级 PC。系统 2 则配备了服务器级 36 核 CPU 和单个 RTX 2080 Ti GPU。

  此外,测试环境使用三个模拟器:Atari(Bellemare 等,2013)、VizDoom(Kempka 等,2016)和 DeepMind Lab(Beattie 等,2016)。

  

  硬件系统 1 和系统 2。

  实验结果

  计算性能

  研究者首先对 Sample Factory 与其他高吞吐量策略梯度方法的性能进行了比较。

  下图 3 展示了不同配置下连续训练 5 分钟内的平均训练吞吐量,以解释由事件重置(episode reset)和其他因素引起的性能波动。可以看到, 在大多数训练场景中,Sample Factory 的性能优于基准方法。

  

  下图 4 演示了系统吞吐量如何转化为原始的训练性能。Sample Factory 和 SeedRL 实现了相似的异步体系架构,并在超参数相同的情况下实现了非常接近的采样效率。因此,研究者直接对这两者的训练时间进行了比较。

  

  下表 1 表明,在 Atari、VizDoom 和 DMLab 三个模拟环境中,与 DeepMind IMPALA、RLlib IMPALA、SeedRL V-trace 和 rlpyt PPO 等基线方法相比,Sample Factory 更接近于理想的性能。实验还表明,进一步优化也是可能实现的。

  

  DMLab-30 experiment

  为了证明 Sample Factory 的效率和灵活性,该研究在 DMLab-30 上训练了四个代理的种群(图 5)。虽然最初的实现依赖于分布式多服务器设置,但该代理在单核 36 核 4-GPU 机器上进行了训练。Sample Factory 减少了大规模实验的计算需求,并使诸如 DMLab-30 之类的多任务基准可供更广泛的研究团体使用。

  

  VizDoom 模拟环境

  研究者进一步使用 Sample Factory 在一系列 VizDoom 模拟环境上训练智能体。VizDoom 提供了具有挑战性的场景,这些场景通常具有极高的潜在技能上限。此外,VizDoom 还以相当高的输入分辨率支持快速的经验收集(rapid experience collection)。

  借助 Sample Factory,我们可以在几小时内对智能体进行数十亿次环境转变的训练(具体请参见上图 3)。

  如下图 6 所示,研究者首先检查了一系列 VizDoom 标准场景中的智能体性能,结果表明该算法在大多数任务上都达到或超越了以往研究(Beeching 等人,2019)中的性能。

  

  四种单人游戏模式下的性能比较

  他们研究了 Sample Factory 智能体在四种高级单人游戏模式下的性能,这四种模式分别是 Battle、Battle2、Duel 和 Deathmatch。

  其中,在 Battle 和 Battle2 中,智能体的目标是在维持生命值和弹药的同时击败封闭迷宫中的敌方。

  如下图 7 所示,在 Battle 和 Battle2 两种游戏模式中,Sample Factory 的最终得分大大超过了以往研究(Dosovitskiy&Koltun,2017;Zhou 等人,2019)中的得分。

  

  接着,在 Duel 和 Deathmatch 这两种游戏模式中,研究者使用配备 4 个 GPU 的 36 核 PC 来充分发挥 Sample Factory 的性能,并通过基于群体的训练来训练 8 个智能体。

  最后,智能体在全部对弈中击败了最高难度设置下的机器人角色。在 Deathmatch 模式中,智能体以 80.5 对 12.6 的平均分分值比击败敌方。在 Duel 模式中,每局对弈的平均分值比为 34.7 对 3.6 分。

  自我对弈实验

  利用 VizDoom 的联网功能,研究者为 Duel 和 Deathmatch 游戏模式的多人版本创建了一个 Gym 界面(Brockman 等人,2016)。

  研究者对脚本控制的对手(scripted opponent)进行了实验,其中 8 个智能体都在单个 36 核 4-GPU 服务器上接受 2.5×109 个环境帧的训练,整个群体需要花费 18 年的模拟经验。

  然后,研究者模拟了自我对弈智能体对战脚本控制敌方的 100 局比赛,并从这两个群体中选择得分最高的智能体。

  结果是自我对弈智能体 78 胜 3 负 19 平。这表明,基于群体的训练产生了更为稳健的策略,而基于机器人角色训练的智能体在单人对战模式中会出现过拟合。

  

  参考链接:https://spectrum.ieee.org/tech-talk/artificial-intelligence/machine-learning/powerful-ai-can-now-be-trained-on-a-single-computer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!