機械学習環境ベンチマーク

スポンサーリンク

(2022/9/4追記)第12世代Core i5+GeForce RTX 3090マシンのベンチマーク結果を追加しました。

(2022/4/3追記)M1 Macのベンチマーク結果を追記しました。

(2022/2/23追記)第10世代Core i7+GeForce RTX 3060マシンのベンチマーク結果を追加しました。

これまでに当サイトでは以下のような機械学習環境構築について紹介してきました。

これらの実行速度をTensorflowのMNIST(機械学習のHello Worldと言える手書き文字認識)を使って比較した結果をまとめました。

MNISTの学習パラメータは短時間で終わるものとなっているため、演算量の多い学習をさせると結果が変わることが予想されます。

M1はチップ内にCPUとGPUがあり、CPU-GPU間のデータのやり取りは高速と考えられるため、学習自体の演算量が少なく、データ転送が頻繁に発生する今回の評価は、M1に有利に働いているはずです。

重い学習をさせる場合、学習の演算量が多くなればなるほど、データ転送の比率は下がり、学習自体の処理能力が効いてきて、よりNVIDIA GPUに有利になると考えられ、M1との差が広がることが予想されます。

MNIST実行時間一覧

MachineCompute EngineReal Time (s)
自作PC Core i7-12700GPU: GeForce RTX 309018
自作PC Core i5-10500GPU: GeForce RTX 3070 Ti40
MSI GF65 Thin 10UE 15.6"CPU: Intel Core i7-10750H 6-Core/12-Thread 2.6GHz372
GPU: GeForce RTX 3060 6GB51
Google ColabCPU1694
GPU: Tesla K8053
TPU99
自作PC Z390 Pro.4GPU: GeForce RTX 3050 8GB83
M1Pro MacBook Pro 14-inch 202110-Core CPU (8 performance, 2 efficiency)
device_name=any, cpu
207
16-Core GPU
device_name=gpu
137
M1 MacBook Pro 13-inch 20208-Core CPU (4 performance, 4 efficiency)
device_name=any, cpu
214
8-Core GPU
device_name=gpu
208
MacBook Pro 15-inch 2019CPU: Core i9 9880H 8-Core/16-Thread 2.3GHz401
MacBook Pro 15-inch Late 2013CPU: Core i7 4850HQ 4-Core/8-Thread 2.3GHz569
GPU: GeForce GT 750M 2GB424
MacBook Pro 15-inch Mid 2012CPU: Core i7 3615QM 4-Core/8-Thread 2.3GHz872
GPU: GeForce GT 650M 1GB453
Jetson NanoGPU: GM20B908

まとめ

NVIDIA GeForce RTX 3090を搭載したマシンが試した中で最速でした。

Google Colabのようなクラウドで実行するのではなく、ローカルでいろいろ試したいという方も多いと思いますので、そういう方にはNVIDIA GPU搭載マシンは有用です。

CPUでの処理はGPUに比べてかなり遅く、少なくともRTX 3060の7倍以上の時間がかかってしまうことがわかりました。

この7倍をどう見るかですが、新しい世代のCPUであれば、GPUよりは遅いが、学習規模によっては許容できる場合もあると考えられます。

実際、第9世代Core i9(8-Core/16-Thread)よりも第10世代Core i7(6-Core/12-Thread)の方が速いという結果で、さらに最新の12世代CPUであれば、その処理速度を活かした機械学習もあり得そうです。

M1 MacBook Proでtensorflow_macos環境を使用し、下記device_nameをany, cpu, gpuと変えて実行したが、結果は大きく変わらず、200秒以上となり、GeForce RTX 3060と比べるとだいぶ遅い結果となりました。

from tensorflow.python.compiler.mlcompute import mlcompute
mlcompute.set_mlc_device(device_name="any")

device_name="any"の場合にアクティビティモニターを見るとGPUは使用されておらず、cpuの場合と同様になっているようでした。

anyとした場合はCPUとGPUをフルに使って高速に処理されることを期待していましたが、そのようにはなりませんでした。

device_name="gpu"とするとアクティビティモニターでGPUの使用率が上がるため、GPUが使われていることはわかりましたが、処理速度はCPUと大差無しでした。

M1搭載のMacはIntel CPUのマシンより高速ですが、機械学習向きかという点については、NVIDIA GPUにはかなわないと言わざるを得ません。

古いMacに搭載された古いGPUは、最近のRTXシリーズのような性能は出ず、CPUと同程度の性能でした。

最新のCPUと同程度の処理性能が出るということは、コスパとしては良いと捉えることもできます。

表に記載したNVIDIA GPU搭載のMacは、既に中古でしか手に入りませんが、オークションサイトなどで安ければ5〜8万くらいで買えそうです。(2022年2月現在)

ただし、この記事に書いたように環境構築はとても面倒です。

Jetson-NanoはMacには及ばない結果でしたが、新品で1万5千円、中古で8〜9千円くらいなので、低予算で始めるにはコレ1択になりますね。

Jetson-Nanoは環境設定も比較的簡単ですので、これから機械学習を始める方には特にオススメです。

MSIゲーミングノートPC GF65 i7 RTX3060/15.6インチ/16GB/512GB

Jetson-Nano

タイトルとURLをコピーしました