1.AppleのM1プロセッサが機械学習に与える影響(1/2)まとめ
・Appleが初のApple自社開発プロサッサを搭載したノートPCを発表し非常に評判が良い
・CPU速度は最大3.5倍、GPUの速度は最大5倍と言われているが機械学習ではどうか調査
・CPUは高性能だが現在搭載されているGPUは既存のハイエンドGPUを上回る性能ではない
2.AppleのM1プロセッサとは?
以下、medium.comより「How is the Apple M1 going to affect Machine Learning?」の意訳です。元記事の投稿は2020年11月16日、Tommy Shroveさんによる投稿です。
AppleのM1プロセッサは、ネイティブアプリでなくとも早い!バッテリーの持ちが良い!熱くならない!と各所で絶賛されているのですが、機械学習で使うとしたらどうなのかを考察してくれている方がいたので意訳してみました。
アイキャッチ画像のクレジットはPhoto by Priscilla Du Preez on Unsplash
前書き
Appleは、iPadとiPhoneに使われているApple Aシリーズプロセッサをベースにした初のApple自社開発プロサッサを搭載したApple Siliconデスクトップ/ラップトッププロセッサを発表しました。彼らは、この新しいプロセッサを、新しいM1 MacBook Air、M1 MacBook Pro、およびM1 Mac miniを含む3つの新しいMacとともに発表しました。
これらの新しいM1 Macは、新しいM1プロセッサを使用して驚異的なスペックを宣伝しており、CPU速度は最大3.5倍高速です。GPUの速度は最大5倍速く、新しいニューラルエンジンを使用すると、機械学習は最大9倍速くなります。
バッテリー寿命に関しては、MacBook Airは15時間のワイヤレスWebサーフィンと18時間の映画再生が出来る事を宣伝しています。(ここでの少しの注意点はApple TVアプリを使った映画再生である事です)。これが違いを生むかどうかはわかりませんが、Youtubeに関しては誰かがいつかテストするでしょうから時が経てばわかります。
MacBook Proの場合、そのバッテリー寿命は、17時間のワイヤレスWebサーフィンと20時間のAppleTVアプリムービー再生が可能です。あなたがどう思うかはわかりませんが、20時間はすごいです。私は現在16インチのi9搭載MacBook Proを使っていますが、その11時間持つバッテリー寿命は驚くべきものだと思っていました。
M1のアーキテクチャ
新しいM1アーキテクチャは、最新の5nmテクノロジーを使用して作成されています。
1つのCPU、1つのGPU、1つのニューラルエンジン、およびDRAMユニットがプロセッサに組み込まれています。RAMはプロセッサに組み込まれているため、すべてのコンポーネントが同じメモリにアクセスします。これは何を意味するのでしょうか?
つまり、あるコンポーネントから次のコンポーネントにメモリを移動したり、形状を変更したりしても、パフォーマンスが低下することはありません。モデルがGPUのメモリ仕様に適合するかどうかを判断する必要はもうありません。
CPU
CPUは8コアCPUであり、4コアはデータ処理および高性能を必要とするタスク用の高性能コアであり、4コアは「e-コア」または高効率コアと呼ばれ、より効率的で低消費電力な処理を提供します。
ウェブサイトでは、AppleはCPU速度を主張していません。
ただし、gadgets.ndtv.comに投稿されたGeekbenchのリストには、16インチMacbookProに搭載されているIntelCore i9–9880Hプロセッサの基本周波数よりも高い3.2GHzの基本周波数が投稿されています。新しいM1プロセッサのGeekbenchスコアを比較してみましょう。
Processor | Sigle-Core Score | Multi-Core Score |
Apple M1(8Gb RAM) | 1687 | 7433 |
AMD Ryzen 9 5950X(16 core) | 1628 | 15877 |
AMD Ryzen 7 5800X(8 core) | 1625 | 10409 |
Intel i9-9880H(Macbook Pro 16″) | 1029 | 6012 |
4つの非常に人気のあるCPUの結果を比較すると、Apple M1は、16インチMacbook Proのi9プロセッサでさえ、シングルコアスコアで軽々とそれら全てを上回っています。マルチコアで初めて、他のCPU、特にAMDプロセッサがM1と競合するのを目にするようになります。
これら全ては機械学習にとって何を意味するのでしょうか?
まず、CPUとGPUでメモリを共有すると、CPUのメモリからGPUのメモリにデータを転送する際の遅延が発生しないため、パフォーマンスが向上するはずです。
シングルコアスコアとマルチコアスコアに関しては、ほとんどのデータ前処理ライブラリはプロセッサのマルチコアを利用していません。従って、マルチコアスコアはデータの前処理にはほとんど影響しません。シングルコアスコアが優れていると、データの前処理が向上します。
GPU
統合GPUは8コアGPUであり、25,000スレッドを同時に実行できます。Appleは、これが2.6 TFLOPS(FP32)スループットの「パーソナルコンピュータで世界最速の統合グラフィックス」であると主張しています。
確かにこれは統合GPU(integrated GPU)としては印象的ですが、データサイエンティストとして私たちは全体的なパフォーマンスに関心を持っています。比較のために他のいくつかを見てみましょう。
GPU | Type | TFLOPS(FP32) |
Apple M1 | Integrated | 2.6(GPU) |
Ryzen 4800U | Integrated | 1.79 |
MacBook Pro (Intel 8th Gen) | Integrated | 0.8 |
MacBook Pro (Intel 10th Gen) | Integrated | 1.12 |
AMD 5600M (16″ MBP) | Discrete | 5.3 |
Nvidia GeForce RTX 2080Ti | Discrete | 13.45 |
Nvidia GeForce RTX 2080 Super | Discrete | 11.2 |
Iris Pro Graphics P580 | Integrated | 1.16 |
これらの値を見ると、ビデオ処理、画像処理、Apple Arcade、またはゲームでおそらくうまく機能するでしょう。
GPUは機械学習にはうまく機能しません。機能させる事は可能ですが、私とあなたがおそらく探しているパフォーマンスではありません。RTX 2080 Superを搭載したRazerBlade Pro 17のようなものは、11.2TFLOPSでより良く機能します。(訳注:RazerBlade Pro 17は30万円以上するゲーミングノートPCでM1 MacBook Pro 13インチは15万円くらいです)
あなたの考えている事は正しいでしょう。ただし、AppleはM1に、特に機械学習の効率化のためにプロセッサに統合されたニューラルエンジンも追加しています。
3.AppleのM1プロセッサが機械学習に与える影響(1/2)関連リンク
1)medium.com
How is the Apple M1 going to affect Machine Learning?
2)github.com
Mac-optimized TensorFlow and TensorFlow Addons
3)code.visualstudio.com
Download Visual Studio Code Insiders