深層学習用PCについて

割と知名度が上がってきたのか深層学習の相談を受けることが多くなって参りました。

PC何買えばいいのくらいの汎用解でもメモっておきます。

 

1.GPUは用途次第だが

深層学習入門程度なら予算次第でTensorCore使えるGPUを積んでいればなんでも良い気がします。

その後,必要ならスペックアップするでしょうしその際でも深層学習を回すPCとコードを弄ってテストをするようなPCは分けておくと色々便利です。

メモリは多い方が良いと言いますが対象次第ですね。画像系言語系は多い目でしょうか。具体的なターゲットが未定ならとりあえず少し手を動かして様子見るしかないでしょう。

予算あれば買うべきGPUはちょい前ならRTX2080Ti,今ならRTX3090の一点です。

(これもコレが正解と言う意味ではなく最悪オーバースペックになる程度で無駄にならない選択という意味です)

 

2.デスクトップかノートPCか

これは言うまでもないですが,基本デスクトップです。

移動先でデモする人やどうしても全部クラウドでやる人のみノートPCを使うことになると思います。

実のところ同じ型式のGPUでもノートPC用の方が低スペック低電力になっています。そして恐らく高額です。(ミドル以下なら同スペック同価格帯っぽいです)

それから熱の問題です。深層学習用ノートPCとかゲーミングPCとかで排熱機構を売りにしているものがありますが,これらでも深層学習を一晩回すなどに耐える機構に思えません。基本的に熱設計は大きく重く作る方が高効率なのは物理的制約によるものです。

よくできた深層学習モデルはそこいらの高負荷ゲームの比ではありません。ゲームではフレームの処理に間に合うようにデータ処理を行い大半余裕がある状態で用いますが,機械学習では全演算器が最も効率よく働かせるため最大に負荷がかかるよう最適化します。

ということで,可能ならデスクトップで排熱に余裕のある構成にしましょう。

クラウドで行う人はデータのやり取りが非常に多くなりますのでその辺を考慮して下さい。(チュートリアルを全部Colabでやるようなのであれば何の心配も要りませんが)

 

3.LinuxWindows

Linuxで行うのが主流ですが,私はLinuxWindowsの両方でやっています。WSL2なども出てきていますが未だβが取れないので入門者が飛びつくものではありません。

Linuxに慣れた方ならLinuxで良いと思いますが,慣れていない人はWindowsで良いと思います。新しいことに挑戦するときは足掛かりが多いほど安心ですから一気にインフラまで変えるのは高リスクです。

やっていることの本質を理解した段階で必要か不要か自分で判断してプラットフォームを選んでください。但しMacお前はダメだ。

 

4.自作か市販か

GPUを選定する以上市販PCで適当なのを探すのは選択肢が非常に少なくなります。また,最新のGPUでコストパフォーマンスを求めるとなると尚更です。心配な人はDELLとかLenovoとかにしておけばいいでしょう。

自分で組んだ経験のある人は自分で組むでしょう。

そうでない方に個人的なお勧めはBTOでしょうか。パーツを選別してショップ側で組んでくれます。ある程度選択肢を絞ったものがありますが個別にお願いをすればGPUと電源だけパワーアップとか対応いただけることが多いのでお願いの打診くらいはしてみるものです。メモリやSSDなども後ほど増設する可能性があるなど希望を伝えておくとショップ側が柔軟に対応してくれたりすることもあります。

 

5.PyTorchかTensorFlowか

個人的にPyTorchを推しておきます。TensorFlowが悪いと言っているのではなく入門書や論文含めドキュメントの類に若干差が出てきているようなので分からない人にはPyTorchを推しておきます。クラウドでTPU使う人はPyTorchを無理に使うよりTensorFlowの方がいいのは言うまでもありません。

義理や信条などを優先して下さい。

 

6.Python以外は?

茨の道ですね。こういう質問をしている時点で忠告しても無駄でしょう。

一応「入門はやめとけ」と言っておきます。チュートリアルの類はPythonで書かれていることが多いのでそれは一回やっておくことをお勧めします。

 

以上のPC環境を整える金が無い人はGoogle Colabで入門しましょう。