主要なAIモデルにおける RTX シリーズ GPUのパフォーマンス比較検証②
弊社で提供しているオーダーメイドPC製作サービス TEGSYSでは、お客さまのご要望に合わせ、最適なスペックのPCをご提案しております。
前回の記事で、弊社で取り扱いのある現行GPUについて、TensorFlow、PyTorch等主要なAI、ディープラーニング環境での性能や優位性を比較検証しましたが、処理条件によるパフォーマンスのより詳細な比較にあたり、今回はバッチサイズを変更しての処理時間を計測いたしました。
[目次] 比較するGPUの仕様 |
比較するモデルの種類
パフォーマンステストに使用したモデルの概要は下記の通りです。
ResNet-50 | |
50層の畳み込みニューラルネットワーク、画像認識モデルで主に利用される | |
タイプ:畳み込みニューラルネットワーク (CNN) | タスク:画像分類 |
BERT | |
自然言語の文脈や関係性を処理するために主に利用される | |
タイプ:トランスベースのモデル | タスク:自然言語処理 (NLP) |
U-Net | |
医療画像解析で一般的に使用されており、画像内の観察対象の位置や範囲の抽出に利用されている | |
タイプ:畳み込みニューラルネットワーク (CNN) | タスク:セマンティック・セグメンテーション |
GPT-2 | |
大規模言語モデルで、テキスト生成、翻訳、質問応答など、さまざまな自然言語処理タスクを実行できる | |
タイプ:トランスベースのモデル | タスク:テキストと自然言語処理 (NLP) |
比較するGPUの仕様
比較に使用したGPUとスペックは下記のとおりです。
※RTX2080Tiは旧世代製品の比較参考のため掲載しています
Attributes | RTX 2080Ti | RTX 4090 | RTX A6000 | RTX 6000 Ada |
GPU architecture | NVIDIA GeForce RTX 2080 | NVIDIA GeForce RTX 4090 | NVIDIA GeForce RTX A6000 | NVIDIA GeForce RTX 6000 Ada |
CUDA core | 4352 | 16384 | 10752 | 18176 |
Tensor core | 544 | 512 | 336 | 568 |
RT core | 68 | 128 | 84 | 142 |
memory size | 12 GB GDDR6 | 24 GB GDDR6X | 48 GB GDDR6 | 48 GB GDDR6 |
memory bandwidth | Up to 616 GB/s | Up to 1008GB/s | Up to 768GB/s | Up to 960GB/s |
Maximum power consumption | 250W | 450W | 300W | 300W |
コンピュータ仕様
GPU以外のハードウェア仕様は、以下の条件に揃えてパフォーマンスを測定しました。
Chipset | Intel W790 |
CPU | Intel Xeon w7-2465X |
RAM | 合計64GB (DDR5-4800 ECC Registered 16GB x4) |
Storage | 1.92TB SSD S-ATA |
パフォーマンスの評価項目
パフォーマンスは、各GPUモデルでBatch Size を 8 / 16 / 32 / 64 / 128 / 256 / 512 / 1024 にそれぞれ設定した場合の 推論時間 “Inference Time” および 処理効率 で評価しました。
Batch Size | モデルを通過する1回のフォワードパスで一緒に処理されるインスタンスの数。 バッチサイズを大きくすると、GPUの使用率が向上することがよくあります。 |
Inference Time | モデルが与えられたバッチに対して推論を実行するのにかかる時間。 値が小さいほど高いパフォーマンスを発揮したことを示します。 |
Cases Per Second | 1秒あたりの処理インスタンスの数。 Batch Size / Inference Time で算出 |
処理効率 |
RTX 2080 Ti の8 batchesのCases Per Secondを100%とした場合の処理効率 |
測定結果
各GPUにおけるバッチサイズごとの推論時間 “Inference Time” を表とグラフで可視化しました。
なお、条件によりメモリエラーが発生した部分は表内では「MEMORY ERROR」と記載しています。 |
RTX 2080 Ti
Model | Batch Sizes | |||||||
8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | |
ResNet-50 | 0.75 | 0.83 | 1.05 | 1.56 | 2.73 | 4.85 | 8.73 | MEMORY ERROR |
U-Net | 0.19 | 0.23 | 0.33 | MEMORY ERROR | MEMORY ERROR | MEMORY ERROR | MEMORY ERROR | MEMORY ERROR |
GPT-2 | 0.22 | 0.23 | 0.27 | 0.29 | 0.37 | 0.54 | 0.94 | 1.96 |
BERT | 0.49 | 0.52 | 0.59 | 0.70 | 0.79 | 1.04 | 1.56 | 2.61 |
RTX 6000 Ada
Inference Times for Different Batch Sizes [Individual running -> One model with one batch at a time]
Model | Batch Sizes | |||||||
8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | |
ResNet-50 | 0.61 | 0.75 | 0.75 | 0.97 | 1.43 | 2.43 | 4.36 | 9.26 |
U-Net | 0.21 | 0.21 | 0.21 | 0.25 | 0.38 | MEMORY ERROR | MEMORY ERROR | MEMORY ERROR |
GPT-2 | 0.21 | 0.19 | 0.21 | 0.22 | 0.26 | 0.31 | 0.46 | 0.79 |
BERT | 0.45 | 0.41 | 0.40 | 0.40 | 0.47 | 0.58 | 0.94 | 1.43 |
RTX A6000
Inference Times for Different Batch Sizes [Individual running -> One model with one batch at a time]
Model | Batch Sizes | |||||||
8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | |
ResNet-50 | 0.82 | 0.92 | 1.06 | 1.36 | 2.03 | 3.40 | 6.22 | 11.87 |
U-Net | 0.21 | 0.21 | 0.24 | 0.33 | 0.47 | MEMORY ERROR | MEMORY ERROR | MEMORY ERROR |
GPT-2 | 0.18 | 0.18 | 0.20 | 0.23 | 0.26 | 0.31 | 0.48 | 0.77 |
BERT | 0.38 | 0.41 | 0.42 | 0.61 | 0.55 | 0.75 | 1.02 | 1.82 |
RTX 4090
Inference Times for Different Batch Sizes [Individual running -> One model with one batch at a time]
Model | Batch Sizes | |||||||
8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | |
ResNet-50 | 0.59 | 0.68 | 0.80 | 1.05 | 1.51 | 2.48 | 4.39 | 9.17 |
U-Net | 0.20 | 0.20 | 0.21 | 0.28 | MEMORY ERROR | MEMORY ERROR | MEMORY ERROR | MEMORY ERROR |
GPT-2 | 0.18 | 0.18 | 0.20 | 0.21 | 0.25 | 0.30 | 0.43 | 0.81 |
BERT | 0.35 | 0.36 | 0.39 | 0.40 | 0.43 | 0.57 | 0.70 | 1.13 |
GPU別の比較グラフ
GPU別のInference Timeと処理効率のグラフは以下の通りです。
Resent-50
Inference Time (推論時間) | 処理効率 |
U-Net
Inference Time (推論時間) | 処理効率 |
GPT-2
Inference Time (推論時間) | 処理効率 |
BERT
Inference Time (推論時間) | 処理効率 |
Batch size が大きいほど一回の処理に時間がかかりますが、今回のBatch Size検証の範囲では、処理効率はいずれのAIモデル、GPUモデルでも、Batch Size が大きいほど増える傾向が確認できました (Resnet-50 の512→1024 は一部下降が見られます) 。
Batch Size により学習の精度が変わるため、大きいほど精度が上がるとは言えませんが、計算処理の効率の観点では高 Batch Size の方が効率的と考えられます。
しかし、特にU-Net が顕著ですが、GPUメモリが少ないモデルにてBatch size を大きくした際にメモリエラーが発生する傾向を確認しています。
また、GPT-2 の RTX 2080Ti の処理効率のグラフより、Batch Size 256 以降の増加がみられません。RTX 2080Ti はGPUメモリ容量 (12GB) が他のGPUモデルの半分以下であり、処理時のエラーは出ないものの Batch Size 増大に伴う処理効率が頭打ちになっている可能性があります。
以上より、AIモデルの計算処理では、GPUメモリ容量が重要な要素の一つであると考えられます。
BERTではRTX 4090が他のGPUモデルより処理能力が高い結果が出ております。
同世代の、RTX 6000 Ada の方が、GPUメモリ、各種計算のCore数では上回っておりますが、Boost周波数 が RTX 6000 Ada が2505MHz、RTX 4090 が 2520 MHz と、ほぼ同等ではあるものの、コア周波数が RTX 6000 Ada が914MHz、RTX 4090 が 2235 MHz と、RTX 4090 が上回っており、最大消費電力もRTX6000adaが300Wに対してRTX4090は450Wに設定されております。
RTX 6000 Ada | RTX 4090 | |
Boost周波数 | 2505MHz | 2520MHz |
コア周波数 | 914MHz | 2235MHz |
最大消費電力 | 300W | 450W |
以上から、RTX4090は発熱量と引き換えに高クロックの状態を維持しやすい特性があり、この特性により、処理中の RTX 6000 AdaとRTX4090で動作周波数に差が開き、RTX4090の処理能力が突出した可能性が考えられます。
その他は、基本的には新世代のGPU、スペックの良いGPUの方の処理効率が高い傾向が確認できます。
ただ、使用するモデルやBatch sizeによりモデル間の処理能力に差が無い実行条件もあります。そのため、必ずしも最高スペックのGPUを採用することが最善とは限らず、実際の用途に応じて重要視するべきスペックを確認することが費用対効果の向上に影響すると考えられます。
おわりに
弊社では、AI・ディープラーニング用途向けのPCやワークステーション以外でも、お客さま個別のご要望に合わせ、最適なスペックのPCをご提案しております。
これまでのご提案実績や検証結果等のノウハウをもとにベストな提案を目指しておりますので、PC導入はお気軽にご相談ください。
DeepLearning環境における最適なGPU選びのご相談はお気軽に! 研究用・産業用PCの製作・販売サービス TEGSYS – テグシス |