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 H5 Flow |
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を避けられます。
特に自然言語処理をしたいならバッチサイズは重要です。
GPUのコスパはRTX3080(Ti)が高いみたいな評価をされますが、それはゲーム用途です。
RTX3080は12GBしかないので、機械学習ならRTX3090の圧勝です。
同じ理由でRTX4090もアウトです。メモリが同じ24GBなので、それこそコスパが悪い。
マザーボード
MSIのZ690 TOMAHAWKです。
参考にした動画では別のマザーボードを使っていましたが、在庫切れだったのでこれにしました。
取り付けの際に注意することは、意外と重いので落とさないようにすることです。
配線は公式HPの説明書を見れば初見でもなんとかなりました。
メモリ
16GB x 2枚にしました。
Kaggleのノートブックよりもメモリが大きければいいやくらいの感覚です。
取り付けはかんたんです。
ストレージ
SSDの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を使っているので、特に問題ないかなと思っています。
環境構築
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でストレスマッハな方はぜひ参考にしてみてください。
コメント