この度、弊社のカスタマイズPCであるPOWERSTEP TowerがZ490チップセットを搭載した新しいマザーボードを採用!Intel® CPUの最新世代である第10世代に対応しました。

Intel®第10世代CPUは第9世代のものと比べて、Core™ i9は8コアから10コアに、i7, i5はコア数は変わらないもののスレッド数が増えたことで処理能力が向上しています。この高性能なCPUを搭載することで、POWERSTEP Towerは軽快な動作を実現します!

今回は、この新しくなったPOWERSTEP Towerでディープラーニング環境を構築し、以前当ブログで紹介したPOWERSTEP VESA T3と外付けGPUボックスを組み合わせたディープラーニング環境と性能を比較してみました!

目標

① 新しくなったPOWERSTEP Towerでディープラーニング環境を構築する!
② POWERSTEP TowerとPOWERSTEP VESA T3 + 外付けGPUボックスのディープラーニング性能を比較する!

使用する機材

■POWERSTEP Tower(ミドルタワー型デスクトップパソコン) 第 10 世代インテル® Core™ i5 プロセッサーを搭載し、DDR4-2666 16GBメモリを2 枚と256 GB M.2 NVMe SSDを組み合わせた、軽快な動作が自慢のミドルタワー型デスクトップパソコンです。今回は標準構成での実験になりますが、お見積ではCPUのアップグレードやメモリの増設により、より快適な環境も構築可能です!

■POWERSTEP VESA T3(小型デスクトップパソコン) 最新の第 10 世代インテル® Core™ i5 プロセッサーを搭載し、DDR4-2666 16GBメモリとIntel 256GB M.2 NVMe SSDを組み合わせた、省スペースが自慢の小型のデスクトップパソコンです。Towerと比べると拡張性では劣りますが、小型な分場所を取りません。

■外付けGPUボックス

VESA T3でグラフィックボードを使用するため、今回もAKTiO Node (500W)を使用しました。大きなタワー型やミドルタワー型のパソコンに比べて容易にGPUの付け替えが可能です。

■GPU

前回と同じくGeForce RTX 2070 SUPERと、GPUによる比較をするためGeForce GTX 1080を使用しました。

■その他

モニター、キーボード、マウスなど。

使用するソフトウェア

■OS:Ubuntu 20.04 LTS(最新バージョン)

■TensorFlow 2.0(最新バージョン)

■tf_cnn_benchmarks(GitHub
ディープラーニング性能を測定するためのベンチマークソフトとして使用しました。スコアは1秒間に何枚の画像を学習したかを表し、この枚数が多いほどディープラーニング性能が高いということになります。

■その他

その他のソフトウェア要件については、TensorFlow公式サイトに情報があります。

ソフトウェア要件 以下の NVIDIA® ソフトウェアをシステムにインストールする必要があります。 • NVIDIA® GPU ドライバ – CUDA 10.1 では 418.x 以降が必要です。 • CUDA® ツールキット – TensorFlow は CUDA 10.1 に対応しています(TensorFlow は 2.1.0 以降)。 • CUPTI は CUDA ツールキットに同梱されています。 • cuDNN SDK(7.6 以降) • (省略可)TensorRT 6.0 は一部のモデル上での推論のレイテンシとスループットを改善します。

環境構築手順

(1)OSインストール

Ubuntuインストールするときのオプションは、以下の3つを選択。

  • 通常のインストール
  • Ubuntuのインストール中にアップデートをダウンロードする。
  • グラフィックスとWiFiハードウェアと追加のメディアフォーマットのサードパーティ製ソフトウェアをインストールする。

(2)OS更新

Ubuntuのインストールが完了したら、再起動してOSを更新します。

$ sudo apt update

(3)Python関連で必要になりそうなものをインストール

$ sudo apt install python3-pip python3-setuptools python3-wheel python3-numpy python3-yaml python3-six python3-future python3-requests python3-matplotlib python3-pil python3-h5py python3-graphviz python3-pydot
$ pip3 install torch torchvision

(4)CUDAのインストール

$ wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb 
$ sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
$ sudo apt install python3-scipy python3-sklearn python3-skimage python3-opencv python3-protobuf python3-termcolor python3-wrapt python3-werkzeug python3-markdown python3-google-auth python3-requests-oauthlib

Y

(5)CUDAツールキットのインストール

$ sudo apt install nvidia-cuda-toolkit

(6)TensorFlow GPUのインストール

$ pip3 install tensorflow-gpu

構築に必要なインストールはこれでOKです。

動作確認

(1)GPUの確認

$ nvidia-smi

コマンドを入力すると、以下のように表示されます。

GeForce GTX 1080を認識していることが確認できました。すでにGUIの表示にGPUメモリーが使われていることが分かります。

(2)TensorFlow が GPU を認識できているか確認

Tensorflow-GPUでGPUが反映されているかチェック

$ python3
Python 3.8.2 (default, Jul 16 2020, 14:00:26)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>import tensorflow
>>>tensorflow.test.gpu_device_name()

【Enter】とするとメッセージが表示されます。最後に

‘/device:GPU:0’

と表示され、GPUを認識していることが確認できれば環境構築は完了です!

構築バージョンは以下のとおりです。
・tensorflow-gpu 2.2.0
・Python 3.8.2
・NVIDIA® GPU ドライバ 440.100
・CUDA Version: 10.1
・cuDNN SDK 7.6.5.32

ディープラーニング性能のベンチマーク

(1)gitのインストール

tf_cnn_benchmarckはGitHubにアップされているのでまずはgitをインストールします。

$ sudo apt install git

(2)ベンチマークのダウンロード

$ git clone https://github.com/tensorflow/benchmarks.git

(3)ベンチマークのディレクトリへ移動
通常、benchmarks/scripts/tf_cnn_benchmarksへダウンロードされます。

$ cd benchmarks/scripts/tf_cnn_benchmarks

(4)ベンチマークの起動

tf_cnn_benchmarckではいくつかのモデルを使用しベンチマークを測定できますが、今回はResNet50、inception-v3、VGG16の3つのモデルを使用してベンチマークを計測しました。その他にnum_gpus=1、batch_size=32を指定しました。ResNet50を指定する場合、コマンドはこのようになります。

$ python3 tf_cnn_benchmarks.py --num_gpus=1 --batch_size=32 --model=resnet50

 

ベンチマークのスコアはこのように表示されます。
images/secの数値が高いほど、1秒間に処理できる画像の枚数が多く、ディープラーニング性能が高いということになります。

計測結果と考察

参考情報
POWERSTEP Tower: CPU Intel®Core™ i5-10600 3.3 GHz / 2 × DDR4-2666 16GB / 256 GB M.2 NVMe SSD
POWERSTEP VESA T3: CPU Intel®Core™ i5-10210U 1.6 GHz / DDR4-2666 16 GB / 256 GB M.2 NVMe SSD
GeForce RTX 2070 SUPER: ELSA GeForce RTX 2070 Super S.A.C VRAM 8 GB
GeForce GTX1080: ELSA GeForce GTX 1080 Founders Edition VRAM 8 GB
eGPU Box: AKTiO Node (500W)

PS=POWERSTEP

ResNet50でベンチマークを行った結果です。
TowerとVESA T3を比べると、Towerのほうが1.1倍程度高いスコアをマークしました。やはり、VESA T3はGPUを外付けしているため、そこがボトルネックになっているようです。
GPUで比較すると、TowerではRTX2070 SUPERのスコアがGTX1080に比べて約1.4倍高くなりました。やはり高性能なGPUのほうがディープラーニングの性能も高いようです。

 

inception-v3でベンチマークを行った結果です。
こちらもVESA T3よりTowerのほうが1.1倍程度スコアが高く、GTX 1080よりRTX 2070 SUPERのほうが1.4倍程度スコアが高いという結果になりました。

 

VGG16でベンチマークを行った結果です。
意外にもTowerとVESA T3のスコアがほぼ同じ、若干VESA T3のほうが高いという結果になりました。なぜこのような結果になったのかは不明ですが、VGG16は上記2つのモデルと比べて層数が少ないため、そのようなモデルではGPUを外付けすることの影響を受けないのかもしれません。
GPUの比較ではGTX 1080よりRTX 2070 SUPERのほうが1.3倍程度高いという結果になりました。

まとめ

POWERSTEP TowerでもVESA T3と同じ方法でディープラーニング環境を構築することができました。
ディープラーニング性能を測るベンチマークでは、VGG16以外はTowerのほうが高いスコアを得ることができました。より高度な処理を行う場合は、やはりTowerのほうが良いようですね。逆にそこまで高い性能を必要としない場合は、VESA T3と外付けGPUを使用したほうが場所を取らずGPUの付け替えも簡単なので良いかもしれません。また、GPUの性能が高いほうがベンチマークのスコアも高くなったので、ディープラーニングにおいても高度な処理を行う場合は性能の高いGPUがおすすめです。

今回はIntel®Core™ i5 第10世代を搭載したPOWERSTEP Towerで実験を行いましたが、お見積ではCore™ i7, i9を選択することも可能です!さらにGPUは今回使用したGeForceシリーズだけでなく、Quadroシリーズからもお選びいただけます!ぜひ用途に合わせたGPUをお選びください!

ほかにもメモリの増設やストレージの増設RAIDの構築なども可能です。詳しくはPOWERSTEP Tower製品ページ、見積依頼ページをご覧ください!

POWERSTEP Tower 製品ページ / 見積依頼ページ