Deep Learning - Hardware - Software

旧式PCにRTX 2060 SuperでTF-GPU(3/3)

 低コストで自宅の旧式PCにRTX 2060 Superを追加してTensorFlow-GPUでGPUコンピューティングをする企画の最終回です。

 今回は前回よりもマトリックス計算が多い「Deep Convolutional Generative Adversarial Network(通称:DCGAN)」で0から9までの10個の画像を生成する処理を回した。なお、前回の処理速度計測時点との相違は下記の2点です。

  • 前回のシステム構成ではグラフィックカードのメモリーが8GBに対してPCのメモリーが6GBだったので、PCメモリーを12GBにした
  • 前回の処理速度計測では最も軽い部類の処理を行ったが、今回はGAN(Generative Adversarial Network)で画像を生成するという重い部類の処理を行った

 前回からメモリーを12GBに増強した後で、前回と同じ簡単なTensorFlow処理を行ったが、処理速度に改善は見られなかった。そこで、処理内容を重くして相違を見るというアプローチです。

結論

 外資系育ちなので結論を先に書くと、非常に大きな効果が観測できた。ここまでの効果は意外だった。

  • CPUでは1エポックに1,000秒の時間を要したが、GPUでは8秒という100倍以上の高速化がなされた
  • 重い処理であればあるほどGPUコンピューティングの優位性が明確であった

 CPUでの処理(独立した仮想環境の通常TensorFlow)では、CPUの稼働率が常に95%を超えた状態であった。メモリーは12GBのうち6GBほどを占有していた。GPUは2%ほどの稼働率でTensorFlowの処理には寄与していないことが確認できた(Fig.1)。

Fig.1 CPUでGAN(数字の画像生成)を行っている画面

 これに対し、GPUでの処理(独立した仮想環境の通常TensorFlow-GPU)ではGPU自体の稼働率は低く4%程度ではあったが、GPUのメモリー8GBのうち7GBを常に占有してTensorFlowの処理を行っていたことが確認できた。その際、CPU稼働率は25%弱を保っていた。メモリーはCPU稼働の場合とほぼ同じで12GBのうち6GBほどを占有していた(Fig.2)。

Fig.2 GPUでGAN(数字の画像生成)を行っている画面


 今回の実験・検証から、GPUがレベルアップすれば旧型のPCでも十分実用範囲内のTensorFlowのGPUコンピューティング環境は用意できると判断した。ただし、その効果は「処理が重いほど現れる」という認識を持った。なお、今回のケースではGPU稼働率4%に対して、GPUメモリーが8GBのうち7GBほどを占有していたので、処理する学習データのバッチサイズをもう少し減らしてあげれば小刻みにGPUにタスクが振られてGPU稼働率を上げてさらなる高速化が期待できると推測した(仮説)。

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments