こんにちは、えびかずきです。
今回は、GPUでディープラーニングがどれだけ速くなるかを試してみた実験結果を紹介します!
こんな人におすすめ:
・GPUでどれだけ計算が速くなるか興味がある
結論ですが、GPUを使うと、CPUのみの時と比べて約10倍速くなりました。
開発環境
今回の実験では、ローカルのMacBookとクラウドのGPU(Google Cloud Platfom)で計算速度を比較してみます。
ローカル
MacBook pro (Retina, 13-inch, Mid 2014)
OS:MacOS Big Sir
メモリ:8GB
CPU:2.6 GHz デュアルコアIntel Core i5
クラウド
Compute Engine/Google Cloud Platform
ゾーン:asia-east1-a
Environment: TensorFlow Enterprise 2.3 (with Intel® MKL-DNN/MKL)
Machine type: n1-standard-4 (4 vCPUs, 15 GB RAM)
GPU: NVIDIA Tesla T4 x 1
ブートディスク:100 GB disk
データディスク:100 GB disk
ディープラーニングのモデル
今回使用するディープラーニングのモデルは、過去記事でも紹介した画風変換のCAEを使ってみます。
今回のソースコードipynb形式でGithubリポジトリに公開しています。
試してみたい人はcloneして使ってみてください。
モデルの概要
・Convolutional AutoEncoder(CAE)による画風変換
・画風の参考画像1枚、変換テスト画像1000枚で、10epoch学習させる
・画像は224×224ピクセル
・画風の抽出はVGG16の一部を活用
結果
それぞれ学習に要した時間は、
ローカルマシンのCPU(core i5)で165分。
クラウドのGPU(Tesla T4)なら、16分という結果でした。
今回のケースでは、CPUよりGPUの方が約10倍も速いことがわかりました。
圧倒的にGPUの方が速いですね。
おまけ:学習結果のテスト
画風素材:ゴッホ「糸杉のある麦畑」
テスト1:散歩中に撮った茶畑の写真を画風変換した結果です。
テスト2:散歩中に撮った山からみた風景の写真を画風変換した結果です。
もうちょい学習を進めた方がいいかもしれませんね。
画風素材:クロード・モネ「睡蓮I」
テスト1:綺麗な森の写真です。https://pixabay.com/
テスト2:綺麗な金魚の写真です。https://unplash.com/
なんか惜しい感じがする。。
こちらももうちょい学習が必要かもですね。
まとめ
今回は、GPUを使うとディープラーニングがどれだけ速くなるかを実験してみました。
画風変換のCAEgeneratorを学習させるスピードで比べてみたところ、
ローカルマシンのCPU(core i5)より、GPU(Tesla T4)の方が
約10倍も速いことがわかりました!
結論:
CPUでちまちま計算してると日が暮れるので、
ディープラーニングの学習にはGPUを使いましょう。
今回紹介したGoogle Cloud PlatformでGPUを使う方法は、リンクの過去記事で紹介していますのでぜひご参考に。
コメントを書く