苹果M1更适合强化学习?相比V100性能提升200%,价格低90%,功耗减88%

2020年底 , 苹果发布了M1芯片 , 提供了全新的自研GPU , 并和CPU集成封装成SoC , 加上随之而来的MLCompute框架 , macOS端的深度学习训练有了显著的速度提升 。
另一方面 , 强化学习的特性使得训练过程中需要交替使用CPU和GPU , 对此 , M1芯片能否提升强化学习的训练效率?据了解 , 此前业界并无相关测试数据 。
南栖仙策(南京大学人工智能创新研究院技术孵化企业)算法小组用M1芯片设备组建小型服务器集群 , 并与基于NVIDIAGPU的传统服务器进行性能对比测试 , 结果表明 , 强化学习的训练效率可以得到显著提升 。
什么是强化学习
强化学习(ReinforcementLearning,RL) , 又称增强学习 , 是机器学习的范式和方法论之一 。 强化学习智能体(Agent)在与环境的交互过程中 , 通过更新策略以达成回报最大化或实现特定目标 。
广为人知的人脸识别等技术背后的深度学习 , 通常需要开发者准备大量做好标注的图像作为训练数据 。
强化学习与之不同 , 不需要训练数据 , 而是设置一个环境 。 类似于动物处在自然环境中 , 强化学习需要不断与环境交互 , 并从中学习 。 强化学习研究常用的环境是各种各样的游戏 。
强化学习方法简单、有效且通用 , 在许多游戏环境中都取得了超越人类的决策水平 , 被DeepMind认为是实现通用人工智能的一种重要途径 。
强化学习是怎么训练的
苹果M1更适合强化学习?相比V100性能提升200%,价格低90%,功耗减88%
文章图片
如图1所示 , 在强化学习中 , 智能体与环境的交互 , 即在状态S_t下 , 执行动作A_t , 获得对应的奖励R_(t+1)并观测到下一个时刻的状态S_(t+1) 。 智能体的目的是改进策略(即在不同状态下执行的动作) , 来获得最大的长期回报 。 在这个过程中 , 强化学习智能体按照当前策略(通常用神经网络实现)需要将当前状态S_t输入到网络中 , 进行一次前向推理(inference)得到A_t , 使用A_t在环境中执行一步来完成交互 。 此时 , 智能体会收到对应的奖励和下一个时刻的状态 , 然后不断循环该过程 , 产生新的样本用于策略训练 。 样本指的是交互过程中的每一个转移(transition) , 即四元组 。
通常来说 , 强化学习中环境执行动作的这一步由CPU完成 , 当策略网络仅输入一个样本时 , 可以使用CPU(对于浅层的策略网络)或GPU(对于深层的复杂策略网络)进行推理 , 而更新策略网络模型则在GPU上完成 。 常规强化学习任务(以Atari游戏为例)通常需要采集十数M(1M即一兆 , 为10^6)乃至数十M样本才能训练好一个策略 , 那么就需要数千万次 , 甚至数十亿次的交互 。 如果能减小时间开销 , 那将会给强化学习的训练速度带来前所未有的提升 。
M1芯片特殊之处
M1架构
新的M1架构采用了台积电最新的5nm技术 。 M1处理器中有1个CPU,1个GPU,1个神经引擎以及DRAM单元 。 由于RAM内置在处理器中 , 因此所有组件都会访问相同的内存 。 这意味着不会再因为将内存从一个组件移动到下一个组件而造成性能损失 , 无需再尝试弄清楚你的模型是否符合GPU的内存规格 。
苹果M1更适合强化学习?相比V100性能提升200%,价格低90%,功耗减88%
文章图片
CPU
M1芯片的CPU是8核CPU , 其中4核是用于数据处理和一些需要高性能任务的高性能内核 , 另外4核被称为「e核」或高效内核 , 提供更高的处理效率和更低功耗的任务 。
简单来说 , M1芯片不仅靠5nm制程使处理性能更加强大 , 而且里面新增的NPU也使M1更加聪明 。 该NPU采用16核架构 , 每秒进行11万亿次运算 。 M1芯片使用共享内存 , CPU与GPU通信开销小 , 使用Thunderbolt , 通信速度最高可达40Gb/s , 突破了限制瓶颈 , 可使用多台机器组建小型服务器 。