[論文レビュー] Comparative Analysis of CPU and GPU Profiling for Deep Learning Models
この論文は、PyTorchおよびNVIDIAツールを用いて、深層学習モデルのCPUとGPUプロファイリングを比較し、GPUが学習時間を顕著に短縮すること(20エポックでCPUでは13時間、GPUでは2時間)を示している。テスト精度は98–99%を維持している。バッチサイズによる時間、メモリ、電力、温度の違いを定量的に評価し、低バッチサイズではGPUメモリの未利用と、データ読み込み時のCPU利用率の高さを明らかにした。
Deep Learning(DL) and Machine Learning(ML) applications are rapidly increasing in recent days. Massive amounts of data are being generated over the internet which can derive meaningful results by the use of ML and DL algorithms. Hardware resources and open-source libraries have made it easy to implement these algorithms. Tensorflow and Pytorch are one of the leading frameworks for implementing ML projects. By using those frameworks, we can trace the operations executed on both GPU and CPU to analyze the resource allocations and consumption. This paper presents the time and memory allocation of CPU and GPU while training deep neural networks using Pytorch. This paper analysis shows that GPU has a lower running time as compared to CPU for deep neural networks. For a simpler network, there are not many significant improvements in GPU over the CPU.
研究の動機と目的
- 深層学習モデルの学習中にCPUとGPUのリソース利用状況を分析・比較すること。
- プロファイリングツールを用いて、学習ワークフローにおけるパフォーマンスボトルネックを同定すること。
- バッチサイズなどのハイパーパrameterが時間、メモリ、電力消費に与える影響を評価すること。
- CPUおよびGPU上で深層ニューラルネットワークの学習を最適化するための実用的インサイトを提供すること。
提案手法
- 2つのNVIDIA A6000 GPUとマルチコアCPUを搭載したシステム上で、犬と猫の分類器をPyTorchを用いて学習した。
- 各学習ステップにおける演算ごの時間とメモリ使用量をトレース・ログ記録するために、PyTorch ProfilerとTensorBoardを活用した。
- NVIDIAシステムコマンドおよびプロファイリングツールを用いて、GPUおよびCPUの利用状況、メモリ割り当て、温度、電力消費をモニタリングした。
- スケーラビリティとリソース消費の違いを評価するため、バッチサイズ64および128で実験を実施した。
- CPUとGPUのパフォーマンスを時間、メモリ、電力、推論スループットの各指標で比較するため、推論スループットと学習時間を測定した。
- データ転送などの時間のかかる演算を特定するため、オペレータ単位のプロファイリングを用いて実行の内訳を可視化した。

実験結果
リサーチクエスチョン
- RQ1深層ニューラルネットワークの学習中に、GPU利用状況とCPU利用状況はどのように異なるか?
- RQ2バッチサイズがGPUおよびCPUのメモリ消費量と利用状況に与える影響は何か?
- RQ3モデル学習中にCPUとGPUの電力消費量と温度はどのように変化するか?
- RQ4同じ深層学習モデルに対して、CPUとGPUでの学習時間の差は何か?
- RQ5CPUとGPUのデプロイにおいて、推論スループットはどのように異なるか?
主な発見
- 同じモデルをCPUで学習した場合、20エポックで約13時間を要したが、GPUではバッチサイズ64でわずか2時間で完了した。
- バッチサイズ64ではGPU利用状況が最大50%に達し、バッチサイズ128では70%にまで上昇し、より高いバッチサイズでスケーラビリティが向上していることが示された。
- CPUメモリ使用量はバッチサイズにかかわらず常に32 GB(全512 GB)で一定だったが、GPUメモリ使用量はバッチサイズが高くなるにつれてGPU:0で約3.4 GBから約5 GBに増加した。
- バッチサイズ128ではGPU:0の温度が69°Cに達したが、CPU温度は全設定で60–70°Cの間で安定していた。
- GPU:0の電力消費は300W中152Wに達したが、GPU:1はわずか23Wにとどまり、GPU間での負荷分散の不均衡が明らかになった。
- CPUでは1枚あたり5秒の推論時間だったのに対し、GPUでは2–3秒にまで短縮され、GPU推論のスループットに顕著な優位性が確認された。

より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。