Google Colaboratoryがクレジット制になり、GPUが使いづらくなったので自作PCを組みました。
目指すスペックは、
・画像, 自然言語の学習がストレスなくできる
・できるだけ小さめのサイズで、ケチるところはケチる
です。
機械学習用に自作PCを検討している方はぜひ参考にしてみてください。
パーツ選定は、youtubeにあるMonorasさんの動画を参考にしています。

組立方法も動画内にあるので、見ながら組み立てましょう。
本記事はあくまで参考にしてください。うまく起動しなかった等は自己解決をお願いします。
CPU | 12世代corei7 |
GPU グラボ | MSI RTX 3090 VENTUS |
マザーボード | MSI MAG Z690 TOMAHAWK |
メモリ | Crucial DDR4 16GB x 2 |
ストレージ | Samsung 980 Pro 1TB |
ケース | NZXT H510 |
CPUファン | NZXT KRAKEN X63 |
電源 | Antec NE850G M White |
組み立て
CPU
12世代のcorei7です。少しケチってcorei9はやめました。
11 -> 12世代で性能が大きく上がって、11世代corei9 < 12世代corei7らしいので。
それとcorei9のほうが排熱が厳しそうなのも嫌だったのでこうなりました。
ただ、初挑戦の私でもすんなり取り付けられたので、丁寧に作業すれば大丈夫。
CPUグリスはクマグリスを使いました。
GPU
主役のGPUはRTX3090です。
メモリが大きいほどバッチサイズを大きくできますし、CUDA out of memoryを避けられます。
特に自然言語処理をしたいならバッチサイズは重要です。
よくyoutubeでGPUのコスパはRTX3080(Ti)が高いみたいな評価をされますが、それはゲーム用途です。
RTX3080は12GBしかないので、機械学習ならRTX3090の圧勝です。
同じ理由でRTX4090もアウトです。メモリが同じ24GBなので、それこそコスパが悪い。
同じMSIのRTX3090でも、例えばSUPRIMだとサイズが336mmと大きかったりするので注意してください。
マザーボード
MSIのZ690 TOMAHAWKです。
参考にした動画では別のマザーボードを使っていましたが、在庫切れだったのでこれにしました。
取り付けの際に注意することは、意外と重いので落とさないようにすることです。
配線は公式HPの説明書を見れば初見でもなんとかなりました。
メモリ
16GB x 2枚にしました。
Kaggleのノートブックよりもメモリが大きければいいやくらいの感覚です。
取り付けはかんたんです。
ストレージ
SSDの1TBにしました。
例えばKaggleのコンペなら、データをダウンロードしただけで数百GB使用します。
さらに元々インストールしているソフト等の容量もあって、合計で300GBは使うはずです。
そこからモデルの重みを保存したりするので、1TBないとストレスを感じると思いました。
取り付けは参考動画を見ればかんたんです。
ケース
NZXTのH510です。
買うならNZXT H510 Eliteのほうが良いかもしれません。
理由は次のCPUファンの欄に書いています。
取り付けの際に注意することは、まずマザーボードの固定が難しいです。
ネジで固定するのですが、長めのドライバーがないとほとんど作業できません。
下手にゴリ押しするとネジが潰れるかもしれないので、注意しましょう。
もう1つ、付属のネジ類は電源スペースに入っています。
私はネジがなかなか見つからず、20分ほど探し回りました。。。
CPUファン
NZXTのKRAKEN X63です。これも動画を参考に選びました。
280mmと360mmとで対応しているケースが違うみたいなので注意しましょう。
私の場合、ファンとラジエータがケース内部から見えるように取り付けています。

ですが参考動画では、ファンとラジエータの間に仕切り板が挟まれるようになっているので、ファンがケースの端にしまいこまれるようになっています。

要するに、
ラジエータがここまで赤色ラインギリギリになる予定ではなかった
ファンの幅の分だけ余裕があるはずだった
てことです。
この差がなんで起きているのかわかりませんが、とりあえずGPUが入るスペースは確保できました。

しかしラジエータとGPUとの距離がかなり近く、ギリギリ干渉していない程度です。
それに、これだとエアフローが滞りそうなので気になっています。
H510 Eliteならファンをケース端にしまい込むように取り付けられるみたいです。
なのでH510 Eliteのほうがスペースに余裕があり、エアフローも良いのかなと思っています。
ただ実際に買って組んでいるわけではないので、他に問題が生じるかもしれませんが。
電源
電源も動画を参考に選びました。850Wです。
GPUで350W、CPUで100W、その他のパーツで100Wくらいを見込むと、600Wくらい必要なはず。
実際にこの電源で動いていますし、GALLERIAのRTX3090モデルを見ると850Wを使っているので、特に問題ないかなと思っています。
ただ電源が故障するとパーツ全体に支障が出るらしく、また電源効率の面から、消費電力の倍は余裕があると良いみたいです。
なので、余裕があるなら1000Wを買うといいかもしれません。
環境構築
Ubuntuのインストール
機械学習用ならUbuntuを入れれば十分だと思います。
”Ubuntu インストール USB”で検索すればすぐできるので、それに従いましょう。
ただUSBを作るために別のPCが必要なので、何も持っていない人はwindowsとかが良いかも。
Nvidiaドライバーのインストール
ドライバーを入れないとGPUが認識されません。
検索したら色々な方法があります。私はこの記事に従いました。
“open”と書いてあるドライバーを入れるとうまく起動しませんでした。
Kaggle dockerのインストール
Kaggleのノートブックと自作環境とで、ライブラリのバージョンを合わせます。
この記事を参考にしました。
イメージ構築までは難なく進められると思います。
GPUがRTX3090の場合、pytorchのバージョンを変えないといけません。↓
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0+cu113 -f https://download.pytorch.org/whl/torch_stable.html
まとめ
今回は機械学習用PCを作ったので、同じ自作初心者向けに紹介しました。
初めて作ったのですが、なんとかうまく完成して良かったです。

最初の自作だから
練習がてら10万くらいで。。。
と悩んでましたが、思い切っていきなりハイエンドを狙って良かったと思います。
クラウドのGPUでストレスマッハな方はぜひ参考にしてみてください。
コメント