自宅で使う機械学習/ディープラーニング用PCの構成
機械学習用のPC構成を最初の頃に悩んだので残します。主にKaggleやディープラーニングで遊べる用途です。
現在利用しているPCの構成は以下の通りです。
CPU core i5 7600
GPU GTX 1080ti
MEM 64GB
SSD 512GB SATA
CPU
一番悩む部分でした。多くの機械学習ライブラリがGPUに対応しているので、GPUにお金を注ぎ込むのも選択肢の一つです。
ディープラーニングは2コアあれば十分ですが、XGBoostやLightGBMはGPUの恩恵が少なく、多コアのRyzenが圧倒的なパフォーマンスです。
個人的にはGPUが十分であれば、Core i5でも我慢できるレベルです。
※追記:コンペでCPUに頼る部分が多くなると、Core i5で後悔します。お金に余裕あればi7以上を買いましょう。
GPU
ディープラーニングではGPUのメモリが足りないと動かないのでメモリ量が最優先です。
GTX1050tiから1080tiに変えましたが、処理時間は3.5倍程度の向上でした。
- 安さ重視 GTX 1060 6GB
- コスパ重視 GTX 1070 8GB
- スペック重視 GTX 1080ti 11GB
複数GPUを刺すのは金額を気にする場合はやめた方が良いと思います。
複数刺してもメモリや速度は単純に倍にならず、CPU・マザーボード・電源・ケースも合わせて良いものにしないといけないからです。
GTX 1080ti *2に増設できるようにしていますが、勿体無かったかもと後悔中です。
メモリ
扱うデータ量によりますが、画像・音声・動画を処理する場合は多いほど楽です。
最低16GB、基本的には32GBあれば十分です。
64GBあるとKaggleの大量画像分類でもメモリ使用量を気にしなくて良くなります。
SSD
メモリに載せれるデータ量で殆ど処理できるのでSATAの256GB以上のSSDで十分です。
NVMe SSDはSATA接続のSSDより高速ですが、PCIレーンを4使用するのでCPUもCore i5以上が必要です。
マザーボード
CPUに合わせてどれでも良いですがファンコントローラーがあるのが好きです。
電源
ブロンズ以上で価格が安すぎないものなら何でも良いと思います。
電気効率が良いのはゴールド以上で容量はピーク使用時の50%が目安みたいです。
ケース
ディープラーニングは長時間稼働させるので、十分冷却できるケースが良いです。
静音重視の古いAntec P100を流用していますが、空冷ファンで十分排熱ができれば室温31℃で長時間稼働してもGPU65℃前後で安定します。
GPUが75℃を超える場合はケースやファンを見直した方が良いです。
OS
Windows環境にも各ライブラリの対応が進んで今は不便なさそうですが、LinuxのUbuntuで稼働させた方が使えるライブラリも多く、GPUメモリの空きが増えパフォーマンスは良いです。Windowsは別のSSDに入れて切り替えて使用しています。
雑感
AWSやGCPなどクラウドでも機械学習はできますが、学習やKaggleなど個人用途ならPC購入した方が最終的には安くなると思います。
ゲームやVRもやりたい人、パーツを差し替えていけばデスクトップPCは長く使えるので1台あると便利です。
2017年 時点での予算規模
安さ重視 | コスパ重視 | 性能重視 | |
---|---|---|---|
CPU | core i5 | core i5 | corei7/Ryzen |
RAM | 16GB | 32GB | 64GB |
GPU | GTX1060 | GTX1070 | GTX1080ti |
予算目安 | 12万 | 15万 | 25万 |