苹果公司在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架构使用最新的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和神经引擎两者来训练和执行推理???
现在让我们谈谈软件支持。我的问题是:
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。
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈
一句话,我没买呢,没法验证啊,哈哈哈哈哈哈哈