地震動に関する機械学習のためのマシン

車両とロジスティクスの研究に携わるお客様より、地震動に関する研究を行うためのマシンをご相談いただきました。
大量のデータ学習を高速で実施するため、メモリやGPUの充実がご希望です。
お客様自身がPythonで開発したコードを用いた処理を行う予定ですが、SonyのNeural Network Consoleも補助的な役割で使用すると伺っています。

また、マシン導入における条件は以下の通りです。

・予算は100万円以内
・上記の予算内でRAMやGPUの容量をできる限り増やす
・GPU:Geforce RTX3090
・OS:Windows10

お客様からは「PCに詳しくないため、メモリやGPUの容量やバランスなどに不安がある」と伺っており、上記の条件を踏まえて適切な構成を提案して欲しいとご要望いただきました。

それらを踏まえ、弊社からは下記のスペック構成をご提案しています。

【主な仕様】

CPU AMD Ryzen7 7700X (4.50GHz 8コア)
メモリ 64GB
ストレージ1 2TB SSD M.2
ストレージ2 8TB HDD S-ATA
ビデオ NVIDIA Geforce RTX4090 24GB (内排気)
ネットワーク on board (2.5G x1 10/100/1000Base-T x1) Wi-Fi x1
筐体+電源 ミドルタワー筐体 + 1000W
OS Microsoft Windows 10 Pro 64bit

GPUを使用した機械学習では、GPUに搭載されているメモリの容量が重要になります。
GPUを使用した一般的な機械学習では、メインメモリから一旦GPUメモリにデータを移動してから動作します。
※お客様が自作したPythonコードが、マシン本体のメインメモリを重視する場合は例外です。
そのため、メインメモリがGPUメモリ+α以上に必要になるケースは少ないです。

■Point

・GPUメモリの容量が大きいと、GPU学習時のバッチサイズなどを大きく取ることができ、学習速度が向上する場合がある。(特に、大容量の画像データを使った学習の場合にこの傾向が見られる)

・GPUメモリ容量の大きな製品をおすすめしたいが、ご予算100万円に収めるのは難しい。

ご予算とGPUメモリの条件から、NVIDIA GeforceシリーズをGPUとする方針で検討しました。
ご指定のRTX3090は終息のため、後継のRTX4090としています。ビデオメモリ 24GBに対し、メインメモリは64GBと余裕のあるスペックです。

また、お客様からは以下のご質問をいただきました。

■Question

GPUとCPUの使い分けとして、下記の[1]~[3]を想定している。

[1]CPU側で学習用データの前処理を実施する。

[2]前処理したデータをGPU上に転送して機械学習を行う。

[3]GPU上で学習させたモデルによる予測結果等をCPU上で処理する

提案構成では、メインメモリとGPUメモリの容量差が大きい印象だが、GPUメモリを24GBから48GBに変更することは可能か。

GPUで学習させた場合はインファレンスもGPUで行うパターンが多いと思われます。[3]についてお客様に確認した結果、インファレンスや推定精度の評価、図化を想定しているとのことでした。
CPUのインファレンスは特殊な機能がなくても可能ですが、処理に大変時間がかかる場合があります。そのため、お使いのインファレンスプログラムが (GPUでいうところのCUDAのように) CPUハード側で用意しているベンダー専用の仕組みを使って組み込まれている可能性がないか、確認をお願いしました。
例えば、IntelのDeep Learning Boostを前提にソフトが組み込まれている場合、この仕組みが実装されているCPUを利用する必要があります。

参考:インテル ディープラーニング・ブースト (インテル DLブースト) ※外部サイトに飛びます

確認・ヒアリングの結果、インファレンス部分はCUDAによるGPU利用での対応であることが確認できたため、CPU側はIntel Deep Learning Boostなどを考慮する必要がないと判断しています。

また、GPUメモリの容量を増やす場合、ビデオカード自体を別の製品に変更する必要があります。
候補としてはRTX A6000 48GBが考えられますが、ご予算内での採用が難しいためRTX4090 24GBを選択している旨をお客様にお伝えし、ご理解をいただきました。ご予算に余裕のあるお客様は、RTX A6000に変更した構成でご案内しますので、お気軽にご相談ください。

 

■FAQ

・機械学習とは
機械学習は、データ蓄積により特定のタスクをコンピュータ上で実行できるようになる仕組み。
コンピュータが自律的に認識・予測精度を向上させる。
機械学習に関しては、弊社オウンドメディア「TEGAKARI」の関連記事をご覧ください。

参考:【特集記事】機械学習ってなんだろう ※外部サイトに飛びます

 

・Neural Network Consoleとは
Neural Network Console (NNC) はSonyが開発したディープラーニング・ツール。プログラミングをせずにDeepLearningを行うことができる。

参考:Neural Network Console (Sony) ※外部サイトに飛びます

 

・インファレンスとは
インファレンス (推論) とは、機械学習で問題を答えさせることを指す。
前のフェーズであるラーニング (学習) において、多くの学習データから分類や識別などを読み取り、パラメータを調節し、インファレンスで問題を解くのが、機械学習。
推論での回答結果に誤りがある場合には、学習フェーズに戻ってパラメータの調整を行い、再度推論を行って精度を高めることになる。