pandazx's blog

データ分析など雑多な技術ブログ

Deep LearningにおけるCPUとGPUの性能比較メモ

興味があったので、いくつか記事を漁ってみた。

benchmark 1

以下はNVIDIA 1080ti, Jetson, Qualcomm, Google Vision kit, Intel Core i7などのHWごとの 処理性能をベンチマーク

https://towardsdatascience.com/benchmarking-hardware-for-cnn-inference-in-2018-1d58268de12a

パラメータ数が少ないとCPUでもGPUに近いスループットが出る。それでも2倍遅いが。 パラメータ数が多い場合はGPUの方が数倍速い。 MobileNetのようなモバイル向けのDLはパラメータ数が少なく、CPUで実用的な性能が出ている。

benchmark 2

以下はResNetやSqueezeNetのGPUとCPUの比較。 CPUはGPUの100倍の時間がかかっている。

https://qiita.com/yu4u/items/c6e24d862325fac96f61

benchmark 3

以下はMSによるAzure上のベンチマーク結果。

https://azure.microsoft.com/en-us/blog/gpus-vs-cpus-for-deployment-of-deep-learning-models/

環境にかかる費用を同一にしたCPUとGPU環境を用意した場合、 同一コストではGPUの方が数倍、性能が出ることを示している。 3 node GPUと5 node CPUが同一コストらしいので、 今の価格表を見てみると以下の通り。 GPUはNC6 seriesのK80を使うインスタンス。$0.9/hour CPUはD4 v2の8coreインスタンス。$0.458/hour 3 node GPUで$2.7/hour, 5 node CPUで$2.29/hour 今の価格ではCPUは6 nodeにした方がフェアな比較になる。