2021 Fiscal Year Research-status Report
畳み込みニューラルネットワークのGPU上での学習時間の予測
Project/Area Number |
21K11834
|
Research Institution | Chiba Institute of Technology |
Principal Investigator |
BRYZGALOV PETR 千葉工業大学, 人工知能・ソフトウェア技術研究センター, 主任研究員 (70709691)
|
Project Period (FY) |
2021-04-01 – 2024-03-31
|
Keywords | 畳み込みニューラルネットワーク / CNN / GPU性能 / 性能予測 / ミニバッチサイズ / PyTorch |
Outline of Annual Research Achievements |
CNN 学習時間を予測するモデルの構築にあたって、先ずはPyTorchで実装された CNN を対象にした。モデルの汎用性を高める目的でなるべく多くのマシンやソフトウェア環境で、CNNの学習時間を広範囲のミニバッチサイズにおいて記録した。具体的には、クラウド計算機や科研費で購入したものを含む所有しているマシンで、合わせて8種類のGPUで、複数のPyTorchとcuDNNライブラリのバージョンで、多いところで 14種類の CNN の学習時間を記録した。 各マシンとソフトウエア環境の組み合わせに対し、プロクシアプリDNNMarkを用いて畳み込み層の計算時間をベンチマークした。複数のcuDNN ライブラリのバージョンに対応するためDNNMarkの改良を行った。更に、より正確にPyTorchで実装されたCNNの計算時間をベンチマークするため、DNNMarkにGPU ウォーミングアップ機能や、GPU キャッシュメモリを利用する機能を追加した。 以前構築した、未知のミニバッチサイズに対して CNN 学習時間を予測するモデルを用いて実験したところ、畳み込み層だけではなく、バッチ正規化層や全結合層のベンチマークを使用することにより、より精度の高い予測ができる場合があることがわかった。そのため、バッチ正規化層と全結合層をベンチマークする機能をDNNMarkに追加した。 小さいミニバッチサイズにおいては GPU 以外のところの性能がボトルネックになっていることがわかった。小さいミニバッチサイズにおいて予測精度を向上させるために、DNNMarkにCPUベンチマーク機能を追加し、またPyTorch のCNN学習においても、CPU時間を記録できるようにした。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
1。DNNMarkでベンチマークしていた畳み込み層などの計算時間はPyTorchで行われている畳み込み層などの計算時間よりは大きいことがわかった。この問題に対処するため、当初から予定していなかった DNNMark の改良が必要になった。 2。PyTorchとDNNMarkが利用しているcuDNNライブラリには、バージョン7から8に変わる際、大幅な変更があり、新しいPyTorch と cuDNN バージョンに対応するため、DNNMarkにも大幅な変更が必要となった。 上記の機能の追加や改良の実装に時間がかかったため遅れが生じた。 3。CNN 学習においては小さいミニバッチサイズで GPUの性能ではなく、CPUの性能がボトルネックになっていることがある。CNN学習はcuDNNなどのライブラリを利用してGPU上で行われているため、CPU上の計算時間はミニバッチサイズ(データの量)に依存しないと、当初考えていたが、実際はミニバッチサイズと共に上昇している場合があることが分かった。そのため、今までのアプローチでは、即ちDNNMarkでベンチマークした畳み込み層などの計算時間とCNNのパラメータから、CNN 学習時間を予測することは極めて困難であることが分かった。従って、小さいミニバッチサイズ(CPU性能)を考慮した新しい予測アプローチが必要となった。新しいアプローチの検討を行っているため予定より時間がかかった。
|
Strategy for Future Research Activity |
与えられたPyTorchで実装されたCNNとミニバッチサイズとマシンに対して、プロクシアプリ DNNMark の畳み込み層などのベンチマークデータを利用し、CPU性能とGPU性能を考慮してCNN学習時間を予測するモデルを構築する。構築した予測モデルの、なるべく多くのマシン・CNNに対しての評価を行う。十分な予測性能を得られた場合は、TensorFlowで実装されたCNNのための学習時間予測モデルを構築する。その際、必要に応じてプロクシアプリ DNNMark の改良を行う。TensorFlow用の予測モデルの評価を行う。 性能の高い予測モデルを構築できた場合、予測モデルを以前作成したGPU搭載クラウド計算機の比較ツールと連携させる。
|
Causes of Carryover |
クラウド計算機は、割引などを利用し予定より低い使用額になったため未使用額が生じた。 未使用額は2022年度にクラウド計算機に使用する予定である。
|