ディープラーニングモデルの学習に必要なGPU枚数

こんにちは、ネザーです。

本記事ではディープラーニングのモデルの学習に必要なGPU枚数の記事になります。

ディープラーニングモデルの学習にはGPU(もしくはTPU)が必須ですが、ネットワーク規模の大きいモデルの場合は1枚では学習に時間がかかるため複数のGPUを使って学習することがほとんどです。

では、どれくらいの枚数が必要なのかが気になりますよね。そこでPaper with codeのPyTorch Image Modelsの各モデルを学習するために使用したGPUと各モデルのパラメータを調べて下図のように箱ひげ図にしてみました。(縦軸はパラメータ数[Million]、横軸はGPU数)

画像1

ばらつきは大きいですが、大まかにみるとモデルのパラメータ数がGPU数が多いことが分かります。パラメータ数が5000万くらいであればGPUは8枚あれば十分そうですが、それ以上の場合8枚では足りなくなってくるようです。

また、モデルのパラメータ数とFLOPsの散布図も作成してみました。(縦軸はFLOPs[Billion]、横軸はパラメータ数[Million])

画像2

パラメータ数とFLOPsに相関があるのは当然ですね。GPU数で色分けした点数を見ると、GPUを8枚使って学習したモデルが多いようです。

ネットワーク規模は年々大きくなる傾向があるので、この結果と合わせて考えると、例えばディープラーニング用のGPUサーバを購入する場合は、できればGPUを8枚搭載したGPUサーバを購入するべきでしょう。


この記事が気に入ったらサポートをしてみませんか?