- 「ディープラーニング用の、自作PCを作りたい!!」
- 「既にあるPCを、ディープラーニング用に改造したい!!」
- 「無人の家で長時間、ディープラーニングの学習のためPCを動かしているけど、出火しないか心配・・」
という方に向けた記事になっています。
本記事では、ディープラーニング用の自作PCを作成するに当たって
- 必要なスペック
- 注意点
- オススメのパーツ
をご紹介します。
本記事は、日本ディープラーニング協会E資格のエンジニアが執筆させて頂いております。
PCに必要なスペック
PCの構成部品
自作PCで作成するためには、
- GPU
- CPU
- マザーボード
- 電源
- メモリ
- SSD/HDD
- PCケース
の選定が必要になります。(その他、細々したものは省略しました。)
この順番で、ご紹介していきます。
本記事で紹介する「自作PC」は、
- プライベートでの使用
を前提としています。
GPUの選定
ディープラーニングにとって最も重要な、GPUの選定方法とオススメを紹介します。
(CPUに比べ、学習速度が10倍以上異なるため、GPU無しの学習は、困難です。)
- 「オススメのGPUメーカー」
- 「考慮するべき点」
- 「オススメGPU」
の順番で、ご紹介します。
オススメのGPUメーカー
「プライベート」での使用の場合、メーカの選択肢は
- NVIDIA ⇨ GPUの製品名「GeForce」
- AMD ⇨ GPUの製品名「Radeon」
となります。
両者を比べると、NVIDIAの方が、ディープラーニングの分野で、幅広く使用されています。
不具合時の情報収集等を考えると、NVIDIAをオススメします。
GPUに詳しい方へ
プライベートでの使用を想定しているため、「Quadro」シリーズ等は除外しております。
考慮するべき点
GPUの選定としては、
- VRAM(GPUのメモリ量)
- 処理能力
- TDP(発熱量)
を考慮する必要があります。
以下、順番に見ていきます。
まずはVRAM(GPUのメモリ)量!!
ディープラーニングの学習に「GPU」を使う場合、まず最初に重視するポイントは、VRAM(GPUのメモリ)量です。
- VRAM
- ビデオメモリ
- グラフィックスメモリ
上記は、全て同じ意味で使用されています。
筆者は、GPUのメモリ量が足らず、学習ができないという状況に、何回も陥りました・・
数百時間学習してから、止まってしまうと、ホント泣きそうに・・(涙)
GPUのメモリ量が足らない事例として、「StyleGAN」という、絵を作り出すモデルをご紹介します。
メモリ量8GBの場合、画質「256px × 256px」でオーバーフローしてしまいます。
その時の警告がこちらになります。
「StyleGAN」の概要は、下記動画が参考になります。
その他の情報として、メモリ8GBの場合、「VGG16」みたいな簡単なモデルでも、バッチサイズが32組(画像サイズ 224×224px)でMAXとなってしまいます。
生成AI「Stable Diffusion」を使う場合、Nvidiaの最新ドライバの使用により、
- VRAMが足りない場合、メインメモリ(DRAM)を使う
という機能が、追加されました。
ただしVRAMが足りない場合、速度低下を、招いてしまいます。
今後、ますます複雑なモデル、データの大容量化を考えると、
- 最低でも8GBは欲しいところ。
- 11GB以上が望ましい。
状況になります。
処理能力
GPUは、コア数が多い分だけ並列処理が可能となるため、処理能力が上がります。
またディープラーニングの場合、Tensor Core数も重要になってきます。
これはディープラーニングの高速化に役立つ技術で、学習速度を3倍位まで拡張できます。
処理能力の指標として、FLOPS(フロップス)が使われます。
floating point operations per secondの省略形です。
1秒間あたりに浮動小数点演算を何回実行できるかという指標になります。
「処理能力」はその他に
- 動作周波数を上げる
- メモリクロックを上げる
事により向上しますが、
「コア数(Tensor Core数も含む)」が、最も性能に効きます。
事実、オーバークロックしてみても、それほど効果が得られない状況です。
特にハイエンドグラボほど、あまり効果がありません。
TDP
TDPは、「Thermal Disign Power」(熱設計電力)の省略形で、
- 最大発熱量(電力量ではありません。)
を表します。
このTDPが大きくなると
- 電源が大容量化する。
- PCケース内に熱がこもりやすくなる
- 結果、部屋が熱くなる(夏は結構、悲惨になります・・)
という状態になります。
小さい方が望ましいですが、だいたい処理能力とトレードオフの関係になります。
GPUのオススメ
以上を踏まえて、GPUのオススメをご紹介します。
先程の3つの性能を一覧にしました。(VRAM 8GB以上のみを表示)
処理速度で見ると、RTX3090はRTX2080Tiに比べ、学習速度に約2倍の差があるとの事です。(ディープラーニングのモデル:ResNet50での検証結果より)
だいたいですが、CUDA Core数に比例している事が分かります。
表中のTDPは、「最大発熱量」で、「消費電力」ではありません。
「消費電力」は、TDPに 1.3 〜 1.5 をかけた値になります。
「CUDA Core」、「Tensor Core」、「RT Core(本記事では省略)」の違いを知りたい方は、下記記事が参考になります。
最高の性能を求める方
VRAM容量が24GBである、下記商品が候補となります。
- RTX 4090
- RTX 3090 Ti
- RTX 3090
筆者は、RTX3090 を保有しています。
画像生成AIである、「Stable Diffusion」を使用すると、500pxサイズの画像1枚ずつ作るだけでも、最低12GBは必要でした。
VRAMは、後から増加できないため、
- 重いモデル、重いデータでの「ディープラーニング」の学習ができない・・・
という事態を避けるためにも、オススメです。
冒頭で紹介した、処理能力を測るための指標の1つである、FLOPSをご紹介します。
下記グラフの単位は、TFLOPSです。
RTX3090の場合、35.58 TFLOPS つまり、浮動小数点の演算を、1秒間に35.58 兆回、実施できます。
性能と費用を両立したい方
メモリ量と処理速度を兼ね備えた「RTX 3070」がオススメです。
エコノミーで行きたい方
エコノミーで行きたい方は、「RTX 2080Ti、もしくは GTX1080Ti」がオススメです。
2つ前(3つ前)のフラッグシップを、型落ちという事で、安く購入する事ができます。
当分こちらを使い、限界が来たタイミングで、GPU交換も有りだと思います。
(こういう事ができるのも、自作PCならではのメリットです。)
パソコン工房さん等にて、中古品が購入できます。
CPUの選定
考慮するべき点
ディープラーニングに必要なCPUスペックを考えてみます。
ディープラーニング処理において、以下の処理はCPUが行っています。
- 入力データ読込み(画像読込み処理)
- ディープラーニングに投入する前の、データの前処理
- ディープラーニング処理後の、データ処理(画像を表示する等々)
等々
CPUの処理能力が遅すぎると、上記処理がボトルネックになってしまい、全体のパフォーマンスが落ちます。
しかし、ミドルレンジ以上のCPUなら、それほど気にする必要はありません。
(ゲームの世界では、CPU性能により、全体性能が大きく変わるというデータがあります。)
注意:
データの前処理が多いモデルでは、CPUにより、全体性能が変わってきます。
そういう使い方の場合は、「ハイエンド」CPUをオススメします。
ディープラーニング以外の機械学習を多用される方も多いかと思います。
その場合も、CPU処理が多くなるため、ハイエンド品(Intelの場合、Core i7以上)をオススメします。
「簡易水冷」以上が必要となるCPUは避けた方がいいと思います。
「簡易水冷」異常になると、音が大きいです・・
特にディープラーニングの場合、何日間もPCが動き続ける事が多いため、とても気になります。
ハイエンドCPUを選択する場合、以下の2つのCPUクーラーが、「空冷」仕様で、最も優れた商品となります。
静かなCPUクーラーが欲しい方
オーストリアのCPUクーラーメーカーである、Noctuaのフラッグシップ品です。
- 150mm径の大型冷却ファン2基搭載、
- 12本のヒートパイプ、
- ツインタワー型大型ヒートシンクで、
効率的な冷却を可能にしたサイドフロー型ハイエンド空冷CPUクーラーとなっています。
回転速度も自動制御になっており、筆者も使用していますが、本当に静かです。
空冷の最高品を手に入れたい方
打倒「Noctua NH-D15」を目標に開発した一品です。
(この子が世に出るまで、「NH-D15」が王者でした。)
- 140mm径の冷却ファンを2基搭載、
- 14本のヒートパイプ、
- ツインタワー型大型ヒートシンクで、
効率的な冷却を可能にしたサイドフロー型ハイエンド空冷CPUクーラーです。
「NH-D15」に比べ、ちょっと「音」が大きいです。
もちろん、回転速度は自動制御機能は付属しています。
マザーボードの選定
考慮するべき点
CPUに合わせた、チップセットの選択
チップセットというのは、Z690・H670・B660・H610 等々です。
CPUを調べてば、対応チップセットを把握する事ができます。
CPUに対応するチップセットを確認の上、マザーボードを選択して下さい。
マザーボードのサイズ
マザーボードにはサイズにより、3種類あります。
大きい順番に
- ATX (305 × 244 mm)
- Micro-ATX (244 × 244 mm)
- Mini-ITX (170 × 170 mm)
です。
初心者の場合、標準サイズである、ATXを選ぶのが無難です。
(拡張性の高さが(USBとか、GPUとか、数多くのモノを接続する事ができる)、主な理由です。)
また最近のGPUは大型化しているため、スペース的にもATXがお薦めです。
RTX 3090の場合、3スロット分の厚さがあるため、スペースの検討は必須になってきます。
GPUが納まりきらない場合、GPUのライザーケーブルというものがあります。
下記写真は、筆者が使用している物になります。
マザーボードの耐久性
ディープラーニングで使用する場合、長時間、PCを使い続けるので、耐久性が重要になります。
マザーボードの寿命は、電解コンデンサの寿命で決まる事が多い状況です。
その対策として、例えばASRockの場合、12,000時間耐久の「ニチコン製 12K ブラックコンデンサ」等が有名です。
マザーボードのオススメ
上記3つ(チップセットはMUSTです。サイズや耐久性はWANTレベル)を兼ね備えたものなら、特に何でも大丈夫だと思います。
(マザーボードの機能として、CPUを安定動作させるための「フェーズ」というものがありますが、ディープラーニングで使う場合、それほど重要視する必要もないと思います。
CPUをオーバークロックする必要もないので・・・)
情報は、たった、それだけ!?
「LEDがキラキラしたモノがいい!」とか、「WiFiが欲しい」とか あとは好みの問題かと・・
以下、補足情報です。
M.2を搭載しているモデルがいいかと思われます。(OSが爆速で立ち上がるのは快感です!)
また「NVLink」という、GPU2枚刺し時に、約2倍の性能を発揮させるためには、マザーボードが対応している必要があります。
電源の選定
「電源」の選定にあたり、「考慮するべき点」3点を見た後に、オススメを紹介しています。
考慮するべき点
まずは、「PCIe」のコネクタ数を確認
最近のGPUは、大電力を消費する傾向にあります。
当然、マザーボードからの電源供給だけでは足らないので、別途、電源を供給する必要があります。
下記GPUのケースでは、補助電源「PCIe」のコネクタ2本を、電源より持ってくる必要があります。
電源を購入する前に、電源の「PCIe」のコネクタ数を確認して下さい。
(マザボによっては、CPU電源へのコネクタ数が、2本必要な物もあります。
その場合、上記の電源では、PCIeに回せるコネクタは、2本だけになってしまいます。)
付属するPCIeケーブルが足らない場合
他社品の電源に付属しているケーブルを、流用するのはNGです。
電源側のコネクタピンの仕様は、各社で規格が異なるためです。
(PCIeタコ足配線とか、ペリフェラルからの変換ケーブルも売っていますが、GPUへの使用は基本はNGです。
ペリフェラルは定格電力60Wに対し、PCIeは8ピンで150Wです。
最悪、火が出ます。)
例えば、SeasonicのFOCUS+ PX 750Wを購入した場合、PCIeケーブルが2本しか付属していません。
GPU2個を使用したい場合、4本のPCIeケーブルが必要になるケースがあり、本数が足らない状況になります。
またSeasonicの場合、ケーブルのみは販売しておりません。
この場合、CableMod という、様々な電源メーカーに対応したケーブルを作っている会社で購入できます。
リンクはこちら
↓ 筆者も購入して、使用しています。
ケーブルの長さ、色はカスタマイズ可能です。
「電源容量」
結論からいうと、PC全体の消費電力の1.8〜2倍位を目安に「電源容量」を選択するのが望ましいです。
(最低でも、1.2倍の「電源容量」を確保したい所です。)
理由は、「耐久性と電力効率」にあります。
ディープラーニングは、
- 日夜ずっとPCを回し続ける
という使い方をするため、「電源容量」に余裕がないと、「電源」の内部温度が高い状態が続いてしまいます。
「電源」もコンデンサにより寿命をむかえる事が多く、その「コンデンサ」は熱に弱いという特性をもっています。
また「電力効率」は、「電源容量」の50%位が最もいい性能を発揮します。
電源の品質(メーカの選定)
結論からいうと、品質の定評のある「Seasonic」がオススメです。
他社製品の電源は安い物も多いですが、Amazonのコメント欄を見てみると分かりますが、
- 急に電源が煙をあげた、
- 起動したら、電圧異常でマザーボードが死んだ
という話が後を耐えません・・。
特にディープラーニングは、長時間(数日、数ヶ月レベル)、しかも無人の状態で、GPUがほぼ100%近く回り続けるので、品質には目を配りたい所です。
「Seasonic」の電源は
- 高品質コンデンサの使用
- 長寿命(10年)なのに、流体動圧軸受ファンの搭載(ファンの回転が静か)
が特徴です。
電力効率
電力効率は、6段階で分類されています。(下記に加えて、STANDARDがあります。)
「TITANIUM」認定の電源が、最も高い電力効率となっています。
(つまり、ロスが少なく、省エネに繋がります。)
下記の表に、各負荷状況時の電力効率を表しています。
この表からも、負荷率50%で使うのが、最も電力効率が高い事が分かります。
電源のオススメ
Seasonicの電源と、ハイエンドRTX3000シリーズの組合せで、PCが落ちる不具合が発生しています。
「現在、発売中のものは問題なし」と、Seasonicからの見解がありました。
2020年12月以前の製品で、不具合が発生する可能性があるとの事です。
詳細は、下記リンク記事を、ご参照ください。
最高を求める方
品質に定評のある「Seasonic」の、最高電力効率「TITANIUM」がオススメです。
電源BOXに接続できるコネクタ数も、最も多い仕様になっています。
◇ 電源850W仕様 (PRIME-TX-850S)
◇ 電源750W仕様 (PRIME-TX-750)
性能と費用を両立したい方
品質に定評のある「Seasonic」の、2番目の電力効率「PLATINUM」がオススメです。
◇ 電源1000W仕様(PRIME-PX-1000S)
◇ 電源850W仕様(FOCUS-PX-850S)
◇ 電源750W仕様(FOCUS-PX-750S)
エコノミーで行きたい方
品質に定評のある「Seasonic」の、3番目の電力効率「GOLD」がオススメです。
値段がだいぶ、安くなります。
◇ 電源850W仕様(FOCUS-GX-850S)
◇ 電源750W仕様(FOCUS-GX-750S)
◇ 電源650W仕様(FOCUS-GX-650S)
PCからの出火が怖い方へ
PCの出火の原因して、
- 電源部分のトラッキング
- ほこり由来
- 電源ユニット等のコンデンサ由来
が挙げられます。
「家を無人にして、ディープラーニングで回し続けて、大丈夫だろうか?」と思われる方も多いと思います。
そのような方にオススメの商品がこちらになります。
この商品をPCの上に置いておけば、火を検知すれば、自動消火されます。
最後の砦という事で、筆者宅でも、使っております。(家の全焼は、マジ怖いです・・・)
メモリの選定
ディープラーニングに使用する「教師データ」は、基本的には、メインメモリに上に展開されて使用されます。
(学習自体は、もちろん、GPUで実施されます。)
ディープラーニングの「教師データ」は大量に必要な傾向にあるため、16GBでも厳しい所です。
最低、32GB以上欲しい所です。
ディープラーニングは、普通は、ミニバッチ単位で学習を行います。
よって、ミニバッチ分の入力データのみをメインメモリに展開するという方法で、メインメモリ量を節約する事も可能です。
どうしてもメモリ量が足らない場合は、この方法を検討してみて下さい。
SSD/HDDの選定
ディープラーニングに使用する場合、大量の学習データを扱うケースが多いと思うので、最低でも1TB以上は欲しい所です。
後は、読み込み速度(通信速度)がどこまで我慢できるかで、SSDにするか、HDDにするかの選択となります。
この当たりは、費用とのバランスになるかと思います。
一度でも、SSD(M.2)に慣れてしまうと、もう後戻りができない位、快適です。
店舗等で試してから、検討してみてもいいと思います。
PCケースの選定
選定に必要な考慮するべき点
PCケースの選定をミスすると、
- 排熱処理が間に合わなかったり、
- GPUが、PCケースに入らない状況になります。
その点に、気を付けて頂ければと思います。
PCケースのオススメ
そのような問題を解決策として、オープンフレームの採用があります。
(今後も見据えると、GPUが巨大化していく可能性もあり、その場合でも対応が可能です。)
オープンフレームは、以下の物がおすすめです。
長尾製作所 オープンフレーム
サーマルテイク オープンフレーム
こちらは、筆者家で使っているモノになります。
今の所、大きな不満点がありません。
ただ思った以上に大きいので、事前に検討して頂ければと思います。
最後に
色々説明してきましたが、とにかく「GPUと、それに電力を供給する電源」が重要です。
予算が厳しい場合、GPUと電源以外のものは、多少優先度を下げてもいいかと思われます。
PCをディープラーニングに使用する場合、OSは「Ubuntu」を選択するのが、標準になってきます。
そちらの使い方も、当ブログにて、紹介していきたいと思っています。
また、ディープラーニングとは何なのか? 興味のある方を対象に
- 入門者でも直感的に理解できるよう、イメージを使った解説記事
を記しました。
それでは、快適な「ディープラーニング」生活を!