【Python】機械学習用の自作PC構築方法 | RTX3090

Python
DSC_0012
スポンサーリンク

Google Colaboratoryがクレジット制になり、GPUが使いづらくなったので自作PCを組みました。

目指すスペックは、

・Kaggleで戦える
・画像, 自然言語の学習がストレスなくできる
・できるだけ小さめのサイズで、ケチるところはケチる

です。

機械学習用に自作PCを検討している方はぜひ参考にしてみてください。

パーツ選定は、youtubeにあるMonorasさんの動画を参考にしています。

組立方法も動画内にあるので、見ながら組み立てましょう。

記事はあくまで参考にしてください。うまく起動しなかった等は自己解決をお願いします。

CPU12世代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です。

これは3090一択でした。なぜならメモリが24GBだからです。

メモリが大きいほどバッチサイズを大きくできますし、CUDA out of memoryを避けられます。

特に自然言語処理をしたいならバッチサイズは重要です。

よくyoutubeでGPUのコスパはRTX3080(Ti)が高いみたいな評価をされますが、それはゲーム用途です。

RTX3080は12GBしかないので、機械学習ならRTX3090の圧勝です。

同じ理由でRTX4090もアウトです。メモリが同じ24GBなので、それこそコスパが悪い。

取り付ける際の注意点はスペースの問題です
同じMSIのRTX3090でも、例えばSUPRIMだとサイズが336mmと大きかったりするので注意してください。

マザーボード

MSIのZ690 TOMAHAWKです。

参考にした動画では別のマザーボードを使っていましたが、在庫切れだったのでこれにしました。

CPUの世代によってソケットの規格が異なるみたいなので、そこは必ず注意しましょう。

取り付けの際に注意することは、意外と重いので落とさないようにすることです。

配線は公式HPの説明書を見れば初見でもなんとかなりました。

メモリ

16GB x 2枚にしました。

Kaggleのノートブックよりもメモリが大きければいいやくらいの感覚です。

取り付けはかんたんです。

ストレージ

SSDの1TBにしました。

参考動画では500GBになっていましたが、機械学習用なら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でストレスマッハな方はぜひ参考にしてみてください。

コメント

タイトルとURLをコピーしました