プログラミングや機械学習数年の経験を経ても、持っているGPUは小さくて、社外で勉強や開発できることが限られていることが多いため、自分のワークステーションを手に入れることに決めた。モデルをより速く学習させられ、スキルアップのペースもより速くなる。それに、フリーランスで働く方も、お客様はモデルを学習させる機会やAWSインスタンス等の提供、環境構築や設備維持する必要がなくなるし、アピールポイントになるかもしれない。
ただ、ワークステーションの良いものを購入しようと思ったら、専門店が販売しているGPU搭載パソコンは相当な金額になる。特にバッチの大きさを上げることや重いモデルを学習させるために、GPUが2台以上並列に走らせる必要がある。それに、GPU2台利用できると、同時にモデル2つを学習させるのも可能なので、パラメターの影響等がより簡単に理解できる。
より安くならないかと自分でパーツを買って、マシンを組み立てみた。ただ、最高のパソコンを作るためには、注意点がいくつかあるが、ハードウェアについての勉強にもなるし、お好みのパーツも選べる。一石三鳥。いろいろ調べて、注意点を以下列挙する:
1. 加熱
これは最も注意すべきことかもしれない。重い学習を動かすと、GPUが激しく熱くなる。決定されている温度を超えるとスロットリングしてしまって、学習が遅くなるし、ハードの寿命も損なう可能性がある。加熱を防ぐには、もちろん冷却が大事なのだが、GPUの種類も大変影響を与える。Nvidia RTXやGTXの場合は、2種類がある:「blower」(ブローワー)と「non-blower」(ノン・ブローワー)。
non-blowerのほうが普通なのだが、熱気がそのままケースの中に流れるので、GPUが2枚入っていると、下のGPUから上がる熱気が上のGPUを温めてしまう。参考にした記事には、GPUを4枚入れるケースに、2枚だけ入れたら問題がないと書いてあったが、試したところスロットリングしてしまっていた。
blowerのほうが珍しいが、熱気を直接拡張スロットからケースの外に放出するので、加熱はあまりしなさそう。ただ、blowerは音量が高くて、やはり他人に迷惑をかけそうで使いづらい。
余裕があれば、ハイブリッドGPUや水冷GPUにする手もある。
2. 拡張スロットやマザーボードのPCIスロット
多くのGPU、特に計算力が高いGPUが、1枚に拡張スロットが2つ必要。それは2~3枚載せるつもりであれば問題ないが、多くのケースにはスロットが7つしかないので、4枚使うのであれば、スロットが8つあるケースを購入する必要がある。それに、マザーボードPCIスロット数とスロットとスロットの距離を確認しなければならない。
3. PCIeレーン数
PCIeレーンは、PCIスロットとは違う。マザーボードは決定されている数があって、GPUも必要なPCIeレーンが決まっている。ゲームの場合は、総合的に必要なレーン数が足りないと動かないが、機械学習の場合は、メーカーが指定したレーン数より少なくてすむ。ただ、マザーボードによって、レーンの割り当てが変わるので、設定には気をつけなければならない。特に、速度が高いNVMe M.2というドライブもPCIeレーンが必要なので、使う場合は足りないと割り当てが上手くいかない可能性がある。
4. 電力
もっとも電力を使うパーツはGPUなのだが、一応余裕があったほうがいい。余裕を決める方法は決まっていないが、余裕がないと、重い学習を動かすと電源が落ちる可能性がある。
他には、コアの数、メモリとドライブの選択があるが、それはやりたいことに合わせていいかもしれない。それはGPUではなく、学習時点CPUにデータオーグメンテーションのような重い計算をさせるのと、初期ではなくバッチ毎データを読み込む場合注意点になる。
将来的にアップグレードする可能性があれば、それぞれのスロットやレーンの数や電源等の余裕があったほうがいい。
私が選択したパーツは以下となる:
パーツ | モデル | 値段(当時・税込み) |
---|---|---|
GPU | RTX 2080 Ti | 266,552(2枚) |
CPU | Intel i9 9820X | 65,990 |
マザーボード | X299TAICHI | 27,280 |
水冷CPUクーラー | Corsair H115i PRO RGB | 17,293 |
メモリー | Corsair 16GB DDR4 2666MHz | 34,980(4枚) |
NVMe M.2 SSD | Silicon Power 256Gb | 5,496 |
電源 | Corsair rm1000x | 17,778 |
ケース | Lian Li O11 case | 14,030 |
ファン | uphere 120mm | 1,880 |
総計 | 451,279円 |
ただ、初めて組み立ててみたので、闇雲にブログに書いてあったことに従って、作ったところいろいろミスしてしまった。後悔していることを以下に列挙する:
1. ハイブリッドGPUにしなかったこと
以前説明したとおり、ケースが多くても、blowerではないGPUが結構加熱することが多い。ハイブリッドGPUは値段はnon-blowerタイプよりそれほど高くない。そちらにすれば冷却の調整が思ったほど大変ではなかった。このままでは、加熱を防ぐためにファンを追加するしかない。
2. 冷却システムに合っていないケースを選択したこと
選択したケースはやはり格好いいけれど、実際水冷向けのケースだった。なので、直接GPUに吹くファンは付けられない。
3. 360mmのラジエターを選択しなかったこと
240mmのラジエターは、購入したケースでは、厚すぎて縦に付けられない。横にすると、空気口を完全に覆わないが、ファンを付けられる場所もないのでそのまま開いている。
金銭的に、意味がある?
専門店が販売する機械と比較すると、気をつけないといけない点がある。GPU2枚搭載ゲーム向けのパソコンは、SLI構成で組み立てられているが、機械学習非SLI構成が必要だ。
メーカ | モデル | 値段 | 出荷予定週間以内 | 保証期間 |
---|---|---|---|---|
iiyama PC | SENSE-R042-XW23-XYDVI | 593,978 | 6週間以内 | 1年 |
DEEP∞ | DEEP-TXAB-XW23-XYD | 626,978 | 6~8週間以内 | 1年 |
uniV | MAS-i9WX | 873,906 | 不明 | 1年 |
最も安いのは、iiyama PCが販売しているモデル、60万円ぐらいで、私が組み立てたものとは、14万円以上の差がある!もちろんパーツが違うが、私が品質の低いものを入れたわけではない。 それに購入しようと思ったら、出荷に相当な時間かかるらしい。しかし、パソコン全体を保証しているので、リソースが少ない研究者や小企業には便利だろう。ということは、金銭的な余裕より、時間的な余裕があれば、自分でワークステーションを組み立てるのもメリットがあるのではないか。
Tags: ハード, 機械学習