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

自作PCのアイキャッチ画像 Gadget

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 H5 Flow
CPUファンNZXT KRAKEN X63
電源Antec NE850G M White
費用を抑えたいなら、
・GPUを3090から変えて、メモリ重視で可能な限り安くする
・ストレージを500GBにする
・CPUの世代を落として、マザーボードも対応するものに変える
で良いと思います。
でも自然言語コンペはあきらめて画像用にしましょう。

組み立て

CPU

12世代のcorei7です。少しケチってcorei9はやめました。
11 -> 12世代で性能が大きく上がって、11世代corei9 < 12世代corei7らしいので。

それとcorei9のほうが排熱が厳しそうなのも嫌だったのでこうなりました。

取り付けの際に注意することは、マザーボード側のピン折れです。
ただ、初挑戦の私でもすんなり取り付けられたので、丁寧に作業すれば大丈夫。

CPUグリスはクマグリスを使いました。

GPU

主役のGPUはRTX3090です。

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

メモリが大きいほどバッチサイズを大きくできますし、CUDA out of memoryを避けられます。
特に自然言語処理をしたいならバッチサイズは重要です。

GPUのコスパはRTX3080(Ti)が高いみたいな評価をされますが、それはゲーム用途です。
RTX3080は12GBしかないので、機械学習ならRTX3090の圧勝です。
同じ理由でRTX4090もアウトです。メモリが同じ24GBなので、それこそコスパが悪い。

取り付ける際の注意点はスペースの問題です
紹介するケースとは別のものを使う場合は、スペースが確保できるか確認しましょう。

マザーボード

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

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

取り付けの際に注意することは、意外と重いので落とさないようにすることです。
配線は公式HPの説明書を見れば初見でもなんとかなりました。

メモリ

16GB x 2枚にしました。
Kaggleのノートブックよりもメモリが大きければいいやくらいの感覚です。

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

ストレージ

SSDの1TBにしました。

参考動画では500GBになっていましたが、機械学習用なら1TBないと厳しいと思います。

例えばKaggleのコンペなら、データをダウンロードしただけで数十~数百GB使用します。
さらに元々インストールしているソフト等の容量もあって、合計で200~300GBは使うはずです。

そこからモデルの重みを保存したりするので、1TBないとストレスを感じると思いました。
実際、自然言語系コンペだと500GB使ったことがあります。

取り付けは参考動画を見ればかんたんです。

ケース

NZXTのH5 Flowです。エアフローに特化したケースみたいですね。

取り付けの際に注意することは、まずマザーボードの固定が難しいです。
ネジで固定するのですが、長めのドライバーがないとほとんど作業できません。
下手にゴリ押しするとネジが潰れるかもしれないので、注意しましょう。

CPUファン

NZXTのKRAKEN X63です。これも動画を参考に選びました。

280mmと360mmとで対応しているケースが違うみたいなので注意しましょう。
今回紹介したケースなら280mmでもOKです。

電源

電源も動画を参考に選びました。850Wです。

GPUで350W、CPUで100W、その他パーツで100Wくらいとして、最大で600Wくらい必要なはず。

実際にこの電源で動いていますし、GALLERIAのRTX3090モデルを見ると850Wを使っているので、特に問題ないかなと思っています。

ただ電源が故障するとパーツ全体に支障が出るらしく、また電源効率の面から、消費電力の倍は余裕があると良いみたいです。
なので、余裕があるなら1000Wを買うといいかもしれません。

環境構築

Ubuntuのインストール

機械学習用ならUbuntuを入れれば十分だと思います。
”Ubuntu インストール USB”で検索すればすぐできるので、それに従いましょう。

ただUSBを作るために別のPCが必要なので、何も持っていない人はwindowsとかが良いかも。

Nvidiaドライバーのインストール

ドライバーを入れないとGPUが認識されません。
検索したら色々な方法があります。私はこの記事に従いました。

“open”と書いてあるドライバーを入れるとうまく起動しませんでした。

Kaggle dockerのインストール

Kaggleのノートブックと自作環境とで、ライブラリのバージョンを合わせます。
じゃないと、例えば同じnumpyを使っているのにエラーになったりするので。

公式dockerイメージはこちらにあります。

git clone https://github.com/Kaggle/docker-python.git
cd docker-python
./build --gpu

これでKaggleと同じ環境になります。かかる時間は30分くらいです。

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を作ったので、同じ自作初心者向けに紹介しました。
初めて作ったのですが、なんとかうまく完成して良かったです。

クラウドのGPUでストレスマッハな方はぜひ参考にしてみてください。

コメント

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