Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

陈萍、杜伟参与

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

训练游戏 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
入门南加州大学英特尔
相关数据
英特尔机构

英特尔(NASDAQ: INTC)是全球半导体行业的引领者,以计算和通信技术奠定全球创新基石,塑造以数据为中心的未来。我们通过精尖制造的专长,帮助保护、驱动和连接数十亿设备以及智能互联世界的基础设施 —— 从云、网络到边缘设备以及它们之间的一切,并帮助解决世界上最艰巨的问题和挑战。

http://www.intel.cn/
相关技术
Qualcomm机构

高通公司(英语:Qualcomm,NASDAQ:QCOM)是一个位于美国加州圣地亚哥的无线电通信技术研发公司,由加州大学圣地亚哥分校教授厄文·马克·雅克布和安德鲁·维特比创建,于1985年成立。两人此前曾共同创建Linkabit。 高通公司是全球3G、4G与5G技术研发的领先企业,目前已经向全球多家制造商提供技术使用授权,涉及了世界上所有电信设备和消费电子设备的品牌。根据iSuppli的统计数据,高通在2007年度一季度首次一举成为全球最大的无线半导体供应商,并在此后继续保持这一领导地位。其骁龙移动智能处理器是业界领先的全合一、全系列移动处理器,具有高性能、低功耗、逼真的多媒体和全面的连接性。目前公司的产品和业务正在变革医疗、汽车、物联网、智能家居、智慧城市等多个领域。

http://www.qualcomm.com/
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

https://deepmind.com/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~