杂记-Macbook Pro M1芯片能玩深度学习吗?

介绍

苹果公司在2020年11月的产品发布会中展示了有史以来第一款基于Apple自研M系列处理器的Apple三款新Mac,包括新的M1 MacBook Air,M1 MacBook Pro和M1 Mac mini。
在这里插入图片描述

Apple M1 芯片是首款专为 Mac 打造的 SoC 芯片。它封装了数量惊人的 160 亿个晶体管,而且将中央处理器、图形处理器、各种连接功能、其他重要组件和控制器统统集成在同一块小小的芯片上。M1 芯片由 Apple 自主设计,为 Mac 带来强大的性能、量身打造的技术,以及出类拔萃的能效。

MacBook Pro 配备的 M1 芯片具有 8 核中央处理器和 8 核图形处理器,与上一代相比,中央处理器速度最高提升至 2.8 倍¹,图形处理器速度最高提升至 5 倍。

至于电池寿命,MacBook Air将宣传15个小时的无线网络冲浪和18个小时的电影播放。不确定是否会有所不同,但是只有时间才能证明Youtube上的某人对其进行测试。至于MacBook Pro,其电池续航时间为无线上网17小时和Apple TV应用电影播放20小时。我不认识你,但是20个小时真是令人难以置信。

M1架构

新的M1架构使用最新的5nm技术制成。该处理器内置1个CPU,1个GPU,1个神经引擎和DRAM单元。由于RAM内置在处理器中,因此所有组件都访问同一内存。这是什么意思?现有PC设置基本是将CPU GPU和内存分开,CPU进程或线程处理的数据存储在内存中,但是AI工作需要利用GPU进行并行高效运算,需要将内存中的数据转存到GPU显存中,在处理完以后再转存回内存中,或再由CPU进行数据后处理,这种数据处理方式简单粗暴,便于PC设置,但是对于开发者而言,这种内存和显存数据的转存实际上是非常反常规的!
在这里插入图片描述

这次Apple带来的革新,应该是由iPad中的A系列芯片研发成果延续而来,M系列芯片将内存整合进芯片,所以这里的内存Apple称之为“统一内存”,CPU和GPU能够直接从统一内存读存数据,这大大提高了数据处理效率!

Apple没有宣称任何CPU速度,但是,在gadgets.ndtv.com上发布的Geekbench列表中发布的基本频率为3.2GHz,高于16英寸Macbook Pro中的Intel Core i9-9880H处理器的基本频率。
让我们比较一下新M1处理器的一些Geekbench得分。
在这里插入图片描述

比较4种非常流行的CPU的结果,Apple M1的性能均胜过所有CPU,甚至单核得分也轻松超过了16英寸Macbook Pro中的i9处理器。直到进入多核平台,才看到其他处理器(尤其是AMD处理器)对M1的碾压。

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

首先,由于在将数据从CPU RAM传输到GPU RAM方面没有延迟,因此在CPU和GPU之间共享RAM应该会提高性能。至于单核分数与多核分数,大多数数据预处理库都没有利用处理器中的多核。因此,多核分数对数据预处理的作用很小。具有更好的单核分数将在数据预处理方面做得更好。

显卡

集成GPU是8核GPU,可以同时执行25,000个线程。苹果声称达到了2.6 TFLOPS(FP32),是“世界上个人计算机中集成速度最快的图形”。可以肯定的是,这对于集成GPU来说是令人印象深刻的,但是作为数据科学家,我们对整体性能很感兴趣。
让我们看看其他一些比较。
图片发布

从这些值来看,它可能会很好地用于视频处理,图像处理,Apple Arcade或游戏。带有RTX 2080 Super的Razer Blade Pro 17之类的设备达到了11.2 TFLOPS。但是,Apple在M1中还添加了集成到处理器中的神经引擎,专门用于提高机器学习效率。

神经引擎

M1处理器还带来了苹果公司业界领先的神经引擎,该引擎专门为机器学习过程而设计。神经引擎先前已被添加到iPad和iPhone的A系列处理器中,但到目前为止尚未在Mac上使用。
苹果在其新的16核神经引擎上宣称11 TOPS(每秒万亿次操作)。
图片发布

11 TOPS?它们是11 TFLOPS吗?如果它是11 TFLOPS,那么它可能是该领域传统Nvidia/AMD值得注意的竞争对手。不仅会获得可与RTX 2080 Super相媲美的GPU,而且电池寿命为18–20小时。
Amazing!

对此的另一个想法是,某些ML框架是否可以利用GPU和神经引擎两者来训练和执行推理???

Apple M1和软件支持

现在让我们谈谈软件支持。我的问题是:
M1是否可以与某些最常用的软件一起使用?(例如,Python,VSCode,Jetbrains,Anaconda,Excel,Juypter Notebooks)

  • Python
    Apple Silicon使用基于ARM的指令集体系结构,Python已经在许多其他平台上运行,包括ARM,MIPS,PowerPC,i386和x86–64,Python应该没有问题。

  • Juypter笔记本
    目前尚不清楚Juypter笔记本是否可以与Apple M1处理器一起使用。我发现一个使用docker在ARM体系结构上运行juypter笔记本的链接:
    https://github.com/vladmarica/jupyter-notebook-docker-arm

  • VSCode
    微软在Twitter上宣布2020年11月10日,他们正在VSCode为苹果M1通用版本。我专门去看看了下,VSCode已经发布了Mac下的ARM64位版本,下载地址:
    https://code.visualstudio.com/insiders/#osx

  • Microsoft Excel
    微软还在2020年11月11日宣布,它将发布其Mac Office 2019 Beta的新通用版本,该版本支持新的Apple M1处理器。事实上,埃里克·施维伯特(Erik Schwiebert)在Twitter上宣布,微软当天在Beta通道上发布了Beta版本。但是,他们没有宣布任何公开发布日期。

  • M1是否与ML框架(即Tensorflow,Scikit-Learn,Keras等)一起使用?
    在Apple M1活动上,Apple提到了对Tensorflow的支持,我尚未找到有关该主张的任何细节。Tensorflow框架是为x86_64架构和Nvidia GPU构建的,没有其他针对ARM或Apple M1体系结构的构建。
    有人说可以利用Apple Converter从Tensorflow模型执行推理,这里是指向有关从TF模型转换为CoreML的文章的链接。另一些人则认为他们指的是Tensorflow中的Swift。

  • Scikit学习
    Scikit-learn是否可以与Apple M1一起使用?我认为简短的答案可能是???因此,我们知道Python将可用于M1的ARM体系结构,而Scikit-learn不会利用或使用GPU支持。因此,从理论上讲,Scikit-learn应该适用于Apple M1。

小记


一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值