ゼロから始める機械学習

機械学習についての個人メモ

自宅で使う機械学習/ディープラーニング用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 SSDSATA接続のSSDより高速ですが、PCIレーンを4使用するのでCPUもCore i5以上が必要です。

マザーボード

CPUに合わせてどれでも良いですがファンコントローラーがあるのが好きです。

電源

ブロンズ以上で価格が安すぎないものなら何でも良いと思います。
電気効率が良いのはゴールド以上で容量はピーク使用時の50%が目安みたいです。

ケース

ディープラーニングは長時間稼働させるので、十分冷却できるケースが良いです。
静音重視の古いAntec P100を流用していますが、空冷ファンで十分排熱ができれば室温31℃で長時間稼働してもGPU65℃前後で安定します。
GPUが75℃を超える場合はケースやファンを見直した方が良いです。

OS

Windows環境にも各ライブラリの対応が進んで今は不便なさそうですが、LinuxUbuntuで稼働させた方が使えるライブラリも多く、GPUメモリの空きが増えパフォーマンスは良いです。Windowsは別のSSDに入れて切り替えて使用しています。

雑感

AWSGCPなどクラウドでも機械学習はできますが、学習やKaggleなど個人用途ならPC購入した方が最終的には安くなると思います。
ゲームやVRもやりたい人、パーツを差し替えていけばデスクトップPCは長く使えるので1台あると便利です。

2017年 時点での予算規模

  安さ重視 コスパ重視 性能重視
CPU core i5 core i5 corei7/Ryzen
RAM 16GB 32GB 64GB
GPU GTX1060 GTX1070 GTX1080ti
予算目安 12万 15万 25万