（様式 20）成果報告書

TSUBAME 共同利用 令和元年度 学術利用 成果報告書

利用課題名 TSUBAME3.0 における TensorFlow アプリケーションの性能評価
英文：Performance Evaluation of TensorFlow Applications on TSUBAME3.0
利用課題責任者
三輪 忍
所属
電気通信大学 大学院情報理工学研究科
http://www.uec.ac.jp
邦文抄録（300 字程度） 深層学習は膨大な計算資源を必要とすることから，高性能計算環境上で分散処理されることが多い．分散学習に使用するデータセットの量は今後さらに増大すると予想されることから，高性能計算機システムの I/O 性能はますます重要になると考えられる．ところが，分散学習における I/O 性能を評価した研究は少なく，評価が十分とは言えない現状がある．そこで本研究では，いくつかの代表的な畳み込みニューラルネットワークを用いて，訓練データセットサイズ等のパラメータを変更した場合の TensorFlow による分散学習性能を評価した．その結果，メインメモリに収まらないサイズの訓練データセットを使用する場合でも，ファイルシステムから計算ノードへの訓練データの転送が性能上の問題とならないことを確認した．
英文抄録（100 words 程度） Deep learning requires many computing resources so that distributed
processing with HPC systems is widely used. Since the amount of datasets used for distributed deeplearning is expected to increase in the future, I/O performance will become much more important in
HPC systems. However, the I/O performance of distributed deep learning has not been wellinvestigated. In this study, we test the performance of distributed deep learning with TensorFlow
and some representative CNNs on TSUBAME3.0 while varying some parameters such as training
dataset sizes. Our experimental results do not show that data transfer from the file system to acompute node is a bottleneck in distributed deep learning even in case of using large datasets.

Keywords: TensorFlow, Distributed Deep Learning, CNN, Performance Evaluation, I/O

背景と目的
自動運転を始めとする幅広い分野で活用されているせとした結果，I/O が分散学習性能を律速するユースケースがほとんどなかったためと考えられる．

深層学習は多くの計算資源を必要とすることから，クラ本プロジェクトでは，TSUBAME3.0 と TensorFlow

ウド等の高性能計算環境において複数の計算機を使を用いて，将来のユースケース（具体的には訓練デー用して実行（分散学習）されることが多い．一方，深層タセットサイズが計算ノードのメインメモリサイズを超え学習に使用する訓練データセットは，多いものでは既にる場合）を想定した上で分散学習の性能評価と分析を3.5TB に達しており[1]，将来的にはさらに増大すること行い，次世代の高性能計算環境に必要とされる I/O 性が見込まれる．したがって，次世代の AI 向け高性能計能を明らかにすることを試みた．評価の結果，当初の算環境においては I/O 性能が重要になる可能性が高予想に反し，上述のユースケースにおいては，ファイルいことから，本プロジェクトでは将来の分散学習の要求システムから計算ノードへの訓練データの転送が性能I/O 性能を明らかにすることを目的とする．

上の問題とならないことがわかった．

高性能計算環境における分散学習性能評価はいくつか行われているが[2,3]，I/O 性能に着目して分散学

概要

習性能を評価した先行事例は少ないのが現状である．

本実験では，TSUBAME3.0 の計算ノード 1 台を評これは，従来の性能評価実験は，次世代の分散学習ア価に使用する．TSUBAME3.0 の各計算ノードは 4 台プリケーションを想定しておらず，評価対象を現存するの GPU を有しており，これら 4 台の GPU を用いて分システムアーキテクチャとアプリケーションの組み合わ散学習を行う．訓練データセットは，高速・大容量の外（様式 20）成果報告書
90,000ResNet50

80,000

学習時間[s]

70,00060,00050,00040,00030,00020,000Inception-v3

Vgg16

AlexNetTSUBAME3.0のメインメモリ容量：256GB
GPU数：4
バッチサイズ：256
ストレージシステム : 外部ストレージ
シャッフルバッファサイズ：10,000
エポック数：10

10,000
0
36.9

73.8

147.5

295.1

590.1

訓練データセットのサイズ[GB]図 1．訓練データセットサイズと学習時間の関係
部ストレージである Lustre ファイルシステム上に配置する．
評価には 4 つの畳み込みニューラルネットワーク（ResNet50, Inception-v3, Vgg16, AlexNet）を使用する．評価に使用した TensorFlow のバージョンは1.12 である．評価した分散学習方式は同期型のデータ並列である．訓練用データセットとして，ILSVRC2012データセットの学習用データ（データサイズ：147.5GB、画像枚数：約 120 万枚）をスケールして使用した．

結果および考察図 2．学習中の GPU の使用状況とデータ転送状況
モリから GPU メモリへのデータ転送イベントの時間は，GPU による計算イベントの時間によって完全に隠ぺいされており，前者のイベントは学習時間に影響を及ぼしていない．また，図には示されていないが，メインメモリから GPU メモリへのデータ転送の前に発生するはずの，外部ストレージからメインメモリへのデータ転送の時間も GPU の計算時間によって隠ぺいされている．な
お，GPU による計算は GPU 間のデータ転送によって中断されているが，これは複数 GPU 間で同期処理を行い，学習結果を共有しているためである．

異なるサイズの訓練データセットを用いて分散学習を行った場合の学習時間を図 1 に示す．グラフの横軸は訓練データセットサイズ，縦軸は学習時間である．バッチサイズは 256 とし，10 エポック分学習を行った．
グラフより，いずれのニューラルネットワークも学習時間は訓練データセットサイズに比例して増加する．特に，訓練データセットサイズが 147.5GB 以下（メインメモリサイズ以下）の領域と 295.1GB 以上（メインメモリサイズ以上）の領域を比較すると，学習時間の増分はほとんど同じであることがわかる．当初の予想では，訓練データセットサイズがメインメモリサイズを超える場合に I/O へのアクセスが多発し，学習時間の大幅な増加

まとめ、今後の課題
本実験では，メインメモリサイズを超える規模の訓練データセットを用いてノード内/データ並列方式による学
習 を 行 う ケ ー ス を 想 定 し ， TSUBAME3.0 上 でTensorFlow による分散学習の性能評価を行った．本実験により分散学習と TensorFlow に関する数々の知見が得られたものの，今回のユースケースでは I/O が分散深層学習の性能を律速する状況は残念ながら確認できなかった．今後は，I/O に対する要求性能がより厳しいユースケースにおける性能評価を行う必要があると考えている．

が起こると考えていたが，今回の実験ではそのような傾向は見られなかった．
図 2 に，AlexNet を学習中の GPU の使用状況とデータ転送状況のプロファイリング結果を示す．プロファイリングには NVIDIA Visual Profiler を使用した．図の横方向は時刻を表しており，各行はイベントの種類を表している．また，青色と黄土色の四角は，それぞれ計算/データ転送イベントを表している．なお，実験に使用した訓練データセットのサイズは 295.1GB である．
図より，訓練データを GPU へ転送する時間は性能上のボトルネックとなっていないことがわかる．メインメ

参考文献[1] T. Kurth, et al., “Exascale Deep LearningforClimateAnalytics,”

SC18,

pp.

51:1-51:12 (2018).
[2] X. Li, G. Zhang, et al., “PerformanceAnalysisofGPU-Based

Convolutional

Neural Networks,” ICPP, pp. 67-76 (2016).
[3] F. Chowdhury, et al., “I/O characterizationand performance evaluation of BeeGFS fordeep learning,” ICPP, pp. 1-10 (2019).