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

简介: M1 芯片能否提升强化学习的训练效率?

2020 年底,苹果发布了 M1 芯片,提供了全新的自研 GPU,并和 CPU 集成封装成 SoC,加上随之而来的 ML Compute 框架,macOS 端的深度学习训练有了显著的速度提升。


另一方面,强化学习的特性使得训练过程中需要交替使用 CPU 和 GPU,对此,M1 芯片能否提升强化学习的训练效率?据了解,此前业界并无相关测试数据。
南栖仙策(南京大学人工智能创新研究院技术孵化企业)算法小组用 M1 芯片设备组建小型服务器集群,并与基于 NVIDIA GPU 的传统服务器进行性能对比测试,结果表明,强化学习的训练效率可以得到显著提升。


什么是强化学习


强化学习(Reinforcement Learning, RL),又称增强学习,是机器学习的范式和方法论之一。强化学习智能体(Agent)在与环境的交互过程中,通过更新策略以达成回报最大化或实现特定目标。


广为人知的人脸识别等技术背后的深度学习,通常需要开发者准备大量做好标注的图像作为训练数据。


强化学习与之不同,不需要训练数据,而是设置一个环境。类似于动物处在自然环境中,强化学习需要不断与环境交互,并从中学习。强化学习研究常用的环境是各种各样的游戏。


强化学习方法简单、有效且通用,在许多游戏环境中都取得了超越人类的决策水平,被 DeepMind 认为是实现通用人工智能的一种重要途径。

强化学习是怎么训练的


微信图片_20211205183839.png


图 1 强化学习示意图


如图 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 的内存规格。


微信图片_20211205185206.png


CPU


M1 芯片的 CPU 是 8 核 CPU,其中 4 核是用于数据处理和一些需要高性能任务的高性能内核,另外 4 核被称为「e 核」或高效内核,提供更高的处理效率和更低功耗的任务。


简单来说,M1 芯片不仅靠 5nm 制程使处理性能更加强大,而且里面新增的 NPU 也使 M1 更加聪明。该 NPU 采用 16 核架构,每秒进行 11 万亿次运算。M1 芯片使用共享内存,CPU 与 GPU 通信开销小,使用 Thunderbolt ,通信速度最高可达 40Gb/s,突破了限制瓶颈,可使用多台机器组建小型服务器。


微信图片_20211205185209.png


南栖仙策使用四台 M1 的 Mac mini 组建了小型集群


Apple M1 集群性能测试


测试设置


M1 (单机) :使用 M1 Mac mini 单机训练;M1 集群 (4 机):4 台 M1 Mac mini 组成集群进行训练;GPU 服务器 (单机 V100×1):使用 NVIDIA V100 单 GPU 训练,选择第一张卡;GPU 服务器 (单机 V100×4):单机使用四块 NVIDIA V100 进行分布式训练;CPU 服务器: 使用 V100 服务器的 CPU 进行训练。


环境:


Pendulum、MountainCarCont、HalfCheetah


算法:


PPO, 共采集 100 次数据进行 PPO 训练,每次训练前与环境交互采集 10K step 的轨迹放入 Buffer 进行训练。SAC, 训练 100 个 Epoch,每个 Epoch 与环境交互收集 1k step 放入 Buffer。


测试结果


由于目前 Tensorflow 2.4 的 Eager 模式不能调用 M1 芯片进行训练,下面的结果是在 Mac mini 的 CPU 设备上测试获得的。


测试一:单进程采样对比


微信图片_20211205185211.jpg

测试二:4 进程采样对比


微信图片_20211205185214.jpg


测试三:16 进程采样对比


微信图片_20211205185217.jpg


测试四:32 进程采样对比


微信图片_20211205185219.jpg


功耗及价格对比


微信图片_20211205185222.png


注:单个 Mac mini 功耗 39w,4 台总计 156w(瓦),传统服务器约为 1300w(瓦)。


微信图片_20211205185225.png


注:单个 Mac mini 价格 6799 元 (512GB 官网价格),4 个总计 2.7 万元,传统服务器约为 30 万元。


M1 的共享内存架构适合于 RL 的训练方式,目前,使用 Apple 的 M1 芯片组建的小型服务器,以 NVIDIA GPU 服务器 10% 的价格和更低的功耗,取得超过 200% 的时间效率提升。在强化学习目前主流训练框架下,训练效率的瓶颈往往在于策略网络的通信速度不够快,而共享内存方案可以减小通信上的开销,为 RL 训练带来巨大的效率提升。

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
移动开发 小程序 API
微信外部浏览器或短信链接唤起微信小程序的解决方案
微信外部浏览器或短信链接唤起微信小程序的解决方案
2841 1
|
Windows
mathtype7产品激活密钥最新
MathType是强大的数学公式编辑器,MathType公式编辑器可以说是专门为理科生准备的软件,它可以帮助用户快速的在各种文档中插入符号和公式,不论是简单的公式和符号,还是复杂的都可以非常轻松的输入,并且在与office文档结合使用时,表现的非常完美,是非常好的一款软件,与常见的文字处理软件和演示程序配合使用,能够在各种文档中加入复杂的数学公式和符号,可用在编辑数学试卷、书籍、报刊、论文、幻灯演示等方面,是编辑数学资料的得力工具。
51922 0
|
机器学习/深度学习 人工智能 自然语言处理
机器学习、深度学习和强化学习的关系和区别是什么?
众所周知,人工智能领域知识庞大且复杂,各种专业名词层出不穷,常常让初学者看得摸不着头脑。比如“机器学习”、“深度学习”、“强化学习”就属于这类名词。那么,针对这三者各自具体有哪些内容?三者是否有相关性?不同核心及侧重点是什么?以及各自的应用领域有哪些?应用的前景如何?等问题,本文根据百度百科等相关资料里的内容进行整理,形成了以下详细的阐述。
3150 0
|
3月前
|
机器学习/深度学习 存储 API
唯品会:利用订单地址API校验收货信息,降低因地址错误导致的退货率
在电商中,地址错误常导致退货率升高,影响用户体验与运营效率。唯品会通过集成订单地址API,在用户下单时实时校验收货信息,有效减少因地址问题引发的退货。本文解析该方案的工作原理与实际效益,展示其如何助力平台降低退货率、节约成本并提升用户满意度。
145 0
|
11月前
|
监控 安全 数据库
阿里云国际站:如何使用阿里云国际站服务器
阿里云国际站服务器是一种强大的云计算服务,可以帮助用户轻松搭建和管理自己的网站、应用程序和数据库。本文将介绍如何使用阿里云国际站服务器,包括注册账户、选择服务器配置、安装操作系统、配置网络和安全设置等方面。
|
数据挖掘 Linux Windows
服务器数据恢复—服务器raid0数据恢复及数据迁移的案例
某品牌服务器上有一组由两块SAS硬盘组建的raid0阵列,上层是windows server操作系统+ntfs文件系统。服务器上一个硬盘指示灯显示黄颜色,该指示灯对应的硬盘离线,raid不可用。
|
安全 物联网 Linux
操作系统的心脏——内核
【10月更文挑战第22天】 本文将深入探讨操作系统的核心组成部分——内核,包括其定义、功能、类型以及在现代计算中的重要性。通过了解内核的工作原理和设计哲学,我们可以更好地理解计算机是如何执行任务和管理资源的。
931 2
|
Java 关系型数据库 MySQL
SonarQube——如何搭建SonarQube完整版
SonarQube——如何搭建SonarQube完整版
524 0
SonarQube——如何搭建SonarQube完整版
|
存储 小程序 前端开发
毕业设计:微信小程序健康管理系统的开发与实现
经过调查和走访研发的这套在线健康管理系统,采用微信小程序云开发实现,基于Mongodb数据库进行数据存储,前端使用微信小程序开发实现,后端基于Nodejs开发实现。系统前端用户主要实现查看新闻通知、体检知识、在线体检预约、查看我的预约、修改个人资料等。后台主要实现用户管理、内容管理、活动和预约管理、统计预约用户数等功能。这套系统的上线对于人们健康的管理和体检预约都有很大帮助。...
3913 3
毕业设计:微信小程序健康管理系统的开发与实现
|
中间件 数据挖掘 API
ERP系统与社交媒体集成:提升企业互动与品牌影响力
【7月更文挑战第29天】 ERP系统与社交媒体集成:提升企业互动与品牌影响力
252 0