医用画像DeepLearning用マシン

お客様より、医用画像を利用したDeepLearningを行うためのマシンをご相談いただきました。
予算60万円の範囲内での提案をご希望で、検討における条件は以下の通りです。

・使用するソフトウェア:TensorFlow、Keras、Pytorch、CUDA
・OS:インストールなし (Ubuntu 22.04予定)

GPUでの学習を想定されており、提案構成でのGPU搭載可能数をご質問いただいています。
また、GPUメモリの容量とGPUの搭載数のどちらを優先するべきかについてもご質問を頂戴しました。

お問い合わせの条件を踏まえ、弊社からは下記の構成をご提案しています。

CPU Core i7-13700K (3.40GHz 8コア + 2.50GHz 8コア)
メモリ 32GB
ストレージ 1TB SSD S-ATA
ビデオ NVIDIA Geforce RTX4080 16GB
ネットワーク on board (2.5GBase-T x1) Wi-Fi x1
筐体+電源 タワー型筐体 + 850W
OS なし

第13世代Core i7を搭載した構成をご提案しました。

ビデオカードにはGeforce RTX4080を選択しています。
1ランク上のRTX4090とした場合、ご予算オーバーになってしまうため、コストを優先した選択です。
RTX4080も前世代のRTX3090とほぼ同等のCUDAコア数を搭載しているため、単純な処理性能の面ではハイエンドモデルに位置付けられます。

なお、ビデオカードの複数搭載につきましては、ご予算内での対応が難しいことから本件では考慮していません。
本事例の構成はビデオカード x1枚での運用を前提とし、カード増設非対応の構成となっております。
もし、ビデオカード x2枚を搭載可能な構成をご希望の場合は、ベース構成をワークステーション向けに最適化したものへと変更してご提案しますのでお知らせください。

■GPUメモリの容量とGPUの搭載数のどちらを優先するべきか

例としてGPUメモリ16GBのカード x1枚と8GBのカード x2枚のどちらが良いかというケースで考えますと、前者が優先されます。
ビデオカード x2枚の方が合計CUDAコア数が多くなると考えられますが、複数枚のビデオカードのリソースは基本的にCUDA上で別個のものとして管理されるため、カードをまたぐデータのやり取りが発生するようなプログラムはそのリソース管理をコーディングで処理する必要があります。
そのため、基本的には1枚のビデオカードでビデオメモリを確保する方が扱いやすいと考えられます。
この点は、ビデオカードの種類がGeforceかRTXシリーズかによっても事情が異なりますので、一概には言い難いのですが、本事例でのご相談に関しては、可能な限り高性能な (CUDAコア数の多い) ビデオカード x1枚がベストな選択です。

本事例の構成は、お客様から頂戴した条件を元に検討した内容です。
掲載内容とは異なる条件でご検討の場合でも、お気軽にご相談ください。

 

■キーワード

・DeepLearningとは
DeepLearningは機械学習の一種であり、多層のニューラルネットワークを用いて高度なパターン認識や予測を行う手法。一般的に大量のデータを必要とするため、データが豊富な場合に効果的な手法とされている。
また、DeepLearnigは画像認識や音声認識、自然言語処理などの分野で広く用いられている。複雑な特徴や関係性を学習することができるため、従来の機械学習手法よりも高い精度を発揮することができる。

参考:【特集記事】機械学習ってなんだろう ※弊社オウンドメディア「TEGAKARI」に飛びます

 

・TensorFlowとは
TensorFlowはGoogleがオープンソースとして公開している機械学習ライブラリ。PythonやC++など多言語に対応し、CPUやGPUを利用した高速な計算が可能。画像認識や自然言語処理、時系列データ処理といった用途に適しており、事前学習済みのニューラルネットワークを利用できることも特徴。大規模データセットでの学習が行えるため、最新の深層学習研究開発に幅広く用いられている。

参考:TensorFlow ※外部サイトに飛びます

 

・Kerasとは
KerasはPythonで書かれたディープラーニングのためのライブラリ。使いやすさと直感的なAPIデザインが特徴で、迅速なニューラルネットのプロトタイピングが可能。バックエンドにTensorFlowやTheanoを利用し、CPUとGPUの両方で動作する。また、Pythonで書かれているため柔軟に拡張ができ、研究開発用途に適している。

参考:Keras ※外部サイトに飛びます

 

・CUDA Toolkitとは
CUDA Toolkitは、NVIDIAが提供しているGPU向けのパラレルコンピューティングプラットフォーム。C/C++からNVIDIAのGPUアーキテクチャを利用した高速なパラレルプログラミングが可能。DeepLearningや科学計算、コンピュータグラフィックスなど、様々な分野でGPUの計算能力を活かすことができる。コンパイラ、ライブラリ、デバッガなどのツールが含まれており、SDKとして提供されている。マルチGPU環境もサポートしており、ワークステーションからクラウドまで幅広い環境で活用できる。

参考:CUDA Toolkit (NVIDIA Corporation) ※外部サイトに飛びます