ディープラーニング開発用のそこそこハイエンドな自作PCを作った
最近個人プロジェクトでディープラーニングを使った開発をしており、今まではGPUを利用する際はColabやGCPのGPUインスタンスを利用していたが、以下のような理由により少々窮屈になってきた。
- Colab Pro/Pro
- これまでのセッションが維持される限りの使い放題から、マシンスペック等に応じたユニット数の積算で月単位の利用可能が変わるクレジット制になった
- デフォルトのPythonのバージョンが3.7と明らかに古く、手元での開発を古い方に寄せるのが面倒で、かつColab側をセッションごとにバージョンアップするのが大変
- Google Driveをマウントした開発が可能ではあるものの、頻繁に更新するコードの管理に向いておらず、Colabから呼び出すときに意図したデータを読みこんでいるか常に不安になる
- GCP
そこで、気兼ねなく使えるディープラーニング開発用の自作PCを自作することにした。正直なところ自分が満足するスペックのPCを作る際の金銭的な支出はかなり大きく、クラウドなら何十,何百時間分に相当するだろうかと考えて頭を悩ませたものの、モノとして残るという心理的な安心感(?)や、プロジェクトの進捗の無さを紛らわすために何か手を動かしたいという現実逃避から、そういった決断をするに至った。
スペック選定
どんなPCを作ろうかと考えたときに、ディープラーニングの学習に耐えうるスペックというのはあらかた目星がついていたので、それまで利用していたGCPインスタンスのスペックを比較対象としつつ、以下のようなことを考えた。
- CPU
- ある程度普通のもので良い。コア数が多いと嬉しいかなくらい
- GPU
- メモリ
- 32GBだと結構厳しいときがあるので、64GBは欲しい
- その他
BTOや既製品も考えたが、妥協できない点とできる点が通常のゲーマーとはかけ離れていてカスタマイズに不安があること、なるべくはやく手に入れてたいということで、自作を選択。
一番検討が必要なGPUは、GPUメモリを基準に考えるとGeForce RTX 30シリーズの中では3090および3090Ti以外は選択肢に乗せられず、自ずと選択肢が絞られてしまった。4090のスペックの高さには心を惹かれてしまったが、入手性や金額を差し置いてあの物理的な大きさに圧倒されて候補から除外。他にはNVIDIA RTX Aシリーズも検討したが、入手の容易さや値段、リセールバリュー等を踏まえてこちらも候補から除外。
自作をする上で参考にした情報
私は自作PCは完全に初心者で、しかもmacOS以外の物理PCなんて15年ぶりくらいということで、構想時点では必要な知識が足りていなかった。おおよその部品の機能やスペックの情報は理解できるが、物理的な配線や製品の規格は苦手だった。事前準備としてメーカーやパーツ選び、組み上げ方などの学習は、基本的にYouTubeを活用した。一昔前なら書店で雑誌を買ってきて読み込むということをしていただろうと考えると、動画で情報が溢れていて便利な世の中だと思う。
- 自作PC動画編集用20万!神コスパ750FPS ゲーミングPC+組立て手順付2022年最新版!初心者向け予算別AMD Ryzen,Adobe,Premiere,Photoshop,Blender - YouTube
- 【自作PC】Palit RTX 3080 Tiで組むコスパ+ほぼ最強ゲーミングPC 4K120fpsでAPEXとFortniteが遊べる 5800X 使用 - YouTube
- PC内のケーブルの配線方法【4K】きずなあかり実況 - YouTube
各パーツの価格は基本的にAmazonやオンラインPCショップの情報を纏めて最安値を狙おうとはしたものの、経験の少ない自作初心者が複雑なことをして落とし穴にハマることを避けたく、また短期間で組み上げたいという理由から、秋葉原の物理店舗の数件を比較して安めのところでまとめて購入することにした。
購入したもの
主要なパーツ名と金額は以下の通り。キーボードとマウスは家にあったものを流用した。
name | type | Price |
---|---|---|
Fractal Design Define 7 Compact Black | ケース | ¥11,591 |
MSI B550 GAMING PLUS | マザーボード | ¥21,780 |
AMD Ryzen 9 5900X | CPU | ¥64,800 |
Palit NVIDIA GeForce RTX3090 | GPU | ¥173,800 |
Crucial DDR4 3200MHz 32GB x 2 | メモリ | ¥27,030 |
Western Digital SN770 1TB | SSD | ¥11,080 |
Antec NeoECO 850W PLATINUM | 電源 | ¥18,000 |
NZXT KRAKEN X63 | CPUクーラー | ¥19,800 |
その他グリスや細かいものを含めて、全体で35万円程度となった。まあまあな値段だと思いつつ、1世代前のハイエンドな構成が比較的安価で組めたので上出来ではないかと思う。
ちなみに、ケース以外のパーツは秋葉原に行って1回で全部購入したが、両手にはちきれんばかりの手提げを持って帰るのが本当に大変だったので、一部オンラインで買うか車を利用したほうが良かったかもしれない。
組み上げ
組み上げた結果はこんな感じ。仮組みもせず一発本番だったが特に失敗もなく、5,6時間程度で組み上げることができた。マザーボードにファンやケース部品の配線をするところで手こずったのは事前に予想していた通り。マザーボードをケースに付けた状態でケーブル取り回しのためにコネクタを何度か抜き差ししたが、作業しづらい狭さと暗さの状態での作業はピン折れしそうで危なかったなと後々思った。
おわりに
今回は、ディープラーニングの開発をするための自作PCを素人の自分が構築した流れを紹介した。実際にGPUで学習を回すまでのソフトウェアの準備もなかなか大変ではあったが、それはまた別の投稿で紹介したい。だいぶ楽になったとはいえ、人類はいつになったらCUDAのインストールに頭を悩ませなければいけないのか……。
いよいよこれで逃げられなくなってきたので、サンクコスト化しないように頑張ってディープラーニングを向き合いたいところ。