热门搜索:打折  购物  手表  iphone  苹果  攻略  DFS  Wifi   特价酒店
分享到:

苹果自研Apple M1芯片对机器学习意味着什么?

他们推出了这一新的处理器的同时,也推出了三款新的Mac,包括新的M1 MacBook Air、M1 MacBook Pro和M1 Mac mini。
2020-12-25 3hk香港自由行 LiveVideoStack 阅读: [复制网址]
用微信扫描二维码
分享至好友和朋友圈
分享到: 微信 新浪微博 腾讯微博 QQ空间

苹果iPad和iPhone系列中首次推出了基于苹果A系列处理器的苹果硅片台式机/笔记本电脑处理器。他们推出了这一新的处理器的同时,也推出了三款新的Mac,包括新的M1 MacBook Air、M1 MacBook Pro和M1 Mac mini。


这些新的M1 mac都在宣传使用新的M1处理器时令人难以置信的表现:CPU速度提高了3.5倍,GPU的速度提高了5倍,使用了使用新的Neural Engine,机器学习速度提高了9倍。至于电池续航时间,MacBook Air可以支持15小时无线上网和18小时电影播放(其中他们有一个小小的广告,那就是推荐使用appletv应用程序播放电影)。不知道这是否会有什么不同,但只有等Youtube上有人测试时,具体续航才会曝光。至于MacBook Pro,它的电池续航时间为17小时的无线上网和20小时的苹果tv电影播放。不管你信与不信,在我看来20小时的续航时间是难以置信的。我现在手中使用的是16英寸i9 MacBook Pro,我觉得它的电池续航时间(11小时)已经非常出色。


M1 架构


新的M1架构采用了最新的5nm技术。它在处理器中有1个CPU, 1个GPU, 1个神经引擎以及DRAM单元。由于RAM内置在处理器中,因此所有组件都会访问相同的内存。这意味着不会再因为将内存从一个组件移动到下一个组件而造成性能损失。无需再尝试弄清楚你的模型是否符合GPU的内存规格。


CPU


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


让我们比较一下在新的M1处理器上和一些其他的处理器的性能测试分数。


在和4个非常受欢迎的CPU的性能的比较之下,苹果M1在单核上的表现优于所有CPU,甚至在16英寸Macbook Pro上的i9处理器上也很好。直到在有关使用多核处理器的问题上,你才会想看到其他处理器的优势,尤其是AMD处理器,与M1处于一种竞争关系。


这一切对机器学习意味着什么?


首先,CPU和GPU之间共享的RAM(内存)应该会提高性能,因为从CPU RAM到GPU RAM的数据传输不会再产生延迟。


对于单核得分和多核得分,大多数数据预处理库没有充分利用处理器的多核优势;因此,多核分数对数据预处理的作用很小,基本没有意义。在数据预处理中,单核得分越高,处理效果越好。


GPU


其中集成的GPU是一块8核GPU,可以同时执行25,000个线程。苹果声称这是“世界上最快的个人电脑集成显卡(最快的集成在PC上的图像处理器)”,具有每秒2.6万亿次浮点数计算(32位的浮点数)的吞吐量。当然,这对于一个集成的GPU来说是令人印象深刻的,但作为数据科学家,我们更感兴趣的是其整体性能。


让我们来看看和其他GPU的比较。

从这些值来看,M1芯片可能适用于视频处理、图像处理、Apple Arcade(游戏订阅服务)或游戏上。而GPU将无法很好地用于机器学习。它的确有一定的能力,但不是我们所预期的表现。你可能会赞同这样的想法:凭借其每秒11.2万亿次浮点数计算的能力,装载了RTX 2080 Super的Razer Blade Pro 17是一个更好的选择.不过,苹果还在M1处理器中添加了一个神经引擎,专门用于提高机器学习效率。


神经引擎


M1处理器还配备了苹果专为机器学习过程设计的业内领先的神经引擎。这款神经引擎之前已经被装载到了iPad和iPhone的A系列处理器中,但直到现在才被添加到Mac上使用。


苹果声称,其新16核神经引擎的运行速度达到了每秒可以执行11万亿次运算。

*每秒11万亿次运算?他们说的是每秒11万亿次浮点数运算?如果是这样的话它就可以成为这个领域的一个有力竞争者。


当你将这种计算速度与集成内存(低延迟)和20小时的电池寿命结合在一起时,对于四处奔波的数据科学家来说,这可能就是一个值得考虑的选择了。你不仅得到了一块可与RTX 2080 Super媲美的GPU,拥有着业界最好的单核得分的CPU,外形与MacBook Air相当,而且还拥有18-20小时的电池续航时间。


关于这个问题的另一个想法是,一些机器学习的框架是否可以利用GPU和神经引擎来训练和执行推理。


Apple M1芯片及其软件支持


现在我们来谈谈软件支持。我的问题是:


M1可以与一些最常用的软件一起工作吗?(例如,Python, VSCode, Jetbrains, Anaconda, Excel, Juypter Notebooks)


Python


Apple Silicon芯片使用的是基于arm的指令集的结构。Python已经可以在许多其他平台上运行,包括ARM、MIPS、PowerPC、i386和x86-64。使用Python应该是不成问题的。


Juypter Notebook


现在的情况仍不能十分确定Juypter笔记本是否支持与苹果M1处理器兼容。我们已经发现了一个链接,它是通过使用docker在ARM架构上运行jupyter notebooks。时间会证明一切的,包括这是否真的有效。也许当VSCod产品一旦可以投入生产,将会有一个可以用来工作的Juypter扩展。


VSCode


微软于2020年11月10日在Twitter上宣布,他们正在为苹果M1开发VSCode的通用版本。在写这篇文章的时候,他们已经在他们的网站上建立了ARM的架构上测试的版本。


Microsoft Excel


微软同样也于2020年11月11日宣布,将推出新的通用版Mac Office 2019测试版,支持新的苹果M1处理器。事实上,Erik Schwiebert在推特上宣布在同一天微软正在发布一个测试版本在它的测试通道上。然而,他们没有宣布任何公开发布的日期。


机器学习框架(例如,Tensorflow,Scikit-Learn,Keras之类)支持M1吗?


Tensorflow


在苹果M1发布会上,苹果提到了对Tensorflow的支持。但我还没有找到有关这一说法的任何细节。Tensorflow框架是为x86_64架构和Nvidia gpu构建的。目前还没有ARM或Apple M1架构的其他版本。


一些人声称你可以通过利用苹果转换器来执行Tensorflow模型上进行推理。这里有一个链接


(https://www.inovex.de/blog/tensorflow-models-with-core-ml/)


是一篇关于从TF模型转换到CoreML上所用的方法的文章。其他意见则认为他们(Apple)指的是Swift for Tensorflow。


现在它是未知的,我还找不到任何有关它的资料。


Scikit-Learn


Scikit-learn会支持和Apple M1一起工作吗?我认为简短的答案是-也许有这个可能?所以,我们所知道的是,Python是支持M1的ARM架构。而且Scikit-learn不需要使用GPU。所以从理论上讲,Scikit-learn应该适用于Apple M1。


我还可以继续说下去,但其他机器学习库(PyTorch、Keras等)都和上述的道理大同小异。


纲要


Apple M1:8核的CPU, 8核GPU, 16核神经引擎以及集成内存。


Apple M1 CPU具有历史上最出色的单核跑分1687。7433的多核得分,这是一个十分不错的成绩。比较下,英特尔i9-9880H (Macbook Pro 16 ):单核得分1029,多核得分6012。


Apple M1 GPU有每秒2.6万亿次浮点数运算的能力,与之对比Nvidia GeForceRTX 2080 Super(Razer 手提电脑)能达到每秒11.2万亿次浮点数运算。


Apple M1 神经引擎自称有每秒11万亿次运算的能力。但问题在于这种能力是否是在运算浮点数上?这是在与Nvidia GeForce RTX 2080 Super 的每秒11.2万亿次运算浮点数的能力作比较。


Apple M1是否有软件支持?


版权免责声明:本站部分图文分享自互联网。若您发现有侵犯您版权的,请及时告知 。我们第一时间删除侵权作品。
用微信扫描二维码
分享至好友和朋友圈
分享到: 微信 新浪微博 腾讯微博 QQ空间
[复制网址] 编辑:阿苗
关于上香港 | 联系上香港 | 投稿报料 | 广告推广 | 友情链接 | 信息反馈 | 本页评价 | 付款方式