ウェブサイト上では、AppleはCPU速度を主張していませんが、gadgets.comに掲載されているGeekbenchリストでは、CPU速度は1.5倍となっています。これは、16 インチ Macbook Pro に搭載されている Intel Core i9-9880H プロセッサーのベース周波数よりも高い周波数です。
新しい M1 プロセッサーの Geekbench スコアのいくつかを比較してみましょう。
4 つの非常に人気のある CPU の結果を比較すると、Apple M1 はそのすべてを上回り、シングルコアのスコアでは 16 インチ Macbook Pro の i9 プロセッサでさえ快適なパフォーマンスとなっていました。 マルチコアになるまで、他のプロセッサ、特に AMD プロセッサが M1 と競争するのを見ることはできません。
シングル コア スコアとマルチコア スコアの比較については、ほとんどのデータ プリプロセッシング ライブラリでは、プロセッサの複数のコアを利用しませんので、マルチコア スコアはデータ プリプロセッシングにはほとんど役に立ちません。 シングルコアのスコアが高ければ高いほど、データ前処理に有利です。
GPU
統合GPUは8コアGPUで、25000スレッドを同時実行可能です。 Appleはこれを2.6TFLOPS(FP32)のスループットで「パーソナルコンピュータにおける世界最速の統合グラフィックス」と主張している。 確かにこれは統合 GPU としては素晴らしいものですが、私たちデータ サイエンティストは全体的なパフォーマンスに興味があるのです。 GPUは機械学習にはうまく機能しないでしょう。 しかし、そのようなことはありません。 RTX 2080 Superを搭載したRazer Blade Pro 17のようなものなら、11.2TFLOPSでもっとうまくいくでしょう。 その考えは正しいでしょう。 しかし、AppleはM1で、特に機械学習の効率化のためにプロセッサに統合されたNeural Engineも追加しました。
Neural Engine
M1プロセッサには、特に機械学習プロセスのために設計されたAppleの業界最高レベルのNeural Engineも搭載されています。 このニューラル エンジンは、これまで iPad や iPhone の A シリーズ プロセッサに搭載されていましたが、Mac にはまだ搭載されていません。
Apple は、新しい 16 コアのニューラル エンジンで 11 TOPS (Trillion Operations Per Second) を実現したと主張しています。 11TFLOPSという意味なのだろうか? もし 11 TFLOPS なら、この分野での競争相手になるかもしれません。
そのスピードに統合メモリ(レイテンシーの低減)および 20 時間のバッテリー持続時間を組み合わせると、外出中のデータ科学者にとって画期的なものになるでしょう。 RTX 2080 Superに匹敵するGPU、業界最高クラスのシングルコア・スコアを持つCPU、MacBook Airのフォームファクターだけでなく、18~20時間のバッテリー駆動時間を手に入れることができるのです。
この点に関してもう 1 つ考えられるのは、ML フレームワークの一部が、学習と推論を実行するために GPU と Neural Engine の両方を活用できれば、ということです。 ここで私が質問したいのは、
M1は最もよく使われているソフトウェアで動作しますか。 (例: Python、VSCode、Jetbrains、Anaconda、Excel、Juypter Notebooks)
Apple Silicon は ARM ベースの命令セット アーキテクチャを使用しています。 Python はすでに ARM、MIPS、PowerPC、i386、x86-64 を含む他の多くのプラットフォーム上で動作しています。 Python に問題はないはずです。
Juypter Notebook
Juypter notebook が Apple M1 プロセッサで動作するかどうかは、今のところ不明です。 私は、docker を使用して ARM アーキテクチャ上で juypter ノートブックを実行している 1 つのリンクを見つけました。 これは時間が解決してくれるでしょう。 もしかしたら、VSCode が製品化されれば、動作する Juypter 拡張があるかもしれません。
VSCode
Microsoft は 2020 年 11 月 10 日に Twitter で、Apple M1 用の VSCode の Universal ビルドを作成中であることを発表しました。 これを書いている時点では、ARM の実験的なビルドをこちらのサイトに掲載しています。
Microsoft Excel
Microsoft も 2020 年 11 月 11 日に、新しい Apple M1 プロセッサをサポートする Mac Office 2019 ベータの新しい Universal ビルドを開始すると発表しています。 実は、Erik Schwiebert氏がTwitterで、Microsoftが同日にベータ版をベータチャンネルでリリースすることを発表していた。 しかし、一般公開の日程は発表されませんでした。
Does M1 work with ML frameworks (i.e., Tensorflow, Scikit-Learn, Keras, etc)?
At the Apple M1 event, Apple mentioned support for Tensorflow.AppleはApple M1のイベントでTensorflowのサポートについて言及しました。 その主張の周りには、まだ具体的なものが見当たりません。 Tensorflow フレームワークは、x86_64 アーキテクチャと Nvidia GPU 用に構築されています。 ARM や Apple M1 アーキテクチャ用の他のビルドはありません。
Apple Converter を活用することで、Tensorflow モデルから推論を実行できると主張する人もいます。 TF モデルから CoreML への変換についての記事へのリンクはこちらです。
Right now it is unknown, and I can’t find anything referencing it.
Scikit-Learn
Will Scikit-learn work with the Apple M1? 短い答えは「たぶん」だと思います。 私たちが知っているのは、Python は M1 の ARM アーキテクチャで動作し、Scikit-learn は GPU サポートを利用しない、または使用しないということです。 理論的には、Scikit-learn は Apple M1 で動作するはずです。
ML で使用されるすべてのライブラリ (PyTorch, Keras など) を紹介するときりがありませんが、
Synopsis
- Apple M1: 8 コア CPU、8 コア GPU、チップ上の統合メモリによる 16 コア Neural Engine… 続きを読む
- Apple M1 CPUは、シングルコアのスコアが1687と最も高く、マルチコアのスコアは7433と、Intel i9-9880H (Macbook Pro 16″) のシングルコア1029、マルチコア6012と比較しても良いスコアとなっている。
- Apple M1 GPU は 2.6 TFLOPS で、Nvidia GeForce RTX 2080 Super (Razer laptops) は 11.2 TFLOPS です。
- Apple M1 Neural Engine は 11 兆演算子/秒と宣伝していますが、これは、Nvidia GeForce RTX 2080 Super の 11 兆演算子に対してです。 ここで疑問なのは、それがTFLOPS(FP32)なのか、ということです。 これは、Nvidia GeForce RTX 2080 Superの11.2.2と比較しています。
- Apple M1にはソフトウェアサポートがありますか?
免責:私はまだApple M1について手を触れていないのです。 注文はしていますが、まだ受け取っていません。 また、このような状況下でも安定した稼動を維持することができます。 私の結果に基づいて購入するのではなく、購入する前に自分で調査してください。
Apple M1 MacBook Pro を受け取ったら、私の発見を新しい記事として書くつもりです。